openapi: 3.2.0 info: contact: name: API Support email: support@getpliant.com url: https://www.getpliant.com title: Pliant Customer Accounting Transactions API description: Pliant Customer API version: 2.1.0 license: name: MIT url: https://opensource.org/license/MIT servers: - url: https://partner-api.getpliant.com/api description: Pliant Production Server - url: https://sandbox.partner-api.getpliant.com/api description: Pliant Sandbox Server - url: https://pci-api.getpliant.com description: PCI Vault Production Server - url: https://pci-sandbox.partner-api.getpliant.com description: PCI Vault Sandbox Server security: - bearerAuth: [] tags: - name: Accounting Transactions description: This tag is for operations related to accounting transactions paths: /accounting/transactions: post: summary: List Accounting Transactions description: Returns accounting transactions for one or more transactions depending on the given input. You can also request accounting transaction details per card(s), cardholder(s) or organization(s). The API returns all accounting transaction details to the given input which can be found in the system. So you can also combine the different input fields (OR relation). Be aware that the usage of cardholder or organizations IDs most likely add multiple accounting transaction details themselves. Also cardholders can be part of multiple organizations, thus when searching via cardholder IDs, it might return more data than it would for just one organization this cardholder is part of. At least one parameter has to be set. tags: - Accounting Transactions operationId: get-accounting-transactions-batch requestBody: required: true content: application/json: schema: type: object properties: transactionIds: type: array description: The unique identifiers of the transactions to filter by. items: type: string format: uuid cardIds: type: array description: The unique identifiers of the cards to filter by. items: type: string format: uuid cardholderIds: type: array description: The unique identifiers of the cardholders to filter by. items: type: string format: uuid organizationIds: type: array description: The unique identifiers of the organizations to filter by. items: type: string format: uuid cardAccountIds: type: array description: The unique identifiers of the card accounts to filter by. items: type: string format: uuid exportStatus: type: string description: 'The export status of the transaction. It can be one of the following values: `NOT_EXPORTED`, `IN_EXPORT_QUEUE`, `EXPORTING`, `EXPORTED`.' enum: - NOT_EXPORTED - IN_EXPORT_QUEUE - EXPORTING - EXPORTED pagination: type: object properties: page: type: integer description: The page number to return, starting with 0, this counts up to the total number of pages. The total number of pages is determined by the total number of records divided by the limit. limit: type: integer description: The maximum number of items to return per page. The default value if not provided is 100, the maximum allowed value is 1000. responses: '200': description: Ok content: application/json: schema: type: object properties: data: type: array items: type: object properties: transactionId: type: string format: uuid description: The ID of the transaction. organizationId: type: string format: uuid description: The ID of the organization this transaction belongs to. cardAccountId: type: string format: uuid description: The ID of the [card account](/docs/card-account) this transaction belongs to. billingAmount: type: object description: The amount that was billed to the cardholder, in the currency of the card account. properties: value: type: number description: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts. currency: type: string description: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar. transactionAmount: type: object description: The amount that was transacted. properties: value: type: number description: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts. currency: type: string description: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar. supplier: type: - object - 'null' description: The supplier of the transaction, if assigned. properties: id: type: string format: uuid description: The unique identifier of the supplier. name: type: string description: The name of the supplier. accountNumber: type: string description: The account number of the supplier. autoMatched: type: boolean description: Whether the supplier was automatically matched or manually set by the cardholder. exportStatus: type: string description: 'The export status of the transaction. It can be one of the following values: `NOT_EXPORTED`, `IN_EXPORT_QUEUE`, `EXPORTING`, `EXPORTED`. This defines whether the transaction is exported to an accounting system or not.' enum: - NOT_EXPORTED - IN_EXPORT_QUEUE - EXPORTING - EXPORTED receiptNumber: type: string description: The receipt number of a transaction if it is available. Receipt numbers are typically used to identify a transaction in an accounting system hence we store it on transaction level. If not automatically extracted it can be provided by any user within Pliant. Can be overwritten even if automatically extracted. accountingTransactions: type: array description: The accounting transactions of the transaction. Contains 1..n entries, depending on whether the transaction was split into multiple accounting transactions or not. items: type: object properties: accountingTransactionId: type: string format: uuid description: The ID of the accounting transaction. index: type: integer description: The index of the accounting transaction within the transaction. billingAmount: type: object description: The amount that was billed to the cardholder, in the currency of the card account. properties: value: type: number currency: type: string transactionAmount: type: object description: The amount that was transacted. properties: value: type: number currency: type: string subcategory: type: - object - 'null' description: The subcategory of the accounting transaction, if assigned. properties: id: type: string format: uuid description: The unique identifier of the subcategory. name: type: string description: The name of the subcategory. accountNumber: type: string description: The account number of the subcategory. autoMatched: type: boolean description: Whether the subcategory was automatically matched or manually set by the cardholder. vatRate: type: - object - 'null' description: The VAT rate of the accounting transaction, if assigned. properties: id: type: string format: uuid description: The unique identifier of the VAT rate. name: type: string description: The name of the VAT rate. rate: type: number format: double example: 12.35 description: The rate of the VAT rate. code: type: string description: The code of the VAT rate. autoMatched: type: boolean description: Whether the VAT rate was automatically matched or manually set by the cardholder. project: type: - object - 'null' description: The project (cost unit) of the accounting transaction, if assigned. properties: id: type: string format: uuid description: The unique identifier of the project. name: type: string description: The name of the project. costUnit: type: string description: The cost unit of the project. team: type: - object - 'null' description: The team (cost center) of the accounting transaction, if assigned. properties: id: type: string format: uuid description: The unique identifier of the team. name: type: string description: The name of the team. costCenter: type: string description: The cost center of the team. customFields: type: array description: The [custom fields](/docs/custom-fields-on-transactions) set on this accounting transaction. items: $ref: '#/paths/~1accounting~1transactions~1{accountingTransactionId}~1custom-fields/patch/responses/202/content/application~1json/schema' hasNextPage: type: boolean description: Indicates whether there is a next page available. '400': $ref: '#/paths/~1cards/get/responses/400' '401': $ref: '#/paths/~1cards/get/responses/401' '403': $ref: '#/paths/~1cards/get/responses/403' '500': $ref: '#/paths/~1cards/get/responses/500' /accounting/transactions/subscription: post: summary: 'Callback: Add/Update' description: Subscribe to callbacks for this entity or change an existing callback. tags: - Accounting Transactions operationId: create-accounting-transaction-subscription requestBody: required: true content: application/json: schema: type: object properties: callbackUrl: type: string format: uri example: https://myserver.com/send/callback/here description: The URL to send the callback to. Must be a valid and reachable URL. We do some basic validation to ensure the URL is syntactically correct and reachable for Pliant. Only HTTPS URLs are supported. eventTypes: type: array description: The event types to subscribe to. items: type: string enum: - ACCOUNTING_TRANSACTION_CREATED - ACCOUNTING_TRANSACTION_UPDATED - ACCOUNTING_TRANSACTION_STATUS_CHANGED required: - callbackUrl - eventTypes responses: '201': description: Created '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error callbacks: accountingTransactionUpdated: '{$request.body#/callbackUrl}': post: parameters: - in: header name: X-Organization-Id schema: type: string format: uuid description: 'Referencing the organization this callback was sent for. See [guides](/docs/callbacks) for more details. Example value: `54e6e7e7-0c23-4a54-bccb-2d3ff2fd02df`.' - in: header name: X-Partner-Organization-Id schema: type: string description: 'Filled, if the value `partnerOrganizationId` is [set](/reference/update-organization) by the partner on the organization itself. Referencing the organization identifier of the partner. Example value: `abc123`.' - in: header name: X-Payment-Program-Id schema: type: string format: uuid description: 'Referencing the payment program this callback was sent for. See [guides](/docs/callbacks) for more details. Example value: `54e6e7e7-0c23-4a54-bccb-2d3ff2fd02df`.' - in: header name: X-Callback-Id schema: type: string format: uuid description: 'A unique identifier for this callback. Can be used to deduplicate callbacks to achieve idempotent behavior. See [guides](/docs/callbacks) for more details. Example value: `12a03093-eaad-4ae5-9d8d-42e7f6f8b7c6`.' - in: header name: X-Callback-Created-At schema: type: string format: date-time description: 'The date and time when the callback was created. Can be used to reorder callbacks. See [guides](/docs/callbacks) for more details. Example value: `2024-03-15T15:55:58.623375258Z`.' requestBody: content: application/json: schema: allOf: - $ref: '#/paths/~1cards~1subscription/post/callbacks/cardUpdated/{$request.body#~1callbackUrl}/post/requestBody/content/application~1json/schema/allOf/0' - type: object properties: transactionId: type: string format: uuid cardAccountId: type: string format: uuid description: The card account to which the transactions belong. billingAmount: type: object description: The amount that was billed to the cardholder, in the currency of the card account. properties: value: type: number description: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts. currency: type: string description: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar. transactionAmount: type: object properties: value: type: number description: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts. currency: type: string description: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar. supplier: type: - object - 'null' properties: id: type: string format: uuid name: type: string accountNumber: type: - string - 'null' autoMatched: type: boolean exportStatus: type: string description: 'The export status of the transaction. It can be one of the following values: `NOT_EXPORTED`, `IN_EXPORT_QUEUE`, `EXPORTING`, `EXPORTED`. This defines whether the transaction is exported to an accounting system or not.' enum: - NOT_EXPORTED - IN_EXPORT_QUEUE - EXPORTING - EXPORTED statusBeforeChange: type: string description: The `exportStatus` of the transaction before the change. enum: - NOT_EXPORTED - IN_EXPORT_QUEUE - EXPORTING - EXPORTED receiptNumber: type: string description: The receipt number of a transaction if it is available. Receipt numbers are typically used to identify a transaction in an accounting system hence we store it on transaction level. If not automatically extracted it can be provided by any user within Pliant. Can be overwritten even if automatically extracted. accountingTransactions: type: array items: type: object properties: index: type: integer accountingTransactionId: type: string format: uuid billingAmount: description: The amount that was billed to the cardholder, in the currency of the card account. type: object properties: value: type: number currency: type: string transactionAmount: type: object properties: value: type: number currency: type: string category: type: string enum: - ADVERTISING_AND_MARKETING - COMPUTING_AND_SOFTWARE - EDUCATION_AND_TRAINING - ELECTRONICS_AND_IT_EQUIPMENT - ENTERTAINMENT_AND_WELLNESS - FOOD_AND_DRINKS - GIFTS_AND_VOUCHERS - MATERIALS_AND_PACKAGING - OFFICE_SUPPLIES_AND_EQUIPMENT - SERVICES - TRAVEL_AND_ACCOMMODATION - HEALTHCARE - OTHER subcategory: type: - object - 'null' properties: id: type: string format: uuid name: type: string accountNumber: type: - string - 'null' autoMatched: type: boolean vatRate: type: - object - 'null' properties: id: type: string format: uuid name: type: string rate: type: string code: type: - string - 'null' autoMatched: type: boolean project: type: - object - 'null' properties: id: type: string format: uuid name: type: string costUnit: type: - string - 'null' team: type: - object - 'null' description: null if Team is not assigned properties: id: type: string format: uuid name: type: string costCenter: type: - string - 'null' responses: '200': description: We expect the partner to return a HTTP 200 status code if the callback was successfully received. On 4xx and 5xx status codes, we will [retry](/docs/callbacks#retries) the callback. delete: summary: 'Callback: Remove' description: Remove a callback subscription for this entity. tags: - Accounting Transactions operationId: remove-accounting-transaction-subscription requestBody: required: true content: application/json: schema: type: object properties: eventTypes: type: array description: The event types to unsubscribe from. items: type: string enum: - ACCOUNTING_TRANSACTION_CREATED - ACCOUNTING_TRANSACTION_UPDATED - ACCOUNTING_TRANSACTION_STATUS_CHANGED required: - eventTypes responses: '200': description: Ok /accounting/transactions/{accountingTransactionId}/custom-fields: patch: summary: Update Custom Fields description: Update the values of custom fields related to an accounting transaction. All custom fields need to be provided, by not providing a custom field, the value of that custom field will be removed, i.e. set to `null`. tags: - Accounting Transactions operationId: update-custom-fields-on-accounting-transaction parameters: - name: accountingTransactionId in: path required: true description: The unique identifier of the accounting transaction. schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object properties: customFields: description: The [custom fields](/docs/custom-fields-on-transactions) to update/change on the accounting transaction. All [custom fields](/docs/custom-fields-on-transactions) need to be provided, by not providing a custom field, the default value of that custom field will be removed, i.e. set to `null`. type: - array - 'null' items: type: object properties: id: type: string format: uuid description: The id of the custom field to set on this accounting transaction. value: type: string description: The value of the custom field to set on this accounting transaction. The maximum length of the value is 64kB. If the custom field is of type `SELECT`, the value has to be one of the options of the custom field. maxLength: 65536 responses: '202': description: Accepted content: application/json: schema: type: - array - 'null' items: type: object properties: id: type: string format: uuid description: The id of the custom field used on this accounting transaction. value: type: string description: The value of the custom field on this accounting transaction. label: type: string description: The label of the custom field used on this accounting transaction. type: type: string description: The type of the custom field used on this accounting transaction. enum: - TEXT - SELECT '400': $ref: '#/paths/~1cards/get/responses/400' '401': $ref: '#/paths/~1cards/get/responses/401' '403': $ref: '#/paths/~1cards/get/responses/403' '404': $ref: '#/paths/~1cards/post/responses/404' '500': $ref: '#/paths/~1cards/get/responses/500' components: securitySchemes: bearerAuth: type: http scheme: bearer description: This API uses oAuth2 with client credentials flow to [obtain the Bearer Token](/docs/authenticated-api-usage). bearerFormat: JWT x-provenance: method: searched source: https://customer-api.getpliant.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://customer-api.getpliant.com/reference/activate-physical-card.md - https://customer-api.getpliant.com/reference/assign-project-team.md - https://customer-api.getpliant.com/reference/assign-to-team.md - https://customer-api.getpliant.com/reference/bulk-upsert-subscriptions.md - https://customer-api.getpliant.com/reference/card-pan-and-cvv-pci-vault.md - https://customer-api.getpliant.com/reference/card-pan-tokenized-from-pci-proxy.md - https://customer-api.getpliant.com/reference/claim-card-as-copilot.md - https://customer-api.getpliant.com/reference/create-account-entry-subscription.md - https://customer-api.getpliant.com/reference/create-accounting-project-subscription.md - https://customer-api.getpliant.com/reference/create-accounting-team-subscription.md - https://customer-api.getpliant.com/reference/create-accounting-transaction-subscription.md - https://customer-api.getpliant.com/reference/create-card-account-subscription.md - https://customer-api.getpliant.com/reference/create-card-account-transfer.md - https://customer-api.getpliant.com/reference/create-card-account.md - https://customer-api.getpliant.com/reference/create-card-copilot-subscription.md - https://customer-api.getpliant.com/reference/create-card-subscription.md - https://customer-api.getpliant.com/reference/create-cardholder-subscription.md - https://customer-api.getpliant.com/reference/create-custom-field-option.md - https://customer-api.getpliant.com/reference/create-custom-field.md - https://customer-api.getpliant.com/reference/create-payment-subscription.md - https://customer-api.getpliant.com/reference/create-project.md - https://customer-api.getpliant.com/reference/create-receipt-automatching-subscription.md - https://customer-api.getpliant.com/reference/create-receipt-subscription.md - https://customer-api.getpliant.com/reference/create-statement-subscription.md - https://customer-api.getpliant.com/reference/create-team.md - https://customer-api.getpliant.com/reference/create-transaction-subscription.md - https://customer-api.getpliant.com/reference/deactivate-card-account.md - https://customer-api.getpliant.com/reference/deactivate-cardholder.md - https://customer-api.getpliant.com/reference/deactivate-team.md - https://customer-api.getpliant.com/reference/delete-custom-field-option.md - https://customer-api.getpliant.com/reference/delete-custom-field.md - https://customer-api.getpliant.com/reference/delete-project.md - https://customer-api.getpliant.com/reference/delete-receipt.md - https://customer-api.getpliant.com/reference/delete-subscription.md - https://customer-api.getpliant.com/reference/delete-team.md - https://customer-api.getpliant.com/reference/delete-transaction-comment.md - https://customer-api.getpliant.com/reference/generate-test-transactions-in-sandbox.md - https://customer-api.getpliant.com/reference/get-account-entries.md - https://customer-api.getpliant.com/reference/get-accounting-transactions-batch.md - https://customer-api.getpliant.com/reference/get-available-cards.md - https://customer-api.getpliant.com/reference/get-callback-details.md - https://customer-api.getpliant.com/reference/get-callback-log.md - https://customer-api.getpliant.com/reference/get-callback-subscriptions.md - https://customer-api.getpliant.com/reference/get-callback.md - https://customer-api.getpliant.com/reference/get-card-account-details.md - https://customer-api.getpliant.com/reference/get-card-accounts-available-currencies.md - https://customer-api.getpliant.com/reference/get-card-accounts.md - https://customer-api.getpliant.com/reference/get-card-controls-by-card.md - https://customer-api.getpliant.com/reference/get-card-pin.md - https://customer-api.getpliant.com/reference/get-cardholder-details.md - https://customer-api.getpliant.com/reference/get-cards.md - https://customer-api.getpliant.com/reference/get-custom-field-options.md - https://customer-api.getpliant.com/reference/get-custom-fields.md - https://customer-api.getpliant.com/reference/get-multiple-card-details.md - https://customer-api.getpliant.com/reference/get-organization-details.md - https://customer-api.getpliant.com/reference/get-otp-for-pci-widget.md - https://customer-api.getpliant.com/reference/get-payments-detail.md - https://customer-api.getpliant.com/reference/get-payments.md - https://customer-api.getpliant.com/reference/get-projects.md - https://customer-api.getpliant.com/reference/get-receipt-automatcher-status.md - https://customer-api.getpliant.com/reference/get-receipt-detail.md - https://customer-api.getpliant.com/reference/get-receipts.md - https://customer-api.getpliant.com/reference/get-single-card-details.md - https://customer-api.getpliant.com/reference/get-statement-csv.md - https://customer-api.getpliant.com/reference/get-statement-detail.md - https://customer-api.getpliant.com/reference/get-statementpdf.md - https://customer-api.getpliant.com/reference/get-statements.md - https://customer-api.getpliant.com/reference/get-teams.md - https://customer-api.getpliant.com/reference/get-transactions-detail-batch.md - https://customer-api.getpliant.com/reference/get-transactions-detail.md - https://customer-api.getpliant.com/reference/get-transactions.md - https://customer-api.getpliant.com/reference/invite-cardholders.md - https://customer-api.getpliant.com/reference/issue-card-instant-with-pci.md - https://customer-api.getpliant.com/reference/issue-card-instant.md - https://customer-api.getpliant.com/reference/issue-card.md - https://customer-api.getpliant.com/reference/list-cardholders.md - https://customer-api.getpliant.com/reference/list-organizations.md - https://customer-api.getpliant.com/reference/load-cards-batch.md - https://customer-api.getpliant.com/reference/lock-card.md - https://customer-api.getpliant.com/reference/metadata-receipt-to-automatcher.md - https://customer-api.getpliant.com/reference/receipt-as-merged-pdf.md - https://customer-api.getpliant.com/reference/receipt-as-pdf.md - https://customer-api.getpliant.com/reference/receipt-original.md - https://customer-api.getpliant.com/reference/receipt-thumbnail.md - https://customer-api.getpliant.com/reference/register-cardholders.md - https://customer-api.getpliant.com/reference/remove-account-entry-subscription.md - https://customer-api.getpliant.com/reference/remove-accounting-project-subscription.md - https://customer-api.getpliant.com/reference/remove-accounting-team-subscription.md - https://customer-api.getpliant.com/reference/remove-accounting-transaction-subscription.md - https://customer-api.getpliant.com/reference/remove-card-account-subscription.md - https://customer-api.getpliant.com/reference/remove-card-copilot-subscription.md - https://customer-api.getpliant.com/reference/remove-cardholder-subscription.md - https://customer-api.getpliant.com/reference/remove-cards-subscription.md - https://customer-api.getpliant.com/reference/remove-payment-subscription.md - https://customer-api.getpliant.com/reference/remove-receipt-automatching-subscription.md - https://customer-api.getpliant.com/reference/remove-receipt-subscription.md - https://customer-api.getpliant.com/reference/remove-statement-subscription.md - https://customer-api.getpliant.com/reference/remove-transaction-subscription.md - https://customer-api.getpliant.com/reference/replace-card.md - https://customer-api.getpliant.com/reference/resend-callbacks.md - https://customer-api.getpliant.com/reference/search-callbacks.md - https://customer-api.getpliant.com/reference/simulate-prefund-payment.md - https://customer-api.getpliant.com/reference/simulate-transaction-status-transition.md - https://customer-api.getpliant.com/reference/terminate-card.md - https://customer-api.getpliant.com/reference/unassign-from-team.md - https://customer-api.getpliant.com/reference/unassign-project-team.md - https://customer-api.getpliant.com/reference/unlock-card.md - https://customer-api.getpliant.com/reference/update-card-account.md - https://customer-api.getpliant.com/reference/update-card-controls-by-card.md - https://customer-api.getpliant.com/reference/update-card-copilots.md - https://customer-api.getpliant.com/reference/update-card-label.md - https://customer-api.getpliant.com/reference/update-card-limit.md - https://customer-api.getpliant.com/reference/update-card-validity-period.md - https://customer-api.getpliant.com/reference/update-card.md - https://customer-api.getpliant.com/reference/update-cardholders.md - https://customer-api.getpliant.com/reference/update-custom-field-option.md - https://customer-api.getpliant.com/reference/update-custom-field.md - https://customer-api.getpliant.com/reference/update-custom-fields-on-accounting-transaction.md - https://customer-api.getpliant.com/reference/update-custom-fields-on-card.md - https://customer-api.getpliant.com/reference/update-project.md - https://customer-api.getpliant.com/reference/update-team.md - https://customer-api.getpliant.com/reference/update-transaction-category.md - https://customer-api.getpliant.com/reference/update-transaction-comment.md - https://customer-api.getpliant.com/reference/update-transaction-partner-submission-status-batch.md - https://customer-api.getpliant.com/reference/update-transaction-partner-submission-status.md - https://customer-api.getpliant.com/reference/update-transaction-receipt-upload.md - https://customer-api.getpliant.com/reference/upload-receipt-to-automatcher.md - https://customer-api.getpliant.com/reference/upload-receipt.md merge: pages: 128 deduped: 452 conflicts_kept_first: 0