# Pliant Pro API (Customer) Documentation > Pliants Pro API is easy to set up and enables you as a customer to access pliant credit card data and features programmatically. With the customer API, you are able to automate your business processes, enhance your software solutions, build your own integrations with third-party providers and much more. ## Guides - [Getting Started](https://customer-api.getpliant.com/docs/introduction.md): Everything you can do with our apps — you can do via API - [Core Concepts](https://customer-api.getpliant.com/docs/core-concepts.md) - [Business Entities](https://customer-api.getpliant.com/docs/business-entities.md) - [Organization](https://customer-api.getpliant.com/docs/organization-entity.md) - [Card Account](https://customer-api.getpliant.com/docs/card-account.md) - [Cardholder](https://customer-api.getpliant.com/docs/cardholder-entity.md) - [Card](https://customer-api.getpliant.com/docs/card-entity.md) - [Transaction](https://customer-api.getpliant.com/docs/transaction-entity.md) - [Accounting Transaction](https://customer-api.getpliant.com/docs/accounting-transaction.md) - [Receipt](https://customer-api.getpliant.com/docs/receipt-entity.md) - [Custom Field](https://customer-api.getpliant.com/docs/custom-fields-on-transactions.md) - [Payment](https://customer-api.getpliant.com/docs/payment-entity.md) - [Statement](https://customer-api.getpliant.com/docs/statement.md) - [Account Entry](https://customer-api.getpliant.com/docs/account-entry-entity.md) - [Environments](https://customer-api.getpliant.com/docs/environment.md) - [Onboarding](https://customer-api.getpliant.com/docs/partner-approval-process.md) - [API Guidelines](https://customer-api.getpliant.com/docs/pliant-api-guidelines.md) - [API Lifecycle and Versioning](https://customer-api.getpliant.com/docs/versioning.md) - [Pagination & Ordering](https://customer-api.getpliant.com/docs/pagination.md) - [Error Handling](https://customer-api.getpliant.com/docs/error-handling.md) - [Monetary Values](https://customer-api.getpliant.com/docs/monetary-values.md) - [Date and Time](https://customer-api.getpliant.com/docs/date-and-time.md) - [Callbacks](https://customer-api.getpliant.com/docs/callbacks.md) - [Authenticated API Usage](https://customer-api.getpliant.com/docs/authenticated-api-usage.md) - [Authenticated Callbacks](https://customer-api.getpliant.com/docs/authenticated-callback-usage.md) - [Quick Start for Travel API Consumers](https://customer-api.getpliant.com/docs/quick-start-for-travel-api-consumers.md): This guide helps travel platforms (booking engines, TMCs, OTAs) issue virtual cards for each trip or booking. You'll learn how to create cards on-demand, set spending controls, and track transactions - [Quick Start for Accounting API Consumers](https://customer-api.getpliant.com/docs/quick-start-for-accounting-api-consumers.md) - [Card Controls](https://customer-api.getpliant.com/docs/card-controls-1.md) - [Special Transaction Scenarios](https://customer-api.getpliant.com/docs/special-transaction-scenarios.md) - [Advanced Limits](https://customer-api.getpliant.com/docs/advanced-limits.md) - [PCI API](https://customer-api.getpliant.com/docs/api-pliant-pci-dss-certified.md) - [PCI Proxy API](https://customer-api.getpliant.com/docs/sensitive-card-data-pci-proxy.md) - [PCI Widget Web](https://customer-api.getpliant.com/docs/pci-widget-web.md) - [Examples for PCI Widget Usage](https://customer-api.getpliant.com/docs/examples-for-iframe-widget-usage.md) - [PCI Widget Mobile](https://customer-api.getpliant.com/docs/pci-widget-mobile.md) - [iOS](https://customer-api.getpliant.com/docs/ios-specific-mobile-widget.md) - [Android](https://customer-api.getpliant.com/docs/android-specific-mobile-widget.md) - [React Native](https://customer-api.getpliant.com/docs/react-native-mobile-widget.md) - [Web Widget (MeaWallet)](https://customer-api.getpliant.com/docs/web-widget-meawallet.md) - [TOTP Generation Example](https://customer-api.getpliant.com/docs/totp-generation-example.md) - [API (MeaWallet) PCI-DSS certified](https://customer-api.getpliant.com/docs/sensitive-card-data-api-for-pci-dss.md): THIS API ACCESS IS DEPRECATED. Please us the Pliant-based one. - [Generate Test Data](https://customer-api.getpliant.com/docs/generate-test-transactions.md) - [MCP](https://customer-api.getpliant.com/docs/mcp.md) ## API Reference - [List Organizations](https://customer-api.getpliant.com/reference/list-organizations.md): Returns a list of organizations. You can filter by status or VAT ID to find specific organizations. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Organization Details](https://customer-api.getpliant.com/reference/get-organization-details.md): Returns a single organization by its ID - [List Card Accounts](https://customer-api.getpliant.com/reference/get-card-accounts.md): Returns a list of all card accounts for the given organization. Each organization has at least one active card account. Card accounts get created during the onboarding process. If multiple card accounts are used, there is exactly one active default card account. This default card account is used if no card account is specified in the request, where card accounts can be used, like when issuing a card. Each card account has one fixed currency for settlements. This currency is used for all transactions made with cards of this card account. More details can be found in our [guides](/docs/card-account) section. - [Card Account Details](https://customer-api.getpliant.com/reference/get-card-account-details.md): Returns the details of a card account by its unique identifier. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-card-account-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-card-account-subscription.md): Remove a callback subscription for this entity. - [List Cardholders](https://customer-api.getpliant.com/reference/list-cardholders.md): Returns a list of cardholders. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Cardholder Details](https://customer-api.getpliant.com/reference/get-cardholder-details.md): Returns the details of a [cardholder](/docs/cardholder-entity) by its unique identifier. - [Update Cardholder](https://customer-api.getpliant.com/reference/update-cardholders.md): Updates [cardholder](/docs/cardholder-entity) details. - [Deactivate Cardholder](https://customer-api.getpliant.com/reference/deactivate-cardholder.md): Deactivate a [cardholder](/docs/cardholder-entity) and terminate all active cards of that cardholder. You can optionally specify that the e-mail address of the cardholder should be modified by adding a suffix to it. This allows to re-invite the same e-mail address to a new cardholder. - [Register Cardholder](https://customer-api.getpliant.com/reference/register-cardholders.md): Register a new [cardholder](/docs/cardholder-entity) directly as an active cardholder. This creates the [cardholder](/docs/cardholder-entity) _without_ the option to use Pliant-based apps like the web or mobile app. This is normally used if the cardholders only interact with the API consumers app and not Pliant itself. Wait for the callback about the fully finished registration process to use this cardholder. For travel use cases, the cardholder can also be a purely technical cardholder. Meaning it is used for issuing a variety of cards, each with a custom customer first and last names. For details, please contact Pliant directly. - [Invite Cardholder](https://customer-api.getpliant.com/reference/invite-cardholders.md): Invite a new [cardholder](/docs/cardholder-entity) to Pliant. An invite email to the provided email address will be triggered, and the [cardholder](/docs/cardholder-entity) needs to register with Pliant using our registration flow. This means the [cardholder](/docs/cardholder-entity) is able to use Pliant web and mobile apps once fully registered. You will receive a callback once the [cardholder](/docs/cardholder-entity) is fully registered and can be used. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-cardholder-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-cardholder-subscription.md): Remove a callback subscription for this entity. - [List Cards](https://customer-api.getpliant.com/reference/get-cards.md): Returns a list of cards. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - changed the enumeration for the status field in the response body - [Card Details (Single)](https://customer-api.getpliant.com/reference/get-single-card-details.md): Returns details for a single card. For details of multiple cards, use our batch-style endpoint. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - added `cardControls` to response body - changed the enumeration for the status field in the response body - deprecated `type` and replaced it with `cardConfig` - [Card Details](https://customer-api.getpliant.com/reference/get-multiple-card-details.md): Returns card details for one or more cards depending on the given input. You can also request card details per cardholder(s) or organization(s). The API returns all card 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](/docs/cardholder-entity) or organizations IDs most likely add multiple card details themselves. Also cardholders can be part of multiple organizations, thus when searching via [cardholder](/docs/cardholder-entity) IDs, it might return more data than it would for just one organization this [cardholder](/docs/cardholder-entity) is part of. At least one parameter has to be set. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - added `cardControls` to response body - changed the enumeration for the status field in the response body - deprecated `type` and replaced it with `cardConfig` - [Available Card Configs](https://customer-api.getpliant.com/reference/get-available-cards.md): Returns a list of card configurations which are available for the API user to issue for the given organization. Pliant describes cards with a so called `cardConfig`. The card config describes all relevant aspects of a card, like the look of the card or the type of the card. Card configs can be used to [issue](./issue-card) new cards and they then replace the old `type` field of the card issuing. - [Issue Card](https://customer-api.getpliant.com/reference/issue-card.md): Issue a new credit card for a specific cardholder. A detailed explanation of different types and statuses can be found in our [guides](/docs/card-entity) section. Hint: you can also [replace](./replace-card) an existing card instead. If the cardholder is in the invited state at the time of issuing the card, we will park the card issuing request and automatically issue the card once the cardholder is active. Please be aware that card issuing is (as many other processes in Pliant's API) an [asynchronous process](/docs/core-concepts#mutating-data-happens-asynchronously). This means you need to rely on the callback for the card being active, before you can start using it. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - added `cardControls` to request and response body - deprecated `type` and replaced it with `cardConfig` - [Issue Card (Instant)](https://customer-api.getpliant.com/reference/issue-card-instant.md): This endpoint offers similar card issuing functionality as [the main card issuing endpoint](./issue-card), but specifically allows for a _synchronous_ and _instant_ card issuing, whereas the main card issuing flow works asynchronously and requires the consumption of a callback to confirm the card is actually active. This endpoint issues cards instantly in a synchronous fashion. Meaning the card is active and usable when this endpoint returns a `200 Ok` response. The use case being here a fully automated card issuing flow, followed by an immediate card usage on API level for normally PCI-DSS certified companies. Please note, that the [sensitive card data](./card-pan-and-cvv-pci-vault) still needs to be fetched separately after issuing a new card (if PCI-DSS compliant). **This endpoint should only be used if aligned with Pliant upfront. In 90% of cases, you want to use the normal card issuing endpoint instead, as linked above.** - [Issue Card (Instant as PCI-DSS)](https://customer-api.getpliant.com/reference/issue-card-instant-with-pci.md): This endpoint offers similar card issuing functionality as [the main card issuing endpoint](./issue-card), but specifically allows for a _synchronous_ and _instant_ card issuing, **including PCI-DSS compliant sensitive card data retrieval**, which can be then found in the response as object `sensitiveCardData`. This endpoint issues cards instantly in a synchronous fashion and returns the sensitive card data like the cards PAN and CVV directly. Meaning the card is active and usable when this endpoint returns a `200 Ok` response and you can directly use the card data to do a purchase of any kind. The use case being here a fully automated card issuing flow, followed by an immediate card usage on API level. **This endpoint can only be used after a separate configuration done by Pliant and the partner using this endpoint needs to be PCI-DSS certified!** **A dedicated host URL `pci-api.getpliant.com` is used for this endpoint!** Please refer to the [documentation](/docs/api-pliant-pci-dss-certified) for more information. - [Activate Physical Card](https://customer-api.getpliant.com/reference/activate-physical-card.md): Activate a specific, physical credit card. You can chose between two activation methods: `activationCode` and `refNum`. To activate physical cards on the sandbox environment, use `999999` **or** the `refNum` of the card (available via [Card Details](/reference/get-multiple-card-details)) as the activation code. Virtual cards are activated automatically upon creation (if the cardholder is active) and do not require manual activation. - [Lock Card](https://customer-api.getpliant.com/reference/lock-card.md): Lock a card manually. This will prevent the card from being used for any transactions. - [Unlock Card](https://customer-api.getpliant.com/reference/unlock-card.md): Unlock a card, if the card was locked manually or because of a wrong PIN. - [Terminate Card](https://customer-api.getpliant.com/reference/terminate-card.md): Via this endpoint you can terminate a card. This cannot be undone. Card termination is a final step. - [Replace Card](https://customer-api.getpliant.com/reference/replace-card.md): Replace or renew an existing card. This endpoints terminates the card being replaced and creates a new card with the same settings and card type, but different sensitive card information under the same cardholder. This can be useful to replace for instance a stolen credit card. The following [callbacks](./createcardsubscription-1) will be triggered by this action: - For the terminated card: `CARD_TERMINATED`, `CARD_STATUS_CHANGED` to terminated and `CARD_BALANCE_UPDATED` to set the card balance to zero. - For the newly created card: `CARD_ISSUED`, `CARD_ACTIVATED`, `CARD_STATUS_CHANGED` and `CARD_BALANCE_UPDATED` with the corresponding balance. - [Update Card](https://customer-api.getpliant.com/reference/update-card.md): Can be used to update card properties - [Update Card Label](https://customer-api.getpliant.com/reference/update-card-label.md): Can be used to update the card label for virtual cards - [Update Card Limit](https://customer-api.getpliant.com/reference/update-card-limit.md): Change the card limit for a given virtual or physical card, as long as the card is not terminated. This is unrelated to the renew frequency of the card. Meaning you can update the limit of a card with a `TOTAL` renew frequency (equals no limit renewal) as well as a `MONTHLY` renew frequency etc. **Additional limits:** Use the `additionalLimits` field to create, update, or remove additional limits on the card in the same request. - Entries **with** an `id` → update the matching existing additional limit. - Entries **without** an `id` → create a new additional limit. - Existing additional limits **omitted** from the array → soft-delete (removed). - Passing `null` or omitting `additionalLimits` → leave existing additional limits unchanged. - Passing an **empty array `[]`** → remove all additional limits from the card. **Response:** This endpoint returns `204 No Content`. To read the updated limit state use `GET /api/cards/{cardId}` or subscribe to the `CARD_LIMITS_CHANGED` callback. - [Update/Add Custom Fields](https://customer-api.getpliant.com/reference/update-custom-fields-on-card.md): Update the default values of [custom fields](/docs/custom-fields-on-transactions) related to a card or add new ones by `label`. 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`. Updates of existing custom fields may happen via `id` or `label`. Adding new fields is only possible by providing a currently unused `label`. Note: the `label` needs to be unique per organization. - [Update Card Validity Period](https://customer-api.getpliant.com/reference/update-card-validity-period.md): Update the validity period of a card. This validity period is set during card [issuing](/reference/issue-card-instant). - [Load Benefit Cards](https://customer-api.getpliant.com/reference/load-cards-batch.md): Load money onto a batch of benefit cards. Provide a list of cards and individual amounts to be loaded onto each card. If all pre-conditions are fulfilled, then the request is accepted and processed asynchronously. Listen for appropriate `CARD_BALANCE_UPDATED` callbacks. If any of the pre-conditions is not fulfilled, the request will be rejected immediately. All cards have to be eligible for card loading, i.e. they are active benefit cards and belong to the same organization. There has to be enough money on the organization's card-account. All requested amounts must be positive and specified in the card-account's currency. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-card-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-cards-subscription.md): Remove a callback subscription for this entity. - [List Card Controls](https://customer-api.getpliant.com/reference/get-card-controls-by-card.md): Returns the card controls for a single card, if it exists. - [Change Card Controls](https://customer-api.getpliant.com/reference/update-card-controls-by-card.md): Updates card controls for a single card. If the card control does not exist, it will be created. If the card control exists, it will be updated with the given values. Thus when updating, you have to provide all the values for the card control you want to set. Missing or not provided values are deleted if they exist. - [Get PIN](https://customer-api.getpliant.com/reference/get-card-pin.md): Returns the 4-digit PIN of a **physical and active** credit card. If the card is neither physical nor active, the response will be a HTTP 400. - [Get PAN & CVV (Proxy)](https://customer-api.getpliant.com/reference/card-pan-tokenized-from-pci-proxy.md): Fetch a tokenized PAN from our partner PCI-Proxy to process and use in your non-PCI compliant environment. **This only works in combination with our partner PCI-Proxy**. You find more details in our [guides section](/docs/sensitive-card-data-pci-proxy). - [Get PAN & CVV (PCI-DSS)](https://customer-api.getpliant.com/reference/card-pan-and-cvv-pci-vault.md): This endpoint is only available for **PCI-DSS certified companies**. They can use this endpoint to retrieve the (encrypted) PAN and CVV of a card. **A dedicated host URL `pci-api.getpliant.com` is used for this endpoint!** Please refer to the [documentation](/docs/api-pliant-pci-dss-certified) for more information. - [Get OTP for PCI Widget](https://customer-api.getpliant.com/reference/get-otp-for-pci-widget.md): This endpoint is used to get an OTP for the PCI Widget (Web and Mobile). The OTP is used to authenticate the cardholder request and to retrieve the sensitive card data. The request has to be made from the backend of your application. Directly calling this endpoint from your frontend is not allowed due to security reasons. **A dedicated host URL `pci-api.getpliant.com` is used for this endpoint!** Please refer to the [documentation](/docs/pci-widget-web) for more information. - [Update Card Copilots](https://customer-api.getpliant.com/reference/update-card-copilots.md): Update the copilots of a specific card. The cardholder and the copilots have access to the card and its card details. You need to provide all copilots you want to assign to the card. Copilots that are not provided will be removed from the card. **Note: the copilots feature is available for `TRAVEL` cards only.** - [Claim Card As Copilot](https://customer-api.getpliant.com/reference/claim-card-as-copilot.md): Claim a card to become the new cardholder for this card. You need to be a copilot of the respective card to claim the card. **Note: the copilots feature is available for `TRAVEL` cards only.** - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-card-copilot-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-card-copilot-subscription.md): Remove a callback subscription for this entity. - [List Custom Fields](https://customer-api.getpliant.com/reference/get-custom-fields.md): Returns a list of all [custom fields](/docs/custom-fields-on-transactions) for the given organization. [Custom fields](/docs/custom-fields-on-transactions) can be created by the organization via the Pliant web app or API. Those fields can be used to store additional information on transactions, e.g. an additional field needed for pre-accounting purposes, or a reference the organizations needs to reconciliation processes later in their systems. [Custom fields](/docs/custom-fields-on-transactions) can be set on card- or transaction-level. If set on card-level, each transaction made with this card gets a copy of the custom field values of the respective card. - [Create Custom Field](https://customer-api.getpliant.com/reference/create-custom-field.md): Create a new custom field for the organization. Custom fields can be used to store additional information on transactions. For example, you can create a custom field to store an internal identifier, a project name, or accounting related data. Custom fields can be of type `TEXT` or `SELECT`. `TEXT` custom fields can store any text value. `SELECT` custom fields can store a fixed set of options. Each new custom field is created `ACTIVE`. - [Update Custom Field](https://customer-api.getpliant.com/reference/update-custom-field.md): Update an existing [custom field](/docs/custom-fields-on-transactions) for the organization. Custom fields can be used to store additional information on transactions. - [Delete Custom Field](https://customer-api.getpliant.com/reference/delete-custom-field.md): Delete an existing [custom field](/docs/custom-fields-on-transactions) on the organization. You can only delete custom fields that are not used in any transaction and in status `INACTIVE`. You can set the custom field to `INACTIVE` to prevent it from being used in new transactions via our [update endpoint](update-custom-field). - [List Custom Field Options](https://customer-api.getpliant.com/reference/get-custom-field-options.md): Returns a list of all [custom field options](/docs/custom-fields-on-transactions) for the given custom field. [Custom field options](/docs/custom-fields-on-transactions) can be edited by the organization via the Pliant web app or API. Options give you the flexibility to define a fixed set of options a custom field can have. This can be useful for example if you want to restrict the values a customer can use. - [Create Custom Field Option](https://customer-api.getpliant.com/reference/create-custom-field-option.md): Add a new, single [custom field option](/docs/custom-fields-on-transactions) to a given custom field of type `SELECT`. - [Update Custom Field Option](https://customer-api.getpliant.com/reference/update-custom-field-option.md): Update an existing [custom field option](/docs/custom-fields-on-transactions) on the organization. - [Delete Custom Field Option](https://customer-api.getpliant.com/reference/delete-custom-field-option.md): Delete an existing [custom field option](/docs/custom-fields-on-transactions) on the organization. You can only delete custom field options that are not used in any transaction and in status `INACTIVE`. You can set the custom field option to `INACTIVE` to prevent it from being used in new transactions via our [update endpoint](update-custom-field-option). - [List of Transactions](https://customer-api.getpliant.com/reference/get-transactions.md): Returns a list of transactions. You can use the `limit`, `page`, `sortBy`, `sortDirection` parameters to filter and sort the results. You can also use filters like the `partnerSubmissionStatus` to e.g. only get transactions that you as a partner have not synced yet. - [Transaction Details](https://customer-api.getpliant.com/reference/get-transactions-detail-batch.md): Returns all transaction details for the given IDs. You can also request transaction details per card(s), cardholder(s) or organization(s). The API returns all 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 card, [cardholder](/docs/cardholder-entity) or organizations IDs most likely add multiple transaction details themselves. Also cardholders can be part of multiple organizations, thus when searching via [cardholder](/docs/cardholder-entity) IDs, it might return more data than it would for just one organization this [cardholder](/docs/cardholder-entity) is part of. At least one parameter has to be set. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - we removed the following data from the response body: `merchantId` (field), `merchantName` (field) - we added the following data to the response body: `merchantData` (object), `merchantRawData` (object), `authCode` (field) - [Transaction Details (Single)](https://customer-api.getpliant.com/reference/get-transactions-detail.md): Returns the details of a single transaction by its ID. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - we removed the following data from the response body: `merchantId` (field), `merchantName` (field) - we added the following data to the response body: `merchantData` (object), `merchantRawData` (object), `authCode` (field) - [Update Transaction Category](https://customer-api.getpliant.com/reference/update-transaction-category.md): Updates category of a transaction. In case of split transactions all split transactions will have the new category assigned. - [Update Partner Submission Status](https://customer-api.getpliant.com/reference/update-transaction-partner-submission-status.md): Updates the partnerSubmissionStatus of a single transaction. See [documentation](/docs/transaction-entity#partner-submission-status) for more information. - [Update Partner Submission Status (Multiple)](https://customer-api.getpliant.com/reference/update-transaction-partner-submission-status-batch.md): Updates the partnerSubmissionStatus of one or more transactions. See [documentation](/docs/transaction-entity#partner-submission-status) for more information. - [Update Receipt Upload Toggle](https://customer-api.getpliant.com/reference/update-transaction-receipt-upload.md): Updates the flag on a given transaction to signal if a receipt is needed to be uploaded or not. Some transaction do not require any receipt, so this flag can be set to `false` to signal that no receipt is needed. - [Update Comment](https://customer-api.getpliant.com/reference/update-transaction-comment.md): Updates the comment of a single transaction - [Delete comment](https://customer-api.getpliant.com/reference/delete-transaction-comment.md): Deletes the comment of a single transaction - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-transaction-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-transaction-subscription.md): Remove a callback subscription for this entity. - [List of Receipts](https://customer-api.getpliant.com/reference/get-receipts.md): Returns list of metadata for every receipt associated with the transaction. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Upload Receipt](https://customer-api.getpliant.com/reference/upload-receipt.md): Upload receipt to an existing transaction. - [Receipt Details](https://customer-api.getpliant.com/reference/get-receipt-detail.md): Returns the detailed metadata for the receipt specified by the given `receiptId`. - [Delete Receipt](https://customer-api.getpliant.com/reference/delete-receipt.md): Delete the receipt specified by path parameter receiptId - [Receipt Original](https://customer-api.getpliant.com/reference/receipt-original.md): Returns a original file of the receipt specified by path parameter `receiptId`. - [Receipt as PDF](https://customer-api.getpliant.com/reference/receipt-as-pdf.md): Returns a PDF file of the receipt specified by path parameter `receiptId`. The PDF is generated on the fly and may take a few seconds to be generated. - [Receipts as Merged PDF](https://customer-api.getpliant.com/reference/receipt-as-merged-pdf.md): Returns a single, merged PDF of all receipts of the provided transaction. The returned PDF contains all receipts attached to the transaction, concatenated into one single PDF file. The PDF is generated on the fly and may take a few seconds to be generated. - [Receipt Thumbnail](https://customer-api.getpliant.com/reference/receipt-thumbnail.md): Returns a thumbnail file of the receipt specified by path parameter `receiptId`. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-receipt-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-receipt-subscription.md): Remove a callback subscription for this entity. - [Automatch and Attach File to Transaction](https://customer-api.getpliant.com/reference/upload-receipt-to-automatcher.md): Send us a receipt (PDF, PNG, JPEG) and we try to find the corresponding transaction for this receipt and attach it to the matching transaction. This endpoint works **asynchronously** and only starts the automatching process. You will get a callback with the result once it is finished. Or you can query the status yourself. - [Automatch Metadata to Transaction](https://customer-api.getpliant.com/reference/metadata-receipt-to-automatcher.md): Provide us with metadata about a receipt and we try to find the corresponding transaction for this metadata. Nothing is attached to the transaction, we just provide a matching `transactionId` if found. The more data provided, the better the matching result. This endpoint works **asynchronously** and only starts the automatching process. You will get a callback with the result once it is finished. Or you can query the status yourself. - [Get Status of Automatching Task](https://customer-api.getpliant.com/reference/get-receipt-automatcher-status.md): Query the status of the automatching task specified by path parameter `automatchingTaskId`. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-receipt-automatching-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-receipt-automatching-subscription.md): Remove a callback subscription for this entity. - [List Accounting Transactions](https://customer-api.getpliant.com/reference/get-accounting-transactions-batch.md): 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](/docs/cardholder-entity) or organizations IDs most likely add multiple accounting transaction details themselves. Also cardholders can be part of multiple organizations, thus when searching via [cardholder](/docs/cardholder-entity) IDs, it might return more data than it would for just one organization this [cardholder](/docs/cardholder-entity) is part of. At least one parameter has to be set. - [Update Custom Fields](https://customer-api.getpliant.com/reference/update-custom-fields-on-accounting-transaction.md): Update the values of [custom fields](/docs/custom-fields-on-transactions) related to an accounting transaction. All [custom fields](/docs/custom-fields-on-transactions) need to be provided, by not providing a custom field, the value of that custom field will be removed, i.e. set to `null`. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-accounting-transaction-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-accounting-transaction-subscription.md): Remove a callback subscription for this entity. - [List Projects](https://customer-api.getpliant.com/reference/get-projects.md): Returns a list of projects. Projects act as a cost unit for accounting purposes. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Create Project](https://customer-api.getpliant.com/reference/create-project.md): Creates a project on the Pliant platform - [Update Project](https://customer-api.getpliant.com/reference/update-project.md): Updates a project on the Pliant platform - [Delete Project](https://customer-api.getpliant.com/reference/delete-project.md): Deletes a project from the Pliant platform. To delete a project it has to be put in `INACTIVE` state first and it must not be assigned to any accounting transaction. - [Assign Team](https://customer-api.getpliant.com/reference/assign-project-team.md): Restrict a project to a specific team. 1-n teams can be assigned to a single project by calling this endpoint multiple times. If no team is assigned to the project its visible to all users independent of team membership. - [Unassign Team](https://customer-api.getpliant.com/reference/unassign-project-team.md): Remove team restriction from a given project. 1-n teams can be unassigned from a single project by calling this endpoint multiple times. If no team is assigned to the project its visible to all users independent of team membership. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-accounting-project-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-accounting-project-subscription.md): Remove a callback subscription for this entity. - [List Teams](https://customer-api.getpliant.com/reference/get-teams.md): Returns a list of teams. Teams act as a cost center for accounting purposes. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Create Team](https://customer-api.getpliant.com/reference/create-team.md): Creates a team on the Pliant platform - [Update Team](https://customer-api.getpliant.com/reference/update-team.md): Updates a team on the Pliant platform - [Delete Team](https://customer-api.getpliant.com/reference/delete-team.md): Deletes a team from the Pliant platform. To delete a team it has to be put in `INACTIVE` state first and it must not be assigned to any accounting transaction. - [Deactivate Team](https://customer-api.getpliant.com/reference/deactivate-team.md): Deactivates a team on the Pliant platform. Deactivated teams can be deleted if they are not linked to any transactions. - [Assign Cardholders](https://customer-api.getpliant.com/reference/assign-to-team.md): Assign cardholders to a team. - [Unassign Cardholders](https://customer-api.getpliant.com/reference/unassign-from-team.md): Unassign cardholders from a team. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-accounting-team-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-accounting-team-subscription.md): Remove a callback subscription for this entity. - [List of Payments](https://customer-api.getpliant.com/reference/get-payments.md): Returns a list of payments with metadata. Payments happen according to the payment frequency of the organization. They include and consider all relevant transactions and other payments during the specified period. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Payment Details](https://customer-api.getpliant.com/reference/get-payments-detail.md): Returns a single payment by its ID. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-payment-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-payment-subscription.md): Remove a callback subscription for this entity. - [List of Statements](https://customer-api.getpliant.com/reference/get-statements.md): Returns a list of metadata for every statement for the given organization. A statement groups all booked transactions and all other relevant payments on a monthly basis, unrelated to the payment frequency of the organization. Payments are part of a statement if the actualPaymentDate falls between the statementPeriodStart and statementPeriodEnd. Transactions are part of a statement if the bookingDate falls between the statementPeriodStart and statementPeriodEnd. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. If you are looking for details about the payments according to the payment frequency of the organization, use the [payments endpoints](getpayments). - [Statement Details](https://customer-api.getpliant.com/reference/get-statement-detail.md): Returns the details of a single statement. - [Statement PDF](https://customer-api.getpliant.com/reference/get-statementpdf.md): Returns a PDF file of the statement specified by the parameter `statementId`, containing all transactions and payments for the given statement. - [Statement CSV](https://customer-api.getpliant.com/reference/get-statement-csv.md): Generates a CSV file with the statement data asynchronously for the specified organization and card account and date period. The CSV file will be available for download shortly. You will receive a [callback](/reference/create-statement-subscription) of type `STATEMENT_CSV_DOWNLOAD_READY` once the exported CSV file is ready. **Do not forget to subscribe to the callback upfront! Otherwise this endpoint returns an error.** The endpoint can only be used with an active callback subscription for the `STATEMENT_CSV_DOWNLOAD_READY` event type. Hint: The time it takes to generate the file may vary according to system load. - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-statement-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-statement-subscription.md): Remove a callback subscription for this entity. - [Get Account Entries](https://customer-api.getpliant.com/reference/get-account-entries.md): Query [account entries](/docs/account-entry-entity) for a specific organization. Account entries represent a single booked movement on the (bank) account of the organization. This can be a transaction, payment etc. Account entries are then grouped by [statements](/reference/get-statements). **Please note that account entries only include finally booked movements and do not include pending transactions or similar non-final movements.** - [Callback: Add/Update](https://customer-api.getpliant.com/reference/create-account-entry-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://customer-api.getpliant.com/reference/remove-account-entry-subscription.md): Remove a callback subscription for this entity. - [Get Callback Subscriptions](https://customer-api.getpliant.com/reference/get-callback-subscriptions.md): Fetch information about currently subscribed callback events. - [Get Callback Log (Deprecated)](https://customer-api.getpliant.com/reference/get-callback-log.md): **Deprecated:** This endpoint is deprecated and will be removed in a future release. Use [`GET /callbacks`](/reference/search-callbacks) instead. Get a list of all callbacks we produced for you, whether we could send them to you or not. This log contains all callbacks Pliant produced, together with a status and further metadata to let you investigate problems etc. You can add optional filters to narrow down the results. To get the payload of a specific callback, use the [`GET /callbacks/{callbackId}`](/reference/get-callback) endpoint. - [Get Callback Details (Deprecated)](https://customer-api.getpliant.com/reference/get-callback-details.md): **Deprecated:** This endpoint is deprecated and will be removed in a future release. Use [`GET /callbacks/{callbackId}`](/reference/get-callback) instead. Get details about a specific callback, like its payload. This endpoint is useful for debugging and investigating issues with callbacks. - [Add Multiple Callback Subscriptions ](https://customer-api.getpliant.com/reference/bulk-upsert-subscriptions.md): Create multiple callback subscriptions in a single request. This endpoint allows you to create callback subscriptions for multiple event types and callback URLs. Callback subscriptions are identified by the combination of event type and callback URL. If a callback subscription with the same event type and callback URL already exists, it will be included in the response but not created again. **Semantics:** - Multiple callback subscriptions per event type are now allowed, as long as they have different callback URLs - Existing callback subscriptions with matching event type and callback URL are not changed, but included in the response - Only the callback subscriptions specified in the request are affected; other existing callback subscriptions remain unchanged - At most 42 callback subscriptions per event type are allowed - [Delete Callback Subscription ](https://customer-api.getpliant.com/reference/delete-subscription.md): Delete a callback subscription by ID. This endpoint allows you to delete a specific callback subscription by its unique identifier. - [Generate Test Transactions](https://customer-api.getpliant.com/reference/generate-test-transactions-in-sandbox.md): Generate one or multiple test transactions to test certain endpoints and/or callbacks which deal with transactions. This endpoint is ONLY available on our sandbox environment and NOT on production. See [documentation](/docs/generate-test-transactions) for details. Hint: The Pliant web app shows confirmed transactions as pending, since we only switch this status if the transaction is booked/settled. Keep this in mind when using this generator! - [Simulate Transaction Status Transition](https://customer-api.getpliant.com/reference/simulate-transaction-status-transition.md): Change the status of an existing transaction in the sandbox environment from `PENDING` to `CONFIRMED`, `REVERSED` or `DECLINED`. This endpoint is ONLY available on our sandbox environment and NOT on production. See [documentation](/docs/generate-test-transactions) for details. Hint: The Pliant web app shows confirmed transactions as pending, since we only switch this status if the transaction is booked/settled. Keep this in mind when using this generator! - [Simulate Prefund Payment](https://customer-api.getpliant.com/reference/simulate-prefund-payment.md): Simulate a prefund payment to an existing organizations card account. The payment will appear in the system within 10 minutes after the request was sent. This endpoint is ONLY available on our sandbox environment and NOT on production. See [documentation](/docs/generate-test-transactions) for details. ## Recipes - [Generate Test Transactions In Our Sandbox](https://customer-api.getpliant.com/recipes/generate-test-transactions-in-our-sandbox.md) - [Issue A New Credit Card](https://customer-api.getpliant.com/recipes/issue-a-new-credit-card.md) ## Pages - [‎Status](https://customer-api.getpliant.com/status.md) - [Subscribe To Changelog](https://customer-api.getpliant.com/subscribe-to-updates.md) ## Changelog - [Single-Call Card Issuing & Card Access Links](https://customer-api.getpliant.com/changelog/single-call-card-issuing-card-access-links.md) - [Multiple Card Limits & Callback Improvements](https://customer-api.getpliant.com/changelog/multiple-card-limits-callback-improvements.md) - [Access Token Quotas](https://customer-api.getpliant.com/changelog/access-token-quotas.md) - [Multiple Callback Subscriptions](https://customer-api.getpliant.com/changelog/multiple-callback-subscriptions.md) - [Custom Fields Enhancements](https://customer-api.getpliant.com/changelog/custom-fields-enhancements.md) - [Card Copilot for Travel Purchasing Cards](https://customer-api.getpliant.com/changelog/card-copilot-for-travel-purchasing-cards.md) - [API Authentication Update](https://customer-api.getpliant.com/changelog/api-authentication-update.md) - [New limitRenewFrequency values](https://customer-api.getpliant.com/changelog/new-limitrenewfrequency-values.md) - [Added cardAccountId to related callback events](https://customer-api.getpliant.com/changelog/added-cardaccountid-to-related-callback-events.md) - [Deactivate organization authorization and cashback redemption](https://customer-api.getpliant.com/changelog/deactivate-organization-authorization-and-cashback-redemption.md)