Puzzle Transactions API

The Transactions API from Puzzle — 3 operation(s) for transactions.

Operations 6

GET /company/{id}/transactions Get Transactions #
POST /company/{id}/transactions Create Transactions #
GET /company/{id}/transactions/{transactionId} Get Transaction #
PATCH /company/{id}/transactions/{transactionId} Update Transaction #
POST /company/{id}/transactions/{transactionId}/document Create Document #
GET /rest/v0/company/{id}/transactions List transactions #

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-transactions-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-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Puzzle Transactions API
  version: '1.0'
  description: 'Operations tagged Transactions across 2 of this provider''s published API definitions: puzzle-openapi-original.json, puzzle-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://staging.southparkdata.com/rest/v0
- url: https://staging.southparkdata.com
  description: Documented Puzzle API server (Puzzle's underlying data platform is named South Park Data). Confirmed from the public API reference.
tags:
- name: Transactions
paths:
  /company/{id}/transactions:
    get:
      operationId: getTransactions
      summary: Get Transactions
      description: 'Get transactions by filter


        Required scope: read:company'
      tags:
      - Transactions
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      - name: startDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: endDate
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Calendar date, YYYY-MM-DD
      - name: accountIds
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            description: Partner-facing external identifier
          - type: array
            items:
              type: string
              minLength: 1
              description: Partner-facing external identifier
      - name: vendorIds
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            minLength: 1
            description: Partner-facing external identifier
          - type: array
            items:
              type: string
              minLength: 1
              description: Partner-facing external identifier
      - name: coaKeys
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - Finalized
          - NotFinalized
          - NotCategorized
      - name: sortBy
        in: query
        required: false
        schema:
          type: string
          enum:
          - ABS_AMOUNT_ASC
          - ABS_AMOUNT_DESC
          - AMOUNT_ASC
          - AMOUNT_DESC
          - DATE_ASC
          - DATE_DESC
          - DESCRIPTION_ASC
          - DESCRIPTION_DESC
          - NAME_ASC
          - UNCATEGORIZED_AMOUNT_DESC
          - VENDOR_ASC
          - VENDOR_DESC
      - name: after
        in: query
        required: false
        schema:
          type: string
      - name: count
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          description: Partner-facing external identifier
                        amount:
                          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
                        descriptor:
                          type: string
                        timestamp:
                          type: string
                          minLength: 1
                          description: ISO 8601 timestamp
                        memo:
                          type:
                          - string
                          - 'null'
                        nativeId:
                          type:
                          - string
                          - 'null'
                        category:
                          type:
                          - string
                          - 'null'
                        coaKey:
                          type:
                          - string
                          - 'null'
                        accountId:
                          type:
                          - string
                          - 'null'
                          minLength: 1
                          description: Partner-facing external identifier
                        status:
                          type:
                          - string
                          - 'null'
                          enum:
                          - Finalized
                          - NotFinalized
                          - NotCategorized
                        vendorId:
                          type:
                          - string
                          - 'null'
                          minLength: 1
                          description: Partner-facing external identifier
                        customerId:
                          type:
                          - string
                          - 'null'
                          minLength: 1
                          description: Partner-facing external identifier
                        documents:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              documentType:
                                type: string
                                enum:
                                - Receipt
                                - Bill
                                - Invoice
                              contentType:
                                type: string
                              downloadInfo:
                                type: object
                                properties:
                                  signedUrl:
                                    type: string
                                  urlExpiresAt:
                                    type: string
                                    minLength: 1
                                    description: ISO 8601 timestamp
                                required:
                                - signedUrl
                                - urlExpiresAt
                            required:
                            - id
                            - documentType
                            - contentType
                            - downloadInfo
                        classifications:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              class:
                                type: string
                              description:
                                type:
                                - string
                                - 'null'
                              segments:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type:
                                      - string
                                      - 'null'
                                      minLength: 1
                                      description: Partner-facing external identifier
                                    segment:
                                      type: string
                                    description:
                                      type:
                                      - string
                                      - 'null'
                                  required:
                                  - id
                                  - segment
                                  - description
                            required:
                            - class
                            - description
                            - segments
                      required:
                      - id
                      - amount
                      - descriptor
                      - timestamp
                      - memo
                      - nativeId
                      - category
                      - coaKey
                      - accountId
                      - status
                      - vendorId
                      - customerId
                      - documents
                      - classifications
                  pageInfo:
                    type: object
                    properties:
                      endCursor:
                        type:
                        - string
                        - 'null'
                      hasNextPage:
                        type: boolean
                      total:
                        type:
                        - integer
                        - 'null'
                    required:
                    - endCursor
                    - hasNextPage
                    - total
                required:
                - items
                - pageInfo
    post:
      operationId: createTransactions
      summary: Create Transactions
      description: 'Create multiple transactions for a single financial account.


        You can create up to 500 transactions per request

        Transactions can only be added to accounts with the following types: Depository, Credit, Investment, Loan, or PaymentProcessing

        Transactions are created asynchronously, so the response only includes a mapping of the Puzzle ID to the native ID and the status of the transaction, which will either be pending or duplicate.

        pending = The data for that transaction has been saved and is currently being processed. Please allow a couple of minutes for this transaction to show up in the system.

        duplicate = There is already a transaction with that same nativeId in the system, so this transaction data was ignored.

        The sign on the amount field depends on the account type.

        Additional details can be found here.

        The category field may or may not directly correspond to an account in the Chart of Accounts. It is used to help Puzzle automatically categorize this transaction. It does not guarantee a specific COA assignment.


        Required scope: write:transaction'
      tags:
      - Transactions
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                  minLength: 1
                  description: Partner-facing external identifier
                transactions:
                  type: array
                  items:
                    type: object
                    properties:
                      nativeId:
                        type: string
                      timestamp:
                        type: string
                        minLength: 1
                        description: ISO 8601 timestamp
                      amount:
                        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
                      description:
                        type: string
                      category:
                        type: string
                      coaKey:
                        type: string
                      memo:
                        type: string
                      customerId:
                        type: string
                        minLength: 1
                        description: Partner-facing external identifier
                      vendorId:
                        type: string
                        minLength: 1
                        description: Partner-facing external identifier
                      merchantName:
                        type: string
                      counterpartyName:
                        type: string
                      balance:
                        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
                      splits:
                        type: array
                        items:
                          type: object
                          properties:
                            amount:
                              type: string
                              minLength: 1
                              description: Arbitrary-precision decimal, serialized as a string
                            descriptor:
                              type: string
                            ledgerCoaKey:
                              type: string
                              minLength: 1
                              description: Chart-of-accounts key
                            accrualDate:
                              type: string
                              minLength: 1
                              description: Calendar date, YYYY-MM-DD
                            capitalizable:
                              type: boolean
                            customerId:
                              type: string
                              minLength: 1
                              description: Partner-facing external identifier
                            isBillPayment:
                              type: boolean
                            isInvoicePayment:
                              type: boolean
                            updateOfSplitId:
                              type: string
                              minLength: 1
                              description: Partner-facing external identifier
                            vendorPermaName:
                              type: string
                          required:
                          - amount
                          - descriptor
                          - ledgerCoaKey
                      classifications:
                        type: array
                        items:
                          type: object
                          properties:
                            class:
                              type: string
                              minLength: 1
                            segment:
                              type: string
                              minLength: 1
                          required:
                          - class
                          - segment
                      document:
                        type: object
                        properties:
                          documentType:
                            type: string
                            enum:
                            - Receipt
                            - Bill
                            - Invoice
                          fileName:
                            type: string
                            minLength: 1
                          contentType:
                            type: string
                            minLength: 1
                          base64File:
                            type: string
                            minLength: 1
                          nativeDocumentId:
                            type: string
                            minLength: 1
                        required:
                        - documentType
                        - fileName
                        - contentType
                        - base64File
                        - nativeDocumentId
                    required:
                    - nativeId
                    - timestamp
                    - amount
                    - description
                omitAccountSideOfEntry:
                  type: boolean
              required:
              - accountId
              - transactions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          description: Partner-facing external identifier
                        nativeId:
                          type: string
                        status:
                          type: string
                          enum:
                          - pending
                          - duplicate
                      required:
                      - id
                      - nativeId
                      - status
                required:
                - transactions
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/transactions/{transactionId}:
    get:
      operationId: getTransaction
      summary: Get Transaction
      description: 'Get a single transaction by ID


        Required scope: read:company'
      tags:
      - Transactions
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      - name: transactionId
        in: path
        required: true
        description: The transaction 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
                  amount:
                    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
                  descriptor:
                    type: string
                  timestamp:
                    type: string
                    minLength: 1
                    description: ISO 8601 timestamp
                  memo:
                    type:
                    - string
                    - 'null'
                  nativeId:
                    type:
                    - string
                    - 'null'
                  category:
                    type:
                    - string
                    - 'null'
                  coaKey:
                    type:
                    - string
                    - 'null'
                  accountId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  status:
                    type:
                    - string
                    - 'null'
                    enum:
                    - Finalized
                    - NotFinalized
                    - NotCategorized
                  vendorId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  customerId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  documents:
                    type:
                    - array
                    - 'null'
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        documentType:
                          type: string
                          enum:
                          - Receipt
                          - Bill
                          - Invoice
                        contentType:
                          type: string
                        downloadInfo:
                          type: object
                          properties:
                            signedUrl:
                              type: string
                            urlExpiresAt:
                              type: string
                              minLength: 1
                              description: ISO 8601 timestamp
                          required:
                          - signedUrl
                          - urlExpiresAt
                      required:
                      - id
                      - documentType
                      - contentType
                      - downloadInfo
                  classifications:
                    type:
                    - array
                    - 'null'
                    items:
                      type: object
                      properties:
                        class:
                          type: string
                        description:
                          type:
                          - string
                          - 'null'
                        segments:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type:
                                - string
                                - 'null'
                                minLength: 1
                                description: Partner-facing external identifier
                              segment:
                                type: string
                              description:
                                type:
                                - string
                                - 'null'
                            required:
                            - id
                            - segment
                            - description
                      required:
                      - class
                      - description
                      - segments
                required:
                - id
                - amount
                - descriptor
                - timestamp
                - memo
                - nativeId
                - category
                - coaKey
                - accountId
                - status
                - vendorId
                - customerId
                - documents
                - classifications
    patch:
      operationId: updateTransaction
      summary: Update Transaction
      description: 'Updates an existing Transaction


        Required scope: write:transaction'
      tags:
      - Transactions
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      - name: transactionId
        in: path
        required: true
        description: The transaction ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                category:
                  type: string
                coaKey:
                  type: string
                  minLength: 1
                  description: Chart-of-accounts key
                customerId:
                  type: string
                  minLength: 1
                  description: Partner-facing external identifier
                finalize:
                  type: boolean
                vendorId:
                  type: string
                  minLength: 1
                  description: Partner-facing external identifier
                document:
                  type: object
                  properties:
                    documentType:
                      type: string
                      enum:
                      - Receipt
                      - Bill
                      - Invoice
                    fileName:
                      type: string
                      minLength: 1
                    contentType:
                      type: string
                      minLength: 1
                    base64File:
                      type: string
                      minLength: 1
                    nativeDocumentId:
                      type: string
                      minLength: 1
                  required:
                  - documentType
                  - fileName
                  - contentType
                  - base64File
                  - nativeDocumentId
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Partner-facing external identifier
                required:
                - id
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /company/{id}/transactions/{transactionId}/document:
    post:
      operationId: createTransactionDocument
      summary: Create Document
      description: 'Create a document for a given transaction.


        Required scope: write:transaction'
      tags:
      - Transactions
      parameters:
      - name: id
        in: path
        required: true
        description: The company ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      - name: transactionId
        in: path
        required: true
        description: The transaction ID
        schema:
          type: string
          minLength: 1
          description: Partner-facing external identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                documentType:
                  type: string
                  enum:
                  - Receipt
                  - Bill
                  - Invoice
                fileName:
                  type: string
                  minLength: 1
                contentType:
                  type: string
                  minLength: 1
                base64File:
                  type: string
                  minLength: 1
                nativeDocumentId:
                  type: string
                  minLength: 1
              required:
              - documentType
              - fileName
              - contentType
              - base64File
              - nativeDocumentId
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactionId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  manualJournalEntryId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  journalEntryId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  billId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  invoiceId:
                    type:
                    - string
                    - 'null'
                    minLength: 1
                    description: Partner-facing external identifier
                  document:
                    type: object
                    properties:
                      id:
                        type: string
                      documentType:
                        type: string
                        enum:
                        - Receipt
                        - Bill
                        - Invoice
                      contentType:
                        type: string
                      downloadInfo:
                        type: object
                        properties:
                          signedUrl:
                            type: string
                          urlExpiresAt:
                            type: string
                            minLength: 1
                            description: ISO 8601 timestamp
                        required:
                        - signedUrl
                        - urlExpiresAt
                    required:
                    - id
                    - documentType
                    - contentType
                    - downloadInfo
                required:
                - transactionId
                - manualJournalEntryId
                - journalEntryId
                - billId
                - invoiceId
                - document
    servers:
    - url: https://staging.southparkdata.com/rest/v0
  /rest/v0/company/{id}/transaction

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