Search credit card entries
Operation ID: searchCreditCardEntry
Group: Banking › Credit Card Entries
Open in the interactive reference
POST /banking/credit-card-entries/search
Read-only: A read that takes its filters in the body. Changes nothing, and ignores Idempotency-Key.
Searches credit card entries. Each credit card entry in the results includes its lines, unlike GET banking/credit-card-entries.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Request body
Required, application/json: searchCreditCardEntryInput.
| Field | Type | Required | Description |
|---|---|---|---|
filters |
object | no | The filters to apply. A credit card entry must match every filter you send. Omit to return all credit card entries. Example: {"status":"Unmatched"}. |
filters.id |
string | no | Limits results to the credit card entry with this identifier. |
filters.creditCardEntryNumber |
string | no | Limits results to the credit card entry with this number. The match is exact. |
filters.journalEntryNumber |
string | no | Limits results to entries that posted to the journal entry with this number. The match is exact. |
filters.status |
string | no | Limits results to entries in this status. Accepted values: 'Matched', 'Unmatched', 'Posted', 'Voided', 'Integrated'. Any other value matches nothing. |
filters.currency |
string | no | Limits results to entries denominated in this currency. Format ISO 4217, for example 'USD'. |
filters.creditCardAccountId |
string | no | Limits results to entries recorded against this credit card general-ledger account. See id on GET accounting/accounts/:id. |
filters.entityId |
string | no | Limits results to entries posted under this legal entity. See id on GET base/entities. |
filters.origin |
string | no | Limits results to entries created by this source system. The match is exact. |
page |
object | no | The pagination controls. Omit for the first page. Example: {"size":50}. |
page.cursor |
string | no | The cursor from the previous response's pagination.nextCursor. Omit for the first request. |
page.size |
number | no | The number of credit card entries per page. Defaults to 50. A value above 200 is treated as 200, not rejected. |
{
"filters": {
"status": "Unmatched"
},
"page": {
"size": 50
}
}
Response
200 Success
Under data (searchCreditCardEntryOutput):
| Field | Type | Required | Description |
|---|---|---|---|
items |
array<object> | yes | The credit card entries on this page, most recently created first. An empty array when nothing matches. |
items[].id |
string | yes | The unique identifier for the credit card entry. |
items[].creditCardEntryNumber |
string | no | The credit card entry number. Absent until one has been assigned. |
items[].name |
string | no | The display name of the credit card entry. |
items[].description |
string | no | A free-form description of the entry. |
items[].transactionDate |
date | yes | The date of the transaction this entry records. Format YYYY-MM-DD. |
items[].serviceDate |
date | no | The date the goods or services were delivered. Format YYYY-MM-DD. |
items[].currency |
string | no | The currency the entry is denominated in. Format ISO 4217, for example 'USD'. It governs every line amount. |
items[].status |
string | yes | The reconciliation status of the entry. Possible values: 'Matched', 'Unmatched', 'Posted', 'Voided', 'Integrated'. |
items[].journalEntryNumber |
string | no | The number of the journal entry this entry posted to, when it has been posted. |
items[].origin |
string | no | A label for the source system the entry was created from. |
items[].externalUrl |
string | no | A link to the source document in an external system. |
items[].creditCardAccountId |
string | no | The credit card general-ledger account this entry is recorded against. See id on GET accounting/accounts/:id. |
items[].creditCardAccountName |
string | no | The name of the credit card general-ledger account. |
items[].entityId |
string | no | The legal entity this entry is posted under. See id on GET base/entities. |
items[].lastModifiedDate |
date-time | yes | The date and time the credit card entry last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
items[].lines |
array<object> | no | The posting lines of the entry, one per general-ledger posting. An empty array when the entry has none. |
items[].lines[].id |
string | yes | The unique identifier for the line. |
items[].lines[].lineNumber |
string | no | The line number. |
items[].lines[].description |
string | no | A free-form description of the line. |
items[].lines[].lineType |
string | no | The kind of line. Possible values: 'oneTime', 'prepaid'. |
items[].lines[].amount |
decimal | no | The gross line amount, including VAT, in the entry currency. |
items[].lines[].currency |
string | no | The currency of the line. Format ISO 4217. It always matches the entry currency. |
items[].lines[].netAmount |
decimal | no | The line amount excluding VAT, in the entry currency. |
items[].lines[].vatAmount |
decimal | no | The VAT amount on the line, in the entry currency. |
items[].lines[].vatPercentage |
decimal | no | The VAT rate applied, as a percentage. For example, 19 means 19%. |
items[].lines[].origin |
string | no | A label for the source system, copied onto the line from the entry. |
items[].lines[].accountId |
string | no | The general-ledger account this line posts to. See id on GET accounting/accounts/:id. |
items[].lines[].departmentId |
string | no | The department this line is charged to. See id on GET people/departments/:id. |
items[].lines[].amortizationSchedules |
array<object> | no | The amortization schedules this line is deferred over, one per accounting book. Absent when the line is not amortized, which is every line whose lineType is not 'prepaid'. To read the schedule lines, use GET accounting/amortization-schedule-lines and filter on amortizationScheduleHeaderId. |
items[].lines[].amortizationSchedules[].id |
string | yes | The unique identifier for the amortization schedule. To read its schedule lines, pass it as amortizationScheduleHeaderId to GET accounting/amortization-schedule-lines. |
items[].lines[].amortizationSchedules[].bookId |
string | no | The accounting book this schedule posts into. It is what distinguishes the entries of this array. See id on GET accounting/books/:id. |
items[].lines[].amortizationSchedules[].bookName |
string | no | The name of the accounting book this schedule posts into. |
items[].lines[].amortizationSchedules[].status |
string | no | How far the schedule has progressed. Values include 'notStarted', 'inProgress', 'completed' and 'voided'. A schedule created alongside an unposted entry reads 'notStarted' until the entry posts. |
items[].lines[].amortizationSchedules[].amortizationMethod |
string | no | How the schedule spreads its total. Values include 'exactDays', 'pointInTime', 'straightLine', 'straightLineProRateFirstLast' and 'usageBased'. |
items[].lines[].amortizationSchedules[].amortizationStartDate |
date | no | The first day the schedule amortizes over. Format YYYY-MM-DD. |
items[].lines[].amortizationSchedules[].amortizationEndDate |
date | no | The last day the schedule amortizes over, inclusive. Format YYYY-MM-DD. |
items[].lines[].amortizationSchedules[].term |
decimal | no | The number of months the schedule spreads over. A count, not an amount, so it carries no currency. |
items[].lines[].amortizationSchedules[].description |
string | no | The note recorded against the schedule, where one was given. |
items[].lines[].amortizationSchedules[].deferredAccountId |
string | no | The general ledger account the deferred balance sits on until it is recognized. See id on GET accounting/accounts/:id. |
items[].lines[].amortizationSchedules[].recognitionAccountId |
string | no | The general ledger account where each schedule line recognizes the expense. See id on GET accounting/accounts/:id. Absent on a schedule that has no schedule lines yet. |
items[].lines[].amortizationSchedules[].totalRecognized |
decimal | no | The amount recognized so far by the schedule lines whose journal entries are posted, in the entry currency. Zero until the first schedule line's journal entry is posted. |
pagination |
object | yes | The pagination cursor for this page. |
pagination.nextCursor |
string | no | The cursor to pass as page.cursor for the next page. Absent on the last page. |
pagination.hasMore |
boolean | yes | Whether more matches remain beyond this page. |
{
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"creditCardEntryNumber": "<creditCardEntryNumber>",
"name": "<name>",
"description": "<description>",
"transactionDate": "2026-01-15",
"serviceDate": "2026-01-15",
"currency": "<currency>",
"status": "<status>",
"journalEntryNumber": "<journalEntryNumber>",
"origin": "<origin>",
"externalUrl": "<externalUrl>",
"creditCardAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"creditCardAccountName": "<creditCardAccountName>",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lastModifiedDate": "2026-01-15T09:30:00.000Z",
"lines": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lineNumber": "<lineNumber>",
"description": "<description>",
"lineType": "<lineType>",
"amount": "19.99",
"currency": "<currency>",
"netAmount": "19.99",
"vatAmount": "19.99",
"vatPercentage": "19.99",
"origin": "<origin>",
"accountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"departmentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortizationSchedules": [
null
]
}
]
}
],
"pagination": {
"nextCursor": "<nextCursor>",
"hasMore": true
}
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error