Skip to content

List your persisted billing statements, or compute an on-demand provisional report

GET
/api/v1/statements
curl --request GET \
--url 'https://api-omni.linra.net/api/v1/statements?page=1&pageSize=20&mode=report' \
--header 'Authorization: Bearer <token>'

Two modes, chosen by the mode query parameter:

  • Default (omit mode, or any value other than report): returns your own persisted, immutable, weekly-generated statements, paged, newest first.
  • mode=report: requires from AND to; computes and returns a LIVE, NEVER-PERSISTED BillingDocument covering exactly that window — marked isProvisional: true. This is a convenience for ad-hoc reconciliation; it is NOT a substitute for your persisted statements and its sequenceNumber/statementNumber are always null.
page
integer
default: 1 >= 1
pageSize
integer
default: 20 >= 1 <= 100
mode
string
Allowed values: report

Omit for the persisted-statement list; set to report for the on-demand provisional report.

from
string format: date-time

Required when mode=report.

to
string format: date-time

Required when mode=report.

Either a page of PartnerStatementResponse (default mode) or one provisional BillingDocument (report mode).

Media typeapplication/json
object
state
required
string
payload
required
details
object
payload
required
One of:
object
items
Array<object>
object
id
string format: uuid
partnerId
string format: uuid
partnerGlobalId
string
sequenceNumber
integer
statementNumber
string
periodFrom
string format: date-time
periodTo
string format: date-time
generatedAt
string format: date-time
locked
boolean
currency
string
totalDebits
number format: decimal
totalCredits
number format: decimal
netPosition
number format: decimal
emailStatus
string
emailStatusReason
string
nullable
emailSentAt
string format: date-time
nullable
document
object
partnerId
string format: uuid
partnerGlobalId
string
sequenceNumber

Null for a provisional (mode=report) document.

integer
nullable
statementNumber
string
nullable
isProvisional
boolean
periodFrom
string format: date-time
periodTo
string format: date-time
generatedAt
string format: date-time
currency
string
totalDebits
number format: decimal
totalCredits
number format: decimal
netPosition
number format: decimal
lines
Array<object>
object
transactionId
integer format: int64
timestamp
string format: date-time
transactionType
string
Allowed values: Debit Credit
referenceType
string
referenceId
string
amount
number format: decimal
balanceAfter
number format: decimal
notes
string
nullable
orderGoodsVatAmount
number
nullable
orderCommissionVatAmount
number
nullable
orderTotalAmountWithVat
number
nullable
orderTotalCommissionWithVat
number
nullable
platformTaxRegistrationNumber
string
nullable
partnerTaxRegistrationNumber
string
nullable
documentNature
string
pagination
object
page
integer
pageSize
integer
totalCount
integer
totalPages
integer
Examples

mode omitted — persisted statement list

{
"state": "SUCCESS",
"payload": {
"items": [],
"pagination": {
"page": 1,
"pageSize": 20,
"totalCount": 0,
"totalPages": 0
}
}
}

mode=report without both from and to.

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Examples
ExamplemissingRange
{
"state": "VALIDATION_MISSING_REPORT_RANGE",
"payload": null,
"details": {}
}

Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Example
{
"state": "NOT_FOUND_ORDER",
"payload": null
}
Retry-After
integer

Seconds to wait before retrying.