Puzzle / Developers

API reference

The Puzzle REST API.

Puzzle Api

Last refreshed: 2026-11-11T18:57:48.657Z

Initiate Creating a Company

POST /company

Get firm accuracy checks

GET /firm/accuracy-checks

Get firm AI Close items

GET /firm/ai-close-items

Get firm activity

GET /firm/audit-logs

Get companies

GET /companies

Get Company

GET /company/{id}

Get Financial Accounts

GET /company/{id}/accounts

Create Financial Account

POST /company/{id}/accounts

Get Financial Account Balances

GET /company/{id}/accounts/balances

Create Account Balance

POST /company/{id}/accounts/balances

Get Ledger Account

GET /company/{id}/ledgerAccounts/{ledgerAccountId}

Get Bills

GET /company/{id}/bills

Create Bill

POST /company/{id}/bills

Get Bill

GET /company/{id}/bills/{billId}

Update Bill

POST /company/{id}/bills/{billId}

Update Bill Status

PATCH /company/{id}/bills/{billId}/status

Create Integration Connection

POST /company/{id}/integrationConnection

Get Invoices

GET /company/{id}/invoices

Create Invoice

POST /company/{id}/invoices

Get Invoice

GET /company/{id}/invoices/{invoiceId}

Update Invoice

PUT /company/{id}/invoices/{invoiceId}

Get Vendors

GET /company/{id}/vendors

Create Vendor

POST /company/{id}/vendors

Update Vendor

PATCH /company/{id}/vendors/{vendorId}

Get Customers

GET /company/{id}/customers

Create Customer

POST /company/{id}/customers

Update Customer

PATCH /company/{id}/customers/{customerId}

Get Requests

GET /company/{id}/requests

Create Requests

POST /company/{id}/requests

Get Vendor Spending Report

GET /company/{id}/vendor-spending-report

Get Financial Statements

POST /company/{id}/financialStatements

Get Income Statement

GET /company/{id}/statements/profitLoss

Get Income Statement (Interop Format)

GET /company/{id}/statements/profitLoss/interop

Get Balance Sheet Statement

GET /company/{id}/statements/balanceSheet

Get Balance Sheet (Interop Format)

GET /company/{id}/statements/balanceSheet/interop

Get Cash Activity Statement

GET /company/{id}/statements/cashActivity

Get Expense Metrics

GET /company/{id}/metrics/expenses

Get Categorization Metrics

GET /company/{id}/metrics/categorization

Get Revenue Metrics

GET /company/{id}/metrics/revenue

Get Employee Metrics

GET /company/{id}/metrics/employee

Get Spending Metrics

GET /company/{id}/metrics/spending

Disconnect Company

POST /company/{id}/disconnect

Fetch a Link Token

POST /linkToken

Get Current User

GET /me

Get Chart of Accounts

GET /company/{id}/chartOfAccounts

Get Puzzle Categories

GET /categories

Get Classifications

GET /company/{id}/classifications

Create Classifications

POST /company/{id}/classifications

Get Classification

GET /company/{id}/classifications/{classificationId}

Get Workers

GET /company/{id}/workers

Create Journal Entry

POST /company/{id}/journalEntry

Delete Journal Entry

DELETE /company/{id}/journalEntry/{journalEntryId}

Get Journal Entries

GET /company/{id}/journalEntries

Create Journal Entry

POST /company/{id}/journalEntries

Create Document

POST /company/{id}/journalEntries/{journalEntryId}/document

Get Transactions

GET /company/{id}/transactions

Create Transactions

POST /company/{id}/transactions

Get Transaction

GET /company/{id}/transactions/{transactionId}

Update Transaction

PATCH /company/{id}/transactions/{transactionId}

Create Document

POST /company/{id}/transactions/{transactionId}/document

Get Documents for Entity

GET /company/{id}/documents/{entityId}

Create Attachment for Entity

POST /company/{id}/documents/{entityId}

Get Departments

GET /company/{id}/departments

Create Department

POST /company/{id}/departments

Get Locations

GET /company/{id}/locations

Create Location

POST /company/{id}/locations

Create Contractor

POST /company/{id}/contractors

Create Employee

POST /company/{id}/employees

Get Benefits

GET /company/{id}/benefits

Create Benefit

POST /company/{id}/benefits

Create Payroll

POST /company/{id}/payrolls

Get Payroll

GET /company/{id}/payrolls/{payrollId}

Get Trial Balance Report

GET /company/{id}/trial-balance

Initiate Prefilled Onboarding

POST /onboarding

Get Close Progress

GET /company/{id}/close-progress

Get Monthly Checklist

GET /company/{id}/monthly-checklists

Get Products

GET /company/{id}/products

Create Product

POST /company/{id}/products

Get Product

GET /company/{id}/products/{productId}

Update Product

PATCH /company/{id}/products/{productId}

Get Tasks

GET /company/{id}/tasks

Create Task

POST /company/{id}/tasks

Update Task

PATCH /company/{id}/tasks/{taskId}

Authorize (OAuth 2.0 + PKCE)

GET /oauth/authorize

Get Token (OAuth 2.0)

POST /oauth/token