Skip to main content
GET
/
v1
/
transactions
Get Transactions
curl --request GET \
  --url https://api.bookeeping.ai/public-api/v1/transactions \
  --header 'Authorization: Bearer <token>'
{
  "message": "<string>",
  "metaData": {
    "warnings": [
      "<string>"
    ]
  },
  "data": {
    "transactions": [
      {
        "_id": "<string>",
        "projectId": "<string>",
        "currency": "<string>",
        "totalAmount": 123,
        "transactionDate": "2023-11-07T05:31:56Z",
        "paymentMethod": {},
        "source": {},
        "isReconciled": true,
        "nonProfitAllocations": [
          {
            "percentage": 123,
            "program": {
              "_id": "<string>",
              "name": "<string>",
              "status": "PLANNING",
              "createdAt": "2023-11-07T05:31:56Z",
              "updatedAt": "2023-11-07T05:31:56Z",
              "hexColor": "<string>"
            },
            "grant": {
              "_id": "<string>",
              "name": "<string>",
              "status": "ACTIVE",
              "createdAt": "2023-11-07T05:31:56Z",
              "updatedAt": "2023-11-07T05:31:56Z",
              "hexColor": "<string>",
              "funder": {
                "_id": "<string>",
                "accountName": "<string>",
                "accountNumber": "<string>",
                "email": "jsmith@example.com",
                "phone": "<string>",
                "type": "customer"
              }
            },
            "note": "<string>"
          }
        ],
        "entries": [
          {
            "id": "<string>",
            "amount": 123,
            "type": "DEBIT",
            "parentCategory": "INCOME",
            "category": {
              "_id": "<string>",
              "name": "<string>",
              "emoji": "<string>",
              "parentCategory": "INCOME",
              "number": "<string>",
              "group": "<string>"
            },
            "isMain": true,
            "note": "<string>"
          }
        ],
        "classes": [
          {
            "_id": "<string>",
            "name": "<string>",
            "description": "<string>",
            "emoji": "<string>",
            "color": "<string>"
          }
        ],
        "attachmentsIds": [
          "<string>"
        ],
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z",
        "refNo": "<string>",
        "originalAmount": 123,
        "originalCurrency": "<string>",
        "counterParty": {
          "_id": "<string>",
          "accountName": "<string>",
          "accountNumber": "<string>",
          "email": "jsmith@example.com",
          "phone": "<string>",
          "type": "customer"
        },
        "account": {
          "_id": "<string>",
          "accountType": "Depository",
          "accountName": "<string>",
          "accountNumber": "<string>"
        },
        "nonProfitGrantId": "<string>",
        "attachedTransactionId": "<string>"
      }
    ],
    "count": 123
  }
}

Description

Queries transaction history for the authenticated project. Returns transaction records including payment details, status, amounts, timestamps, and processor responses. Commonly used for transaction status checks, reconciliation, customer service inquiries, and financial reporting.

Input

  • Path Parameter: projectId (guid, required) — Project identifier matching authenticated API key.
  • Query Parameter: id (guid, optional) — Optional transaction ID to retrieve specific transaction.

Output

Returns a TransactionQueryResponse containing matching transactions or an empty list if none found.

Example Request

GET /api/payment/projects/{projectId}/transactions?id={transactionId}
Authorization: Bearer {project-api-key}

Example Response

{
  "success": true,
  "entries": [
    {
      "id": "7b8c9d0e-1234-5678-9abc-def012345678",
      "amount": 99.99,
      "status": "Approved",
      "maskedCardNumber": "************1111"
    }
  ]
}

Errors

  • 400 Bad Request — Invalid project or transaction ID format.
  • 401 Unauthorized — Invalid API key.
  • 404 Not Found — Project not found.

Notes

  • Card numbers are always masked for PCI compliance.
  • CVV values are never stored or returned.
  • Results are scoped to the authenticated project only.

Authorizations

Authorization
string
header
required

API key for authentication. Get your key from the Dashboard > Settings > API Access.

Query Parameters

page
string

The page number 1 - n

limit
string

The number of items per page. Max is 250. Default is 10.

sortKey
enum<string>

The key to sort the items by. Default is _id.

Available options:
_id,
name,
createdAt,
updatedAt,
transactionDate
sortOrder
enum<string>

The order to sort the items by. Default is 1. -1 for descending. 1 for ascending.

Available options:
1,
-1
counterparties
string

Includes counterparties ids. Comma separated list of object ids eg: 666666666666666666666666,666666666666666666666666

accounts
string

Includes accounts ids. Comma separated list of object ids eg: 666666666666666666666666,666666666666666666666666

categories
string

Includes categories ids. Comma separated list of object ids eg: 666666666666666666666666,666666666666666666666666

classes
string

Includes classes ids. Comma separated list of object ids eg: 666666666666666666666666,666666666666666666666666

minAmount
string

Minimum amount. Expected to be a number string (Int or Float) eg: 1000,1000.5

maxAmount
string

Maximum amount. Expected to be a number string (Int or Float) eg: 1000,1000.5

startDate
string<date-time>

Start date in ISO format

endDate
string<date-time>

End date in ISO format

mainCategories
string

The accounts to filter the categories by.. Comma separated list of level two categories eg: INCOME,OTHER_INCOME,SALES,EXPENSE,DEPRECIATION,COST_OF_GOODS_SOLD,OTHER_EXPENSE,OVERHEAD,CURRENT_ASSET,FIXED_ASSET,INVENTORY,NON_CURRENT_ASSET,PREPAYMENT,LIABILITY,CURRENT_LIABILITY,NON_CURRENT_LIABILITY,TAX_PAYABLE,TAX,EQUITY

ne_categories
string

Excludes categories id, only valid it categories is not present. Comma separated list of object ids eg: 666666666666666666666666,666666666666666666666666

ne_mainCategories
string

Excludes main categories ids, only valid if main categories is not present. Comma separated list of level two categories eg: INCOME,OTHER_INCOME,SALES,EXPENSE,DEPRECIATION,COST_OF_GOODS_SOLD,OTHER_EXPENSE,OVERHEAD,CURRENT_ASSET,FIXED_ASSET,INVENTORY,NON_CURRENT_ASSET,PREPAYMENT,LIABILITY,CURRENT_LIABILITY,NON_CURRENT_LIABILITY,TAX_PAYABLE,TAX,EQUITY

Response

Get Transactions executed successfully

message
string

Success message

metaData
object
data
object