For the complete documentation index, see llms.txt. This page is also available as Markdown.

Reports

Pull an entity's profit and loss, balance sheet, cash flow, trial balance, and general ledger.

Every report covers a single entity over a single date range, so each endpoint is nested under the entity uuid and takes startDate and endDate as required, inclusive calendar days. ledgerBasis selects the ledger and defaults to cash; reading the accrual ledger means opening it first through Ledgers.

Report
What it returns

Profit and loss

Sections with their total and account lines

Balance sheet

Sections with their total and account lines, balances as of endDate

Cash flow

Indirect-method sections plus a summary of operating, investing, and financing totals with beginning and ending cash

Trial balance

One row per account with its debit and credit, plus the totals

General ledger

Every ledger posting grouped by account, with opening and closing balances

The general ledger is the one report that spans posting types: its entries carry a sourceType, so bank transactions, bills, invoices, opening balances, and manual entries can be told apart. Journal Entries covers the manual entries alone.

Grouping the range into columns

groupBy splits the requested range into week, month, quarter, or year columns. It defaults to total, a single column covering the whole range. The general ledger lists individual dated postings rather than period aggregates, so it is the one report that does not take the parameter.

Grouping does not change the response shape. periods always lists at least one date range, and every ...ByPeriod array lines up with it one for one, so the same parsing code handles a grouped and an ungrouped report. Alongside those arrays each amount keeps its whole-range scalar.

What that scalar means depends on the report. Profit and loss and cash flow measure flow, so it is the sum of the columns. Balance sheet and trial balance measure position, and their columns are balances as of the end of each period, so it is the last column rather than the sum of them.

Retrieve a profit and loss report

get

Returns the entity's profit and loss for the period between startDate and endDate (inclusive), on the basis given by ledgerBasis. Each section carries its total and its account lines, already flattened out of the nested report groups.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
entityIdstring · uuidRequired
Query parameters
startDatestringRequired
endDatestringRequired
ledgerBasisstring · enumOptionalDefault: cashPossible values:
groupBystring · enumOptionalDefault: totalPossible values:
Responses
200

200

application/json
get/platform/v1/entities/{entityId}/reports/profit-and-loss
GET /api/platform/v1/entities/{entityId}/reports/profit-and-loss?startDate=text&endDate=text HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "report": {
    "endDate": "text",
    "entityId": "123e4567-e89b-12d3-a456-426614174000",
    "groupBy": "total",
    "ledgerBasis": "cash",
    "periods": [
      {
        "endDate": "text",
        "startDate": "text"
      }
    ],
    "sections": [
      {
        "lines": [
          {
            "accountCode": "text",
            "accountName": "text",
            "amount": 1,
            "amountsByPeriod": [
              1
            ],
            "kind": "account"
          }
        ],
        "section": "income",
        "total": 1,
        "totalsByPeriod": [
          1
        ]
      }
    ],
    "startDate": "text"
  }
}

Retrieve a balance sheet report

get

Returns the entity's balance sheet on the basis given by ledgerBasis. Balances are as of endDate; startDate only bounds the reported activity.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
entityIdstring · uuidRequired
Query parameters
startDatestringRequired
endDatestringRequired
ledgerBasisstring · enumOptionalDefault: cashPossible values:
groupBystring · enumOptionalDefault: totalPossible values:
Responses
200

200

application/json
get/platform/v1/entities/{entityId}/reports/balance-sheet
GET /api/platform/v1/entities/{entityId}/reports/balance-sheet?startDate=text&endDate=text HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "report": {
    "endDate": "text",
    "entityId": "123e4567-e89b-12d3-a456-426614174000",
    "groupBy": "total",
    "ledgerBasis": "cash",
    "periods": [
      {
        "endDate": "text",
        "startDate": "text"
      }
    ],
    "sections": [
      {
        "label": "text",
        "lines": [
          {
            "accountCode": "text",
            "accountName": "text",
            "amount": 1,
            "amountsByPeriod": [
              1
            ],
            "kind": "account"
          }
        ],
        "total": 1,
        "totalsByPeriod": [
          1
        ]
      }
    ],
    "startDate": "text"
  }
}

Retrieve a cash flow report

get

Returns the entity's indirect-method cash flow statement for the period, alongside a summary holding the operating, investing and financing totals, the net change in cash, and the beginning and ending cash balances.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
entityIdstring · uuidRequired
Query parameters
startDatestringRequired
endDatestringRequired
ledgerBasisstring · enumOptionalDefault: cashPossible values:
groupBystring · enumOptionalDefault: totalPossible values:
Responses
200

200

application/json
get/platform/v1/entities/{entityId}/reports/cash-flow
GET /api/platform/v1/entities/{entityId}/reports/cash-flow?startDate=text&endDate=text HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "report": {
    "endDate": "text",
    "entityId": "123e4567-e89b-12d3-a456-426614174000",
    "groupBy": "total",
    "ledgerBasis": "cash",
    "periods": [
      {
        "endDate": "text",
        "startDate": "text"
      }
    ],
    "sections": [
      {
        "lines": [
          {
            "accountCode": "text",
            "accountName": "text",
            "amount": 1,
            "amountsByPeriod": [
              1
            ]
          }
        ],
        "section": "Operating",
        "total": 1,
        "totalsByPeriod": [
          1
        ]
      }
    ],
    "startDate": "text",
    "summary": {
      "beginningCashBalance": 1,
      "endingCashBalance": 1,
      "financingActivities": 1,
      "investingActivities": 1,
      "netCashChange": 1,
      "operatingActivities": 1
    },
    "summaryByPeriod": [
      {
        "beginningCashBalance": 1,
        "endingCashBalance": 1,
        "financingActivities": 1,
        "investingActivities": 1,
        "netCashChange": 1,
        "operatingActivities": 1
      }
    ]
  }
}

Retrieve a trial balance report

get

Returns the entity's trial balance for the period: one row per account with its debit and credit, plus the debit and credit totals across every row.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
entityIdstring · uuidRequired
Query parameters
startDatestringRequired
endDatestringRequired
ledgerBasisstring · enumOptionalDefault: cashPossible values:
groupBystring · enumOptionalDefault: totalPossible values:
Responses
200

200

application/json
get/platform/v1/entities/{entityId}/reports/trial-balance
GET /api/platform/v1/entities/{entityId}/reports/trial-balance?startDate=text&endDate=text HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "report": {
    "endDate": "text",
    "entityId": "123e4567-e89b-12d3-a456-426614174000",
    "groupBy": "total",
    "ledgerBasis": "cash",
    "periods": [
      {
        "endDate": "text",
        "startDate": "text"
      }
    ],
    "rows": [
      {
        "accountCode": "text",
        "accountName": "text",
        "amountsByPeriod": [
          {
            "credit": 1,
            "debit": 1
          }
        ],
        "credit": 1,
        "debit": 1
      }
    ],
    "startDate": "text",
    "totals": {
      "credit": 1,
      "debit": 1
    },
    "totalsByPeriod": [
      {
        "credit": 1,
        "debit": 1
      }
    ]
  }
}

Retrieve a general ledger report

get

Returns every ledger posting of the entity for the period, grouped by account with its opening and closing balance. Unlike the manual journal entries surface, entries here carry a mix of source types, so sourceType is meaningful per line.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
entityIdstring · uuidRequired
Query parameters
startDatestringRequired
endDatestringRequired
ledgerBasisstring · enumOptionalDefault: cashPossible values:
Responses
200

200

application/json
get/platform/v1/entities/{entityId}/reports/general-ledger
GET /api/platform/v1/entities/{entityId}/reports/general-ledger?startDate=text&endDate=text HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "report": {
    "accounts": [
      {
        "accountCode": 1,
        "accountId": "123e4567-e89b-12d3-a456-426614174000",
        "accountName": "text",
        "closingBalance": 1,
        "entries": [
          {
            "balance": 1,
            "counterpartyName": "text",
            "creditAmount": 1,
            "date": "2026-01-01T00:00:00.000Z",
            "debitAmount": 1,
            "description": "text",
            "journalEntryId": "123e4567-e89b-12d3-a456-426614174000",
            "memo": "text",
            "sourceType": "transaction"
          }
        ],
        "openingBalance": 1
      }
    ],
    "endDate": "text",
    "entityId": "123e4567-e89b-12d3-a456-426614174000",
    "ledgerBasis": "cash",
    "startDate": "text"
  }
}

Last updated

Was this helpful?