Reports

Read workspace financial statements

Read workspace financial statements.

GET/v1/reports/statements

Query parameters

bankAccountId string

Optional bank account id filter or query option.

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

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1G
start string

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

Maximum length: 10 characters.

Example2026-01-15
end string

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

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 5 properties
data.report object

report for this report.

ShowHide 20 properties
data.report.currency object

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

ShowHide 4 properties
data.report.currency.id string

Opaque identifier for this resource or reference.

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

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.report.currency.code string

ISO 4217 currency code, such as SAR or USD.

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

ExampleSAR
data.report.currency.conversion object

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

ShowHide 3 properties
data.report.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.report.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.report.currency.conversion.rate string

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

Maximum length: 128 characters.

Example1.00
data.report.currency.name string

Display name of the record.

ExampleSaudi Riyal
data.report.metrics object

metrics within report.

ShowHide 10 properties
data.report.metrics.revenue number

revenue within metrics.

Example100
data.report.metrics.paidRevenue number

paid revenue within metrics.

Example100
data.report.metrics.outstandingRevenue number

outstanding revenue within metrics.

Example100
data.report.metrics.expenses number

expenses within metrics.

Example100
data.report.metrics.recurringExpenses number

recurring expenses within metrics.

Example100
data.report.metrics.payouts number

payouts within metrics.

Example100
data.report.metrics.paidPayouts number

paid payouts within metrics.

Example100
data.report.metrics.pendingPayouts number

pending payouts within metrics.

Example100
data.report.metrics.netIncome number

net income within metrics.

Example100
data.report.metrics.cashOnHand number

cash on hand within metrics.

Example100
data.report.collectionModifier number

collection modifier within report.

Example100
data.report.expensePayable number

expense payable within report.

Example100
data.report.inputVat number

Value-added tax amount.

Example100
data.report.outputVat number

Value-added tax amount.

Example100
data.report.netVatPosition number

net vat position within report.

Example100
data.report.vatPaid number

vat paid within report.

Example100
data.report.standaloneIncome object

standalone income within report.

ShowHide 2 properties
data.report.standaloneIncome.count number

count within standalone income.

Example100
data.report.standaloneIncome.recognizedAmount number

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

Example100
data.report.consolidated object

consolidated within report.

ShowHide 9 properties
data.report.consolidated.metrics object

metrics within consolidated.

ShowHide 10 properties
data.report.consolidated.metrics.revenue number

revenue within metrics.

Example100
data.report.consolidated.metrics.paidRevenue number

paid revenue within metrics.

Example100
data.report.consolidated.metrics.outstandingRevenue number

outstanding revenue within metrics.

Example100
data.report.consolidated.metrics.expenses number

expenses within metrics.

Example100
data.report.consolidated.metrics.recurringExpenses number

recurring expenses within metrics.

Example100
data.report.consolidated.metrics.payouts number

payouts within metrics.

Example100
data.report.consolidated.metrics.paidPayouts number

paid payouts within metrics.

Example100
data.report.consolidated.metrics.pendingPayouts number

pending payouts within metrics.

Example100
data.report.consolidated.metrics.netIncome number

net income within metrics.

Example100
data.report.consolidated.metrics.cashOnHand number

cash on hand within metrics.

Example100
data.report.consolidated.recognizedTaxInflow number

recognized tax inflow within consolidated.

Example100
data.report.consolidated.recognizedTaxOutflow number

recognized tax outflow within consolidated.

Example100
data.report.consolidated.capitalizedCost number

capitalized cost within consolidated.

Example100
data.report.consolidated.assetCarryingValue number

asset carrying value within consolidated.

Example100
data.report.consolidated.committedResult number

committed result within consolidated.

Example100
data.report.consolidated.cashResult number

cash result within consolidated.

Example100
data.report.consolidated.netIncomeBeforeTax number

net income before tax within consolidated.

Example100
data.report.consolidated.netIncomeAfterTax number

net income after tax within consolidated.

Example100
data.report.profitLoss object

profit loss within report.

ShowHide 4 properties
data.report.profitLoss.currency object

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

ShowHide 4 properties
data.report.profitLoss.currency.id string

Opaque identifier for this resource or reference.

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

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.report.profitLoss.currency.code string

ISO 4217 currency code, such as SAR or USD.

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

ExampleSAR
data.report.profitLoss.currency.conversion object

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

ShowHide 3 properties
data.report.profitLoss.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.report.profitLoss.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.report.profitLoss.currency.conversion.rate string

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

Maximum length: 128 characters.

Example1.00
data.report.profitLoss.currency.name string

Display name of the record.

ExampleSaudi Riyal
data.report.profitLoss.buckets string[]

buckets within profit loss.

Example1 item
data.report.profitLoss.rows object[]

rows within profit loss.

ShowHide 4 properties
data.report.profitLoss.rows[].month string

month within rows.

Example2026-01
data.report.profitLoss.rows[].revenue number

revenue within rows.

Example100
data.report.profitLoss.rows[].expenses number

expenses within rows.

Example100
data.report.profitLoss.rows[].net number

Total before tax and other modifiers.

Example100
data.report.profitLoss.granularity string

granularity within profit loss.

Allowed values: "day", "month", "year"

Exampleday
data.report.topClients object[]

top clients within report.

