Puzzle Company API

The Company API from Puzzle — 10 operation(s) for company.

Operations 11

POST /company Initiate Creating a Company #
GET /companies Get companies #
GET /company/{id} Get Company #
POST /company/{id}/integrationConnection Create Integration Connection #
POST /company/{id}/disconnect Disconnect Company #
GET /company/{id}/chartOfAccounts Get Chart of Accounts #
GET /company/{id}/classifications Get Classifications #
POST /company/{id}/classifications Create Classifications #
GET /company/{id}/classifications/{classificationId} Get Classification #
GET /company/{id}/trial-balance Get Trial Balance Report #
GET /company/{id}/monthly-checklists Get Monthly Checklist #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/puzzle-company-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

puzzle-company-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Puzzle Company API
  description: Puzzle Api
  version: '0'
servers:
- url: https://staging.southparkdata.com/rest/v0
tags:
- name: Company
paths:
  /company:
    post:
      operationId: createCompanyApi
      summary: Initiate Creating a Company
      description: Call this endpoint to pass some company information that is usually asked for during Puzzle's onboarding flow. A URL will be returned. When you redirect your user to this URL, the company information that was passed the original request will be prefilled for them in Puzzle's UI, allowing them to skip a few steps and create their Puzzle account more quickly.
      tags:
      - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  type: object
                  properties:
                    email:
                      type: string
                      minLength: 1
                    firstName:
                      type: string
                      minLength: 1
                    lastName:
                      type: string
                      minLength: 1
                  required:
                  - email
                  - firstName
                  - lastName
                company:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                    type:
                      type: string
                      enum:
                      - SAAS
                      - ECOMMERCE
                      - MARKETPLACE
                      - ADVERTISING
                      - SERVICES
                      - ENTERPRISE
                      - FINTECH
                      - FINTECH_CRYPTO
                      - VIRTUAL_GOODS
                      - CONSUMER
                      - NOT_SURE
                      - OTHER
                      - AGRICULTURE_AND_FARMING
                      - CONSTRUCTION
                      - HEALTHCARE
                      - HOME_SERVICES
                      - LEGAL
                      - MANUFACTURING
                      - MEDIA_AND_ENTERTAINMENT
                      - PROFESSIONAL_SERVICES
                      - RETAIL
                      - REAL_ESTATE
                      - RESTAURANT
                      - TRANSPORTATION
                      - WHOLESALE_TRADE
                      description: The value is normalized before matching, so any casing that maps onto a listed value is accepted.
                    revenueModel:
                      type: string
                      enum:
                      - AnnualSubscription
                      - MonthlySubscription
                      - MultipleRevenueModels
                      - NotSure
                      - PreRevenue
                      - ServiceBased
                      - TransactionBased
                      - UsageBased
                      - Subscription
                      - AddOns
                      - TransactionBasedPhysical
                      - TransactionBasedOther
                      - Contracts
                      - HourlyBilling
                      - Marketplace
                      - Commission
                    timeZone:
                      type: string
                      minLength: 1
                    currentUserRole:
                      type: string
                      enum:
                      - Founder
                      - CompanyEmployee
                      - OutsourcedAccountantOrCFO
                    coaType:
                      type: string
                      enum:
                      - saas
                      - ecommerce
                      - fondo
                      - every
                      - decimal
                      - custom
                    orgType:
                      type: string
                      enum:
                      - CCorporation
                      - LLC
                      - Partnership
                      - SCorporation
                      - SoleProprietorship
                    hasHistoricalData:
                      type: boolean
                    isFreshStart:
                      type: boolean
                    phoneNumber:
                      type: string
                    website:
                      type: string
                  required:
                  - name
                  - type
                  - revenueModel
                  - timeZone
                  - currentUserRole
                  - orgType
                integration:
                  type: object
                  properties:
                    nativeCompanyId:
                      type: string
                      minLength: 1
                    authForwardToken:
                      type: string
                    createPushIntegrationConnection:
                      type: boolean
                  required:
                  - nativeCompanyId
              required:
              - user
              - company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  userId:
                    type: string
                    minLength: 1
                    description: Partner-facing external identifier
                  companyId:
                    type: string
                    minLength: 1
                    description: Partner-facing external identifier
                  setPasswordUrl:
                    type:
                    - string
                    - 'null'
                required:
                - userId
                - companyId
                - setPasswordUrl
  /companies:
    get:
      operationId: companiesApi
      summary: Get companies
      description: 'Returns a list of companies the calling user has access to.


        Required scope: read:company'
      tags:
      - Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          description: Partner-facing external identifier
                        name:
                          type: string
                        connectedAt:
                          type: string
                          minLength: 1
                          description: ISO 8601 timestamp
                        status:
                          type: string
                          enum:
                          - Ready
                          - Syncing
                          - NoData
                        financialYearStartDate:
                          type: string
                        reportingCurrency:
                          type: string
                          minLength: 3
                          maxLength: 3
                          description: ISO 4217 currency code
                      required:
                      - id
                      - name
                      - connectedAt
                      - status
                      - financialYearStartDate
                      - reportingCurrency
                required:
                - companies
  /company/{id}:
    get:
      operationId: company
      summary: Get Company
      tags:
      - Company
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Partner-facing external identifier
                  name:
                    type: string
                  institutionConnections:
                    type: array
                    items:
                      type: object
                      properties:
                        institution:
                          type: object
                          properties:
                            name:
                              type: string
                          required:
                          - name
                        status:
                          type: string
                          enum:
                          - OK
                          - TemporaryOutage
                          - Disconnected
                        accounts:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                minLength: 1
                                description: Partner-facing external identifier
                              nativeId:
                                type:
                                - string
                                - 'null'
                              type:
                                type: string
                                enum:
                                - Investment
                                - Invoice
                                - Credit
                                - Depository
                                - Loan
                                - Other
                                - PaymentProcessing
                                - Payroll
                                - Fintech
                                - Sweep
                              name:
                                type: string
                              mask:
                                type:
                                - string
                                - 'null'
                              currentBalance:
                                type: object
                                properties:
                                  amount:
                                    type: string
                                    minLength: 1
                                    description: Arbitrary-precision decimal, serialized as a string
                                  currency:
                                    type: string
                                    minLength: 3
                                    maxLength: 3
                                    description: ISO 4217 currency code
                                required:
                                - amount
                                - currency
                                description: A monetary amount with its currency
                              status:
                                type: string
                                enum:
                                - Syncing
                                - Ready
                              ingestStatus:
                                type: string
                                enum:
                                - Syncing
                                - Ready
                              connectionStatus:
                                type: string
                                enum:
                                - OK
                                - TemporaryOutage
                                - Disconnected
                              lastUpdatedAt:
                                type:
                                - string
                                - 'null'
                                minLength: 1
                                description: ISO 8601 timestamp
                            required:
                            - id
                            - nativeId
                            - type
                            - name
                            - mask
                            - currentBalance
                            - status
                            - ingestStatus
                            - connectionStatus
                            - lastUpdatedAt
                        lastSyncedAt:
                          type:
                          - string
                          - 'null'
                          minLength: 1
                          description: ISO 8601 timestamp
                        createdAt:
                          type: string
                          minLength: 1
                          description: ISO 8601 timestamp
                        updatedAt:
                          type: string
                          minLength: 1
                          description: ISO 8601 timestamp
                        fdicCoverage:
                          type:
                          - object
                          - 'null'
                          properties:
                            status:
                              type: string
                              enum:
                              - AtRisk
                              - Review
                              - Covered
                            depositoryTotal:
                              type: object
                              properties:
                                amount:
                                  type: string
                                  minLength: 1
                                  description: Arbitrary-precision decimal, serialized as a string
                                currency:
                                  type: string
                                  minLength: 3
                                  maxLength: 3
                                  description: ISO 4217 currency code
                              required:
                              - amount
                              - currency
                              description: A monetary amount with its currency
                            estimatedInsuranceCoverage:
                              type: object
                              properties:
                                amount:
                                  type: string
                                  minLength: 1
                                  description: Arbitrary-precision decimal, serialized as a string
                                currency:
                                  type: string
                                  minLength: 3
                                  maxLength: 3
                                  description: ISO 4217 currency code
                              required:
                              - amount
                              - currency
                              description: A monetary amount with its currency
                          required:
                          - status
                          - depositoryTotal
                          - estimatedInsuranceCoverage
                      required:
                      - institution
                      - status
                      - accounts
                      - lastSyncedAt
                      - createdAt
                      - updatedAt
                      - fdicCoverage
                  status:
                    type: string
                    enum:
                    - Ready
                    - Syncing
                    - NoData
                  financialSummary:
                    type:
                    - object
                    - 'null'
                    properties:
                      status:
                        type: string
                        enum:
                        - InProgress
                        - Failed
                        - Ready
                      metrics:
                        type:
                        - object
                        - 'null'
                        properties:
                          annualAvgFullyLoadedSalaryCostPerEmployee:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          annualAvgSalaryCostPerEmployee:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          lastMonthAvgFullyLoadedSalaryCostPerEmployee:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          lastMonthAvgSalaryCostPerEmployee:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          totalCash:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          runway:
                            type:
                            - integer
                            - 'null'
                          fundraiseDate:
                            type:
                            - string
                            - 'null'
                            minLength: 1
                            description: Calendar date, YYYY-MM-DD
                          cashOutDate:
                            type:
                            - string
                            - 'null'
                            minLength: 1
                            description: Calendar date, YYYY-MM-DD
                          lastMonthOperatingBurn:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          lastMonthTotalBurn:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                          lastMonthBankBurn:
                            type: object
                            properties:
                              amount:
                                type: string
                                minLength: 1
                                description: Arbitrary-precision decimal, serialized as a string
                              currency:
                                type: string
                                minLength: 3
                                maxLength: 3
                                description: ISO 4217 currency code
                            required:
                            - amount
                            - currency
                            description: A monetary amount with its currency
                        required:
                        - annualAvgFullyLoadedSalaryCostPerEmployee
                        - annualAvgSalaryCostPerEmployee
                        - lastMonthAvgFullyLoadedSalaryCostPerEmployee
                        - lastMonthAvgSalaryCostPerEmployee
                        - totalCash
                        - runway
                        - fundraiseDate
                        - cashOutDate
                        - lastMonthOperatingBurn
                        - lastMonthTotalBurn
                        - lastMonthBankBurn
                      updatedAt:
                        type:
                        - string
                        - 'null'
                        minLength: 1
                        description: ISO 8601 timestamp
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            message:
                              type: string
                          required:
                          - message
                    required:
                    - status
                    - metrics
                    - updatedAt
                    - errors
                  metadata:
                    type:
                    - object
                    - 'null'
                    properties:
                      dataCompletenessLevel:
                        type: string
                        enum:
                        - Complete
                        - High
                        - Medium
                        - Low
                      categorization:
                        type: object
                        properties:
                          percentDollarVolumeCategorized:
                            type: number
                        required:
                        - percentDollarVolumeCategorized
                    required:
                    - dataCompletenessLevel
                    - categorization
                required:
                - id
                - name
                - institutionConnections
                - status
                - financialSummary
                - metadata
  /company/{id}/integrationConnection:
    post:
      operationId: createIntegrationConnection
      summary: Create Integration Connection
      description: 'Creates an integration connection for the company that you can use to push data into Puzzle.


        Required scope: write:integration_connection'
      tags:
      - Company
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
  /company/{id}/disconnect:
    post:
      operationId: disconnect
      summary: Disconnect Company
      tags:
      - Company
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  disconnect:
                    type: boolean
                required:
                - disconnect
  /company/{id}/chartOfAccounts:
    get:
      operationId: chartOfAccounts
      summary: Get Chart of Accounts
      description: 'Retrieves the company''s chart of accounts (COA), which defines the financial statement categories used for accounting purposes.


        By default, all accounts are returned and the balances are calculated using cash basis.


        Required scope: read:company'
      tags:
      - Company
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      - name: basis
        in: query
        required: false
        schema:
          type: string
          enum:
          - cash
          - accrual
      - name: startDate
        in: query
        required: false
        schema:
          type: string
          minLength: 1
      - name: effectiveDate
        in: query
        required: false
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: nominalCode
        in: query
        required: false
        schema:
          type: string
      - name: getRestricted
        in: query
        required: false
        schema:
          type: string
          description: Boolean flag; "true" enables, any other value disables
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  accounts:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          description: Partner-facing external identifier
                        name:
                          type: string
                        coaKeys:
                          type: array
                          items:
                            type: string
                            minLength: 1
                            description: Chart-of-accounts key
                        restrictedCoaKeys:
                          type: array
                          items:
                            type: string
                            minLength: 1
                            description: Chart-of-accounts key
                        nominalCode:
                          type: string
                        description:
                          type:
                          - string
                          - 'null'
                        keywords:
                          type: array
                          items:
                            type: string
                        type:
                          type: string
                        tags:
                          type: array
                          items:
                            type: string
                        category:
                          type: string
                        subCategory:
                          type:
                          - string
                          - 'null'
                        tertiaryCategory:
                          type:
                          - string
                          - 'null'
                        parentCode:
                          type:
                          - string
                          - 'null'
                        currentBalance:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        currentBalanceWithoutSubAccounts:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            currency:
                              type: string
                              minLength: 3
                              maxLength: 3
                              description: ISO 4217 currency code
                          required:
                          - amount
                          - currency
                          description: A monetary amount with its currency
                        isBankAccount:
                          type: boolean
                        accountId:
                          type:
                          - string
                          - 'null'
                          minLength: 1
                          description: Partner-facing external identifier
                        views:
                   

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/puzzle/refs/heads/main/openapi/puzzle-company-api-openapi.yml