Reports

Read the workspace cashbook

Read effective cash transactions for start through end, optionally scoped to a bank account and source selections. Chronological pages retain the running book balance. This is not a bank reconciliation.

GET/v1/reports/cashbook

Query parameters

bankAccountId string

Optional bank account id filter or query option.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1G
start string required

Calendar date in YYYY-MM-DD format for the reporting period.

Maximum length: 10 characters.

Example2026-01-15
end string required

Calendar date in YYYY-MM-DD format for the reporting period.

Maximum length: 10 characters.

Example2026-01-15
range string

Optional range filter or query option.

Allowed values: "all"

Exampleall
timezone string

Optional timezone filter or query option.

Maximum length: 100 characters.

ExampleUTC
clients string[]

Optional clients filter or query option.

at most 500 items

Example1 item
projects string[]

Optional projects filter or query option.

at most 500 items

Example1 item
vendors string[]

Optional vendors filter or query option.

at most 500 items

Example1 item
tags string[]

Optional tags filter or query option.

at most 500 items

Example1 item
invoices string[]

Optional invoices filter or query option.

at most 500 items

Example1 item
expenses string[]

Optional expenses filter or query option.

at most 500 items

Example1 item
recurringExpenses string[]

Optional recurring expenses filter or query option.

at most 500 items

Example1 item
payouts string[]

Optional payouts filter or query option.

at most 500 items

Example1 item
page string

One-based page number for this resource directory.

pattern ^[+-]?\d*\.?\d+(?:[Ee][+-]?\d+)?$

Example25
pageSize string

Optional page size filter or query option.

pattern ^[+-]?\d*\.?\d+(?:[Ee][+-]?\d+)?$

Example1

Headers

authorization string required

Bearer workspace API key.

ExampleBearer $NQD_API_KEY
workspace-id string required

Workspace scope for the request. Required for workspace operations and must belong to the authenticated identity.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1A

Response

200Success

Response headers

x-request-id string

Correlation identifier returned with every response for support and request tracing.

Example550e8400-e29b-41d4-a716-446655440000
data object

Returned records. Collections and batches use an array; single records use an object.

ShowHide 15 properties
data.start string

Calendar date in YYYY-MM-DD format for the reporting period.

Maximum length: 10 characters.

Example2026-01-01
data.end string

Calendar date in YYYY-MM-DD format for the reporting period.

Maximum length: 10 characters.

Example2026-01-31
data.selectedBankAccountId string

ID of the related selected bank account.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleConsulting services
data.reportingCurrency object

Referenced currency with its opaque ID and ISO 4217 currency code.

ShowHide 3 properties
data.reportingCurrency.id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.reportingCurrency.code string

Stable machine-readable error or resource code.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleConsulting services
data.reportingCurrency.conversion object

Currency conversion quote used for reporting, including source, target, and rate.

ShowHide 3 properties
data.reportingCurrency.conversion.from string

ISO 4217 code of the source currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.reportingCurrency.conversion.to string

ISO 4217 code of the target reporting currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.reportingCurrency.conversion.rate string

Exact decimal conversion rate from the quote source currency to its target currency.

Maximum length: 128 characters.

Example1.00
data.accounts object[]

accounts for this report.

ShowHide 3 properties
data.accounts[].id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1G
data.accounts[].label string

Human-readable label for the value.

ExampleOperating account
data.accounts[].archived boolean

archived within accounts.

Exampletrue
data.openingBalance number

opening balance for this report.

Example100
data.periodInbound number

period inbound for this report.

Example100
data.periodOutbound number

period outbound for this report.

Example100
data.closingBalance number

closing balance for this report.

Example100
data.rows object[]

rows for this report.

ShowHide 12 properties
data.rows[].id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1P
data.rows[].source object

source within rows.

ShowHide 2 properties
data.rows[].source.id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1P
data.rows[].source.type string

Type of the record or operation.

Allowed values: "invoice", "expense", "income", "payout", "asset"

Exampleinvoice
data.rows[].amount string

Exact decimal string used for financial calculations. Do not round or convert it to a display number.

Example100.00
data.rows[].direction string

direction within rows.

Allowed values: "inbound", "outbound"

Exampleinbound
data.rows[].currency object

Referenced currency with its opaque ID and ISO 4217 currency code.

ShowHide 3 properties
data.rows[].currency.id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.rows[].currency.code string

ISO 4217 currency code, such as SAR or USD.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.rows[].currency.conversion object

Currency conversion quote used for reporting, including source, target, and rate.

ShowHide 3 properties
data.rows[].currency.conversion.from string

ISO 4217 code of the source currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.rows[].currency.conversion.to string

ISO 4217 code of the target reporting currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.rows[].currency.conversion.rate string

Exact decimal conversion rate from the quote source currency to its target currency.

Maximum length: 128 characters.

Example1.00
data.rows[].reportingAmount number

Exact decimal string used for financial calculations. Do not round or convert it to a display number.

Example100
data.rows[].reportingCurrency object

Referenced currency with its opaque ID and ISO 4217 currency code.

ShowHide 3 properties
data.rows[].reportingCurrency.id string

Opaque identifier for this resource or reference.

Minimum length: 1 character. · Maximum length: 128 characters.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.rows[].reportingCurrency.code string

Stable machine-readable error or resource code.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleConsulting services
data.rows[].reportingCurrency.conversion object

Currency conversion quote used for reporting, including source, target, and rate.

ShowHide 3 properties
data.rows[].reportingCurrency.conversion.from string

ISO 4217 code of the source currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.rows[].reportingCurrency.conversion.to string

ISO 4217 code of the target reporting currency in this persisted quote.

Minimum length: 1 character. · Maximum length: 128 characters.

ExampleSAR
data.rows[].reportingCurrency.conversion.rate string

Exact decimal conversion rate from the quote source currency to its target currency.

Maximum length: 128 characters.

Example1.00
data.rows[].bankAccountId string

ID of the related bank account.

Minimum length: 1 character. · Maximum length: 128 characters.

Examplenull
data.rows[].accountLabel string

account label within rows.

ExampleConsulting services
data.rows[].context object

context within rows.

ShowHide 3 properties
data.rows[].context.heading string

heading within context.

ExampleOperating account
data.rows[].context.subheading string

subheading within context.

ExampleOperating account
data.rows[].context.websites string[]

websites within context.

Example1 item
data.rows[].runningBalance number

running balance within rows.

Example100
data.rows[].createdAt string

ISO 8601 timestamp for the authored or payment event. Recurring records preserve their scheduled occurrence.

Example2026-01-15T12:00:00.000Z
data.page number

Pagination metadata for the returned records, or the current page number when this endpoint uses numbered pages.

Example1
data.pageSize number

page size for this report.

minimum 1 · maximum 500

Example1
data.totalRows number

total rows for this report.

Example100
data.hasNext boolean

has next for this report.

Exampletrue
data.generatedAt string

ISO 8601 timestamp for generated.

Example2026-01-15T12:00:00.000Z

Possible errors

400 Invalid request

Response headers

x-request-id string

Correlation identifier returned with every response for support and request tracing.

Example550e8400-e29b-41d4-a716-446655440000
error object

Error details returned for a failed request.

ShowHide 4 properties
error.code string

Stable machine-readable error or resource code.

Exampleinvalid_input
error.message string

Human-readable explanation of the result or error.

ExampleThe request could not be validated.
error.requestId string

Correlation identifier for support and request tracing.

Example550e8400-e29b-41d4-a716-446655440000
error.details object nullable

Additional structured details about the result or error.

ShowHide 1 property
error.details.issues object[]

Structured field issues returned when request validation fails.

ShowHide 3 properties
error.details.issues[].path string | number[]

Field path where the validation issue occurred.

One of: string alternative 1, number alternative 2

Example0 items
error.details.issues[].reason string

Machine-readable reason for the validation issue.

Allowed values: "expected_type", "required", "unexpected_property", "invalid_value", "invalid_json", "invalid_query", "unsupported_media_type", "body_too_large", "body_timeout", "conflicting_scope", "missing_header", "concurrency_required", "invalid_resource_id", "invalid_request"

Exampleinvalid_request
error.details.issues[].code string nullable

Stable machine-readable error or resource code.

Exampleinvalid_input
Example 400 response
{
  "error": {
    "code": "invalid_input",
    "message": "The request could not be validated.",
    "requestId": "550e8400-e29b-41d4-a716-446655440000",
    "details": {
      "issues": [
        {
          "path": [],
          "reason": "invalid_request"
        }
      ]
    }
  }
}
View raw OpenAPI operation

Use the machine-readable contract for client generation and payload validation.

Open OpenAPI contract ↗