ShowHide 3 properties
data.report.topClients[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1C
data.report.topClients[].name string

Display name of the record.

ExampleNQD record
data.report.topClients[].total number

Total number of records that match the request.

Example100
data.report.topProjects object[]

top projects within report.

ShowHide 3 properties
data.report.topProjects[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1D
data.report.topProjects[].name string

Display name of the record.

ExampleNQD record
data.report.topProjects[].total number

Total number of records that match the request.

Example100
data.report.topInvoices object[]

top invoices within report.

ShowHide 3 properties
data.report.topInvoices[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1P
data.report.topInvoices[].name string

Display name of the record.

ExampleNQD record
data.report.topInvoices[].count number

count within top invoices.

Example100
data.report.topVendors object[]

top vendors within report.

ShowHide 3 properties
data.report.topVendors[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1C
data.report.topVendors[].name string

Display name of the record.

ExampleNQD record
data.report.topVendors[].total number

Total number of records that match the request.

Example100
data.report.topExpenses object[]

top expenses within report.

ShowHide 3 properties
data.report.topExpenses[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1R
data.report.topExpenses[].name string

Display name of the record.

ExampleNQD record
data.report.topExpenses[].total number

Total number of records that match the request.

Example100
data.report.topRecurringExpenses object[]

top recurring expenses within report.

ShowHide 3 properties
data.report.topRecurringExpenses[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1S
data.report.topRecurringExpenses[].name string

Display name of the record.

ExampleNQD record
data.report.topRecurringExpenses[].total number

Total number of records that match the request.

Example100
data.report.topPayouts object[]

top payouts within report.

ShowHide 3 properties
data.report.topPayouts[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1T
data.report.topPayouts[].name string

Display name of the record.

ExampleNQD record
data.report.topPayouts[].total number

Total number of records that match the request.

Example100
data.report.payoutFutureIntents object[]

payout future intents within report.

ShowHide 4 properties
data.report.payoutFutureIntents[].id string

Opaque identifier for this resource or reference.

ExampleConsulting services
data.report.payoutFutureIntents[].amount string

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

Example100.00
data.report.payoutFutureIntents[].currency object

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

ShowHide 3 properties
data.report.payoutFutureIntents[].currency.id string

Opaque identifier for this resource or reference.

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

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1F
data.report.payoutFutureIntents[].currency.code string

ISO 4217 currency code, such as SAR or USD.

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

ExampleSAR
data.report.payoutFutureIntents[].currency.conversion object

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

ShowHide 3 properties
data.report.payoutFutureIntents[].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.report.payoutFutureIntents[].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.report.payoutFutureIntents[].currency.conversion.rate string

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

Maximum length: 128 characters.

Example1.00
data.report.payoutFutureIntents[].nextOccurrenceAt string

ISO 8601 timestamp for next occurrence.

Example2026-01-15T12:00:00.000Z
data.report.selectedFilters object

selected filters within report.

ShowHide 8 properties
data.report.selectedFilters.clients object[]

clients within selected filters.

ShowHide 2 properties
data.report.selectedFilters.clients[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1C
data.report.selectedFilters.clients[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.projects object[]

projects within selected filters.

ShowHide 2 properties
data.report.selectedFilters.projects[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1D
data.report.selectedFilters.projects[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.vendors object[]

vendors within selected filters.

ShowHide 2 properties
data.report.selectedFilters.vendors[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1C
data.report.selectedFilters.vendors[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.tags object[]

Tags assigned to the record.

ShowHide 2 properties
data.report.selectedFilters.tags[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1M
data.report.selectedFilters.tags[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.invoices object[]

invoices within selected filters.

ShowHide 2 properties
data.report.selectedFilters.invoices[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1P
data.report.selectedFilters.invoices[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.expenses object[]

expenses within selected filters.

ShowHide 2 properties
data.report.selectedFilters.expenses[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1R
data.report.selectedFilters.expenses[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.recurringExpenses object[]

recurring expenses within selected filters.

ShowHide 2 properties
data.report.selectedFilters.recurringExpenses[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1S
data.report.selectedFilters.recurringExpenses[].name string

Display name of the record.

ExampleNQD record
data.report.selectedFilters.payouts object[]

payouts within selected filters.

ShowHide 2 properties
data.report.selectedFilters.payouts[].id string

Opaque identifier for this resource or reference.

Example01JQ2T5Y5Q3R8W9N6M4K2H7P1T
data.report.selectedFilters.payouts[].name string

Display name of the record.

ExampleNQD record
data.filters object

filters for this report.

ShowHide 10 properties
data.filters.clients string[]

clients within filters.

Example1 item
data.filters.projects string[]

projects within filters.

Example1 item
data.filters.vendors string[]

vendors within filters.

Example1 item
data.filters.tags string[]

Tags assigned to the record.

Example1 item
data.filters.invoices string[]

invoices within filters.

Example1 item
data.filters.expenses string[]

expenses within filters.

Example1 item
data.filters.recurringExpenses string[]

recurring expenses within filters.

Example1 item
data.filters.payouts string[]

payouts within filters.

Example1 item
data.filters.start string nullable

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

Example2026-01-01
data.filters.end string nullable

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

Example2026-01-31
data.fiscalStart string

fiscal start for this report.

Example2026-01-01
data.defaultRange object

default range for this report.

ShowHide 2 properties
data.defaultRange.end string

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

Example2026-01-31
data.defaultRange.start string

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

Example2026-01-01
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 ↗