Puzzle

Puzzle is real-time, AI-native accounting software for startups and accounting firms. It builds a continuously reconciled general ledger on top of connected Stripe, bank, card, and payroll data and surfaces financial statements plus startup metrics like burn, runway, and margin. The Puzzle API exposes that same real-time financial data hub and general ledger over a RESTful, OAuth 2.0-secured JSON interface. As of this catalog entry the API is in an active-development, partner-gated rollout, available to platform partners building embedded accounting and to large accounting or advisory firms; individual companies join a waitlist.

8 APIs 0 Features
AccountingFintechGeneral LedgerFinancial ReportingBookkeepingStartupsEmbedded AccountingMetrics

APIs

Puzzle Companies API

Read a partner's connected companies and their accounting configuration. Company IDs returned here scope every other Puzzle API call, which is nested under /rest/v0/company/{id}.

Puzzle Transactions API

Retrieve the normalized, categorized transaction feed Puzzle ingests from connected bank, card, Stripe, and payroll sources for a company, via GET /rest/v0/company/{id}/transact...

Puzzle Ledger Accounts API

Access the chart of accounts and ledger account balances that make up a company's real-time general ledger, supporting both cash and accrual bases.

Puzzle Journal Entries API

Read and sync double-entry journal entries against a company's general ledger, enabling programmatic close and reconciliation workflows.

Puzzle Financial Reports API

Generate real-time financial statements - income statement (P&L), balance sheet, and cash activity - for a company over a requested reporting period.

Puzzle Metrics API

Pull the startup finance metrics Puzzle derives from the ledger - cash balance, monthly burn, runway, gross margin, and revenue - for dashboards and financial planning tools.

Puzzle Categories API

Read the categories, classes, departments, and projects Puzzle's AI categorization uses to code transactions, so partners can mirror and reconcile classification.

Puzzle Integrations API

Inspect the upstream data connections (Stripe, banks, cards, Mercury, Ramp, Brex, Gusto and other payroll) that feed a company's Puzzle ledger, and their sync status.

Collections

Pricing Plans

Puzzle Io Plans Pricing

4 plans

PLANS

Rate Limits

Puzzle Io Rate Limits

3 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔑
OAuthScopes
OAuthScopes
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
📝
SignUp
SignUp
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Puzzle Accounting API
  version: 0.19.0
  description: Real-time general ledger and financial data hub API for Puzzle. Partner-gated. Confirmed server https://staging.southparkdata.com;
    confirmed pattern GET /rest/v0/company/{id}/transactions. Other paths follow the documented resource sections and the
    confirmed /rest/v0/company/{id}/... pattern and are unverified against the gated reference.
request:
  auth:
    type: bearer
    token: '{{accessToken}}'
  baseUrl: '{{baseUrl}}'
variables:
- name: baseUrl
  value: https://staging.southparkdata.com
- name: accessToken
  value: ''
- name: companyId
  value: ''
items:
- info:
    name: Companies
    type: folder
  items:
  - info:
      name: List companies
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/companies'
    docs: List companies accessible to the partner (unverified path).
  - info:
      name: Get a company
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Retrieve a single company (unverified path).
- info:
    name: Transactions
    type: folder
  items:
  - info:
      name: List transactions
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/transactions'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: 'Confirmed endpoint: normalized, categorized transaction feed for a company.'
- info:
    name: Accounts
    type: folder
  items:
  - info:
      name: List ledger accounts
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/accounts'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Chart of accounts and ledger balances (unverified path).
- info:
    name: Journal Entries
    type: folder
  items:
  - info:
      name: List journal entries
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/journal-entries'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Double-entry journal entries (unverified path).
- info:
    name: Reports
    type: folder
  items:
  - info:
      name: Get income statement
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/reports/income-statement?startDate=&endDate='
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Real-time income statement / P&L (unverified path).
  - info:
      name: Get balance sheet
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/reports/balance-sheet?asOf='
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Real-time balance sheet (unverified path).
- info:
    name: Metrics
    type: folder
  items:
  - info:
      name: Get financial metrics
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/metrics'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Cash, burn, runway, margin, revenue metrics (unverified path).
- info:
    name: Categories
    type: folder
  items:
  - info:
      name: List categories
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/categories'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Categories, classes, departments, projects (unverified path).
- info:
    name: Integrations
    type: folder
  items:
  - info:
      name: List integrations
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/rest/v0/company/:id/integrations'
      params:
      - name: id
        value: '{{companyId}}'
        type: path
        description: The company ID.
    docs: Upstream connections (Stripe, banks, cards, payroll) and sync status (unverified path).
bundled: true