# CaaS API (Partner) Documentation > Pliants Cards-as-a-Service API is an embedded credit card solution. Our set of external APIs is provided to our commercial and technical cooperation partners. Partners can use those APIs to enhance their own apps with our card transactions and other data as well as other card-related functionality. That way it lets you integrate financial services into your own application providing a seamless experience for your customers. ## Guides - [Overview](https://partner.getpliant.com/docs/data-sharing-overview.md) - [Integration initiated from Pliant](https://partner.getpliant.com/docs/existing-pliant-customer-starts-integration.md) - [Integration initiated from Partner](https://partner.getpliant.com/docs/partner-customer-is-referred-to-pliant.md) - [Callbacks](https://partner.getpliant.com/docs/callbacks.md) - [Date and Time](https://partner.getpliant.com/docs/date-and-time.md) - [Error Handling](https://partner.getpliant.com/docs/error-handling.md) - [Monetary Values](https://partner.getpliant.com/docs/monetary-values.md) - [Pagination & Ordering](https://partner.getpliant.com/docs/pagination.md) - [API Guidelines](https://partner.getpliant.com/docs/pliant-api-guidelines.md) - [API Lifecycle and Versioning](https://partner.getpliant.com/docs/versioning.md) - [Overview](https://partner.getpliant.com/docs/apple-pay-google-pay-integration.md) - [Hints](https://partner.getpliant.com/docs/apple-ios-hints.md) - [Implementation](https://partner.getpliant.com/docs/apple-ios-implementation.md) - [Installation](https://partner.getpliant.com/docs/apple-ios-installation.md) - [In-App Provisioning (Apple iOS)](https://partner.getpliant.com/docs/in-app-provisioning-apple-ios.md) - [Hints](https://partner.getpliant.com/docs/google-android-hints.md) - [Implementation](https://partner.getpliant.com/docs/google-android-implementation.md) - [Installation](https://partner.getpliant.com/docs/google-android-installation.md) - [In-App Provisioning (Google Android)](https://partner.getpliant.com/docs/in-app-provisioning-google-android.md) - [Authenticated API Usage](https://partner.getpliant.com/docs/authenticated-api-usage.md) - [Authenticated Callbacks](https://partner.getpliant.com/docs/authenticated-callback-usage.md) - [Account Entry](https://partner.getpliant.com/docs/account-entry-entity.md) - [Accounting Transaction](https://partner.getpliant.com/docs/accounting-transaction.md) - [Card Account](https://partner.getpliant.com/docs/card-account.md) - [Card](https://partner.getpliant.com/docs/card-entity.md) - [Cardholder](https://partner.getpliant.com/docs/cardholder-entity.md) - [Custom Field](https://partner.getpliant.com/docs/custom-fields-on-transactions.md) - [Business Entities](https://partner.getpliant.com/docs/business-entities.md) - [Organization](https://partner.getpliant.com/docs/organization-entity.md) - [Payment](https://partner.getpliant.com/docs/payment-entity.md) - [Receipt](https://partner.getpliant.com/docs/receipt-entity.md) - [Statement](https://partner.getpliant.com/docs/statement.md) - [Transaction](https://partner.getpliant.com/docs/transaction-entity.md) - [Configure Notifications](https://partner.getpliant.com/docs/configure-notifications.md) - [Business Processes](https://partner.getpliant.com/docs/business-processes.md) - [Onboarding an Organization](https://partner.getpliant.com/docs/onboarding-of-a-new-organization.md) - [Pliant Platform Fees](https://partner.getpliant.com/docs/pliant-platform-fees.md) - [Core Concepts](https://partner.getpliant.com/docs/core-concepts.md) - [Permissions](https://partner.getpliant.com/docs/endpoint-permissions.md) - [Environments](https://partner.getpliant.com/docs/environment.md) - [Embedded Wallet](https://partner.getpliant.com/docs/embedded-wallet-scope.md) - [Fully Embedded](https://partner.getpliant.com/docs/fully-embedded-scope.md) - [Scopes](https://partner.getpliant.com/docs/introduction-to-scopes.md) - [Sync](https://partner.getpliant.com/docs/sync-scope.md) - [Getting Started](https://partner.getpliant.com/docs/introduction.md): Supercharge your product with our B2B Cards-as-a-Service (in short: CaaS) solution - [Partner Onboarding](https://partner.getpliant.com/docs/partner-approval-process.md) - [Account Limits and Balances](https://partner.getpliant.com/docs/account-limits-and-balances.md) - [Advanced Card Limits](https://partner.getpliant.com/docs/advanced-card-limits.md) - [Card Controls](https://partner.getpliant.com/docs/card-controls-1.md) - [Overview: Embedded Scope](https://partner.getpliant.com/docs/embedded-wallet.md) - [Overview: Sync Scope](https://partner.getpliant.com/docs/expense-management.md) - [Quick Start for Travel API Consumers](https://partner.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 - [Receipt Automatching](https://partner.getpliant.com/docs/receipt-automatching-1.md) - [Special Transaction Scenarios](https://partner.getpliant.com/docs/special-transaction-scenarios.md) - [Benefit Cards](https://partner.getpliant.com/docs/using-benefit-cards-in-the-caas-api.md) - [Visa Click to Pay](https://partner.getpliant.com/docs/visa-click-to-pay.md) - [MCP](https://partner.getpliant.com/docs/mcp.md) - [API (MeaWallet)](https://partner.getpliant.com/docs/api-meawallet-pci-dss-certified.md): THIS API ACCESS IS DEPRECATED. Please us the Pliant-based one. - [PCI API](https://partner.getpliant.com/docs/api-pliant-pci-dss-certified.md) - [Android](https://partner.getpliant.com/docs/android-specific-mobile-widget.md) - [PCI Widget Mobile](https://partner.getpliant.com/docs/pci-widget-mobile.md) - [iOS](https://partner.getpliant.com/docs/ios-specific-mobile-widget.md) - [React Native](https://partner.getpliant.com/docs/react-native-mobile-widget.md) - [Examples for PCI Widget Web Usage](https://partner.getpliant.com/docs/examples-for-iframe-widget-usage.md) - [PCI Widget Web](https://partner.getpliant.com/docs/pci-widget-web.md) - [Web Widget (MeaWallet)](https://partner.getpliant.com/docs/web-widget-meawallet.md) - [TOTP Generation Example](https://partner.getpliant.com/docs/totp-generation-example.md) - [Generate Test Data](https://partner.getpliant.com/docs/generate-test-transactions.md) ## API Reference - [Callback: Add/Update](https://partner.getpliant.com/reference/create-account-entry-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Get Account Entries](https://partner.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: Remove](https://partner.getpliant.com/reference/remove-account-entry-subscription.md): Remove a callback subscription for this entity. - [Assign Team](https://partner.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. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-accounting-project-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Project](https://partner.getpliant.com/reference/create-project.md): Creates a project on the Pliant platform - [Delete Project](https://partner.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. - [Project Details](https://partner.getpliant.com/reference/get-project.md): Returns details on a single project - [List Projects](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-accounting-project-subscription.md): Remove a callback subscription for this entity. - [Unassign Team](https://partner.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. - [Update Project](https://partner.getpliant.com/reference/update-project.md): Updates a project on the Pliant platform - [Assign Cardholders](https://partner.getpliant.com/reference/assign-to-team.md): Assign cardholders to a team. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-accounting-team-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Team](https://partner.getpliant.com/reference/create-team.md): Creates a team on the Pliant platform - [Deactivate Team](https://partner.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. - [Delete Team](https://partner.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. - [Team Details](https://partner.getpliant.com/reference/get-team.md): Returns details on a single team - [List Teams](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-accounting-team-subscription.md): Remove a callback subscription for this entity. - [Unassign Cardholders](https://partner.getpliant.com/reference/unassign-from-team.md): Unassign cardholders from a team. - [Update Team](https://partner.getpliant.com/reference/update-team.md): Updates a team on the Pliant platform - [Callback: Add/Update](https://partner.getpliant.com/reference/create-accounting-transaction-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [List Accounting Transactions](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-accounting-transaction-subscription.md): Remove a callback subscription for this entity. - [Update Custom Fields](https://partner.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`. - [Create Beneficiary Payment Detail](https://partner.getpliant.com/reference/create-beneficiary-payment-detail.md): Create a new payment detail for a beneficiary. Payment details contain the banking information required to process transfers to the beneficiary. You can create multiple payment details for different currencies or banking methods. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-beneficiary-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Beneficiary](https://partner.getpliant.com/reference/create-beneficiary.md): Create a new beneficiary for the specified organization. Beneficiaries are entities that can receive external transfers from your organization. You must provide the required address information and specify whether the beneficiary is a business or individual. - [List Beneficiaries](https://partner.getpliant.com/reference/get-beneficiaries.md): Query beneficiaries for a specific organization. Beneficiaries are entities that can receive external transfers from your organization. - [Get Beneficiary Details](https://partner.getpliant.com/reference/get-beneficiary-details.md): Get detailed information about a specific beneficiary. - [Get Beneficiary Payment Detail](https://partner.getpliant.com/reference/get-beneficiary-payment-detail.md): Get detailed information about a specific payment detail for a beneficiary. Payment details contain the banking information required to process transfers to the beneficiary, including account numbers, bank codes, and currency information. - [List Beneficiary Payment Details](https://partner.getpliant.com/reference/get-beneficiary-payment-details.md): Get all payment details for a specific beneficiary. Payment details contain the banking information required to process transfers to the beneficiary. A beneficiary can have multiple payment details for different currencies or banking methods. - [Callback: Remove](https://partner.getpliant.com/reference/remove-beneficiary-subscription.md): Remove a callback subscription for this entity. - [Update Beneficiary Activation Status](https://partner.getpliant.com/reference/update-beneficiary-activation.md): Update the activation status of a beneficiary. - [Update Beneficiary Payment Detail](https://partner.getpliant.com/reference/update-beneficiary-payment-detail.md): Update an existing payment detail for a beneficiary. You can modify banking information including account details, currency, and bank country. This operation allows you to update the banking information required for transfers to the beneficiary. - [Update Beneficiary](https://partner.getpliant.com/reference/update-beneficiary.md): Update an existing beneficiary. You can modify the beneficiary's information including address details, contact information, and display name. - [Add Multiple Callback Subscriptions ](https://partner.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://partner.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. - [Get Callback Details (Deprecated)](https://partner.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. - [Get Callback Log (Deprecated)](https://partner.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 Subscriptions](https://partner.getpliant.com/reference/get-callback-subscriptions.md): Fetch information about currently subscribed callback events. - [Get Callback](https://partner.getpliant.com/reference/get-callback.md): Get details about a specific callback, like its payload. This endpoint is useful for debugging and investigating issues with callbacks. - [Resend Callbacks](https://partner.getpliant.com/reference/resend-callbacks.md): Re-trigger delivery of previously produced webhook callbacks identified by their callback ids. Use this endpoint to recover from callbacks that were missed or could not be processed by your system. Use the [`GET /callbacks`](/reference/search-callbacks) endpoint to look up the ids of callbacks you want to resend. Each callback's owning organization must be within your scope of access. The request is rejected with `403 Forbidden` if any of the provided callback ids is unknown or refers to an organization you are not authorized for. A maximum of 1000 callback ids can be resent in a single call. A successful call returns `202 Accepted` immediately — callbacks are delivered asynchronously through the standard callback delivery pipeline (with retries and back-off) and will appear in the callback log under their existing callback id. - [Search Callbacks](https://partner.getpliant.com/reference/search-callbacks.md): 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. To re-trigger delivery of one or more callbacks, use the [`POST /callbacks/resend`](/reference/resend-callbacks) endpoint. - [Create Card Account Payout](https://partner.getpliant.com/reference/create-card-account-payout.md): Creates a payout from a card account to an external bank account. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-card-account-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Card Account](https://partner.getpliant.com/reference/create-card-account.md): Creates a new card account for the specified organization. - [Deactivate Card Account](https://partner.getpliant.com/reference/deactivate-card-account.md): Deactivates a card account. The organization ownership is automatically determined from the card account. - [Card Account Details](https://partner.getpliant.com/reference/get-card-account-details.md): Returns the details of a card account by its unique identifier. - [Get Available Currencies](https://partner.getpliant.com/reference/get-card-accounts-available-currencies.md): Returns a list of available currencies for creating card accounts within an organization. - [Get Card Account Summary](https://partner.getpliant.com/reference/get-card-accounts-summary.md): Returns an aggregated summary of all active card accounts for the given organization. This includes the total count of card accounts, overall available and credit limits, as well as breakdowns by currency. - [List Card Accounts](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-card-account-subscription.md): Remove a callback subscription for this entity. - [Update Card Account](https://partner.getpliant.com/reference/update-card-account.md): Updates a card account. The organization ownership is automatically determined from the card account. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-card-control-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [List Card Controls](https://partner.getpliant.com/reference/get-card-controls-by-card.md): Returns the card controls for a single card, if it exists. - [List Supported Countries for Card Controls](https://partner.getpliant.com/reference/get-card-controls-supported-countries.md): Returns the list of countries that can be used as input for the `countries` card control. Each entry contains a 3-letter ISO 3166-1 alpha-3 country code and a human-readable label. - [List Supported Currencies for Card Controls](https://partner.getpliant.com/reference/get-card-controls-supported-currencies.md): Returns the list of currencies that can be used as input for the `currencies` card control. Each entry contains an ISO 4217 currency code and a human-readable label. - [Callback: Remove](https://partner.getpliant.com/reference/remove-card-control-subscription.md): Remove a callback subscription for this entity. - [Change Card Controls](https://partner.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. - [Claim Card As Copilot](https://partner.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://partner.getpliant.com/reference/create-card-copilot-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Callback: Remove](https://partner.getpliant.com/reference/remove-card-copilot-subscription.md): Remove a callback subscription for this entity. - [Update Card Copilots](https://partner.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.** - [Approve Card Limit Request](https://partner.getpliant.com/reference/approve-card-limit-requests.md): Approve a card limit change request created by a [cardholder](/docs/cardholder-entity) for a specific card. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-card-limit-request-subscriptions.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Card Limit Request](https://partner.getpliant.com/reference/create-card-limit-requests.md): Create a card limit request for a specific card. - [Cancel Card Limit Request](https://partner.getpliant.com/reference/delete-card-limit-requests.md): Cancel an existing card limit request for a specific card. - [Card Limit Request Details](https://partner.getpliant.com/reference/get-card-limit-request-detail.md): Returns details on a single card limit request for a specific card. Requested additional limits are not returned here — observe applied state via `GET /api/cards/{cardId}` or the `CARD_LIMITS_CHANGED` callback. - [List Card Limit Requests](https://partner.getpliant.com/reference/list-card-limit-requests.md): Returns a list of card requests. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Reject Card Limit Request](https://partner.getpliant.com/reference/reject-card-limit-requests.md): Reject a card limit request for a specific [cardholder](/docs/cardholder-entity) for a specific card. - [Callback: Remove](https://partner.getpliant.com/reference/remove-card-limit-request-subscription.md): Remove a callback subscription for this entity. - [Approve Card Request](https://partner.getpliant.com/reference/approve-card-request.md): Approve a card request created by a cardholder. Optional body parameters can be used to override originally requested values. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - changed the HTTP response code to 202 Accepted and removed the response body, to reflect the asynchronous nature of this endpoint - [Callback: Add/Update](https://partner.getpliant.com/reference/create-card-request-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create Card Request](https://partner.getpliant.com/reference/create-card-request.md): Create a card request for a specific cardholder. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - changed the HTTP response code to 202 Accepted and removed the response body, to reflect the asynchronous nature of this endpoint - deprecated `type` and replaced it with `cardConfig` - [Delete card request](https://partner.getpliant.com/reference/delete-card-request.md): Cancel an existing card request - [Card Request Details](https://partner.getpliant.com/reference/get-card-request-details.md): Returns details on a single card Request. **This endpoint has changed in comparison to the previous version of the API.** The following changes were made: - added `cardControls` to response body - [List Card Requests](https://partner.getpliant.com/reference/get-card-requests.md): Returns a list of card requests. You can use the `limit`, `page`, `sortBy` and `sortDirection` parameters to filter and sort the results. - [Reject Card Request](https://partner.getpliant.com/reference/reject-card-request.md): Reject a card request for a specific cardholder - [Callback: Remove](https://partner.getpliant.com/reference/remove-card-request-subscription.md): Remove a callback subscription for this entity. - [Get PAN & CVV (PCI-DSS)](https://partner.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 PIN](https://partner.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 OTP for PCI Widget](https://partner.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. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-cardholder-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Deactivate Cardholder](https://partner.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. - [Enable Pliant App Access](https://partner.getpliant.com/reference/enable-pliant-app-access.md): This endpoint enables the Pliant web app and mobile app access for the given [cardholder](/docs/cardholder-entity) and converts the cardholder from an API-only (embedded) cardholder to a non-embedded cardholder. The cardholder will then be able to access the Pliant web app and mobile app. Cardholders upgraded this way will receive an email to set a password (when they have not been non-embedded in another organization before) or to log in with their existing password and accept the terms and conditions (in case they have already been a non-embedded member of another organization). This endpoint is relevant mainly for embedded partnerships where you want to grant selected cardholders access to the Pliant apps. To revoke app access again, use the [Remove Pliant App Access](/reference/remove-pliant-app-access) endpoint. - [Cardholder Details](https://partner.getpliant.com/reference/get-cardholder-details.md): Returns the details of a [cardholder](/docs/cardholder-entity) by its unique identifier. - [Invite Cardholder](https://partner.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. - [Invite Owner for Onboarding](https://partner.getpliant.com/reference/invite-owner.md): Invite a new owner during the onboarding of an organization. An invite email to the indicated email address will be triggered, and the user needs to register with Pliant using our registration flow. **This endpoint can only be used during the onboarding of a new organization! As soon as an organization is active, this endpoint will not work anymore for this organization.** - [List Cardholders](https://partner.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. - [Register Cardholder](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-cardholder-subscription.md): Remove a callback subscription for this entity. - [Remove Pliant App Access](https://partner.getpliant.com/reference/remove-pliant-app-access.md): This endpoint removes the Pliant web app and mobile app access of the given [cardholder](/docs/cardholder-entity) and converts the cardholder to an API-only (embedded) cardholder. The cardholder will no longer be able to access the Pliant web app or mobile app, since the login feature is removed for this cardholder. It will also be marked as an API-only (embedded) cardholder. Meaning it needs to be managed via the API. This endpoint is relevant mainly for embedded partnerships where the cardholder is managed by the partner and not Pliant itself. To grant app access again, use the [Enable Pliant App Access](/reference/enable-pliant-app-access) endpoint. - [Update Cardholder](https://partner.getpliant.com/reference/update-cardholders.md): Updates [cardholder](/docs/cardholder-entity) details. - [Activate Physical Card](https://partner.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. - [Batch Update Cards Limits](https://partner.getpliant.com/reference/batch-update-cards-limits.md): Can be used to update the limits of multiple cards in a single request. Per card, all fields are optional and only the provided changes will be applied. This operation is asynchronous and returns `202` immediately. Later, when the changes are applied, the `CARD_LIMIT_CHANGED` callback will be called individually per card. When a limit change cannot be applied, the `CARD_LIMIT_CHANGE_FAILED` callback will be called. All cards *must* belong to the same organization and each card must appear only once, otherwise the complete request will be rejected with `400`. You need to have the `EDIT_CARDS` permission for *all* cards in the request, otherwise the complete request will be rejected with 403. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-card-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Enroll Card in Click to Pay](https://partner.getpliant.com/reference/enroll-card-click-to-pay.md): Enroll a card and its associated member in Visa Click to Pay. Only Visa cards that support Click to Pay can be enrolled. New Visa cards are automatically enrolled in Click to Pay upon issuance. Use this endpoint to retroactively enroll existing cards that were issued before Click to Pay was enabled. This is an asynchronous operation. The enrollment is processed in the background. Once the enrollment is complete, a `CARD_CLICK_TO_PAY_INFO_CHANGED` callback is sent with the updated Click to Pay information. - [Available Card Configs](https://partner.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. - [List Cards](https://partner.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](https://partner.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` - [Card Details (Single)](https://partner.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` - [Issue Card (Instant as PCI-DSS)](https://partner.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. - [Issue Card (Instant)](https://partner.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](https://partner.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` - [Load Benefit Cards](https://partner.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. - [Lock Card](https://partner.getpliant.com/reference/lock-card.md): Lock a card manually. This will prevent the card from being used for any transactions. - [Reassign Platform Fee Card](https://partner.getpliant.com/reference/reassign-platform-fee-card.md): Assign an existing platform fee card to a different cardholder. You can only assign a platform fee card to a cardholder that is eligible to receive platform fee cards. This is determined by the field `eligibleForPlatformFeeCards` in the [cardholder's details](/reference/get-cardholder-details). - [Callback: Remove](https://partner.getpliant.com/reference/remove-cards-subscription.md): Remove a callback subscription for this entity. - [Replace Card](https://partner.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. - [Terminate Card](https://partner.getpliant.com/reference/terminate-card.md): Via this endpoint you can terminate a card. This cannot be undone. Card termination is a final step. - [Unenroll Card from Click to Pay](https://partner.getpliant.com/reference/unenroll-card-click-to-pay.md): Unenroll a card from Visa Click to Pay. The card must be currently enrolled in Click to Pay. This is an asynchronous operation. The unenrollment is processed in the background. Once the unenrollment is complete, a `CARD_CLICK_TO_PAY_INFO_CHANGED` callback is sent with the updated Click to Pay information. - [Unload Benefit Cards](https://partner.getpliant.com/reference/unload-cards-batch.md): Unload money from a batch of benefit cards. Provide a list of cards and individual amounts to be unloaded from 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 unloading, i.e. they are active benefit cards and belong to the same organization. All requested amounts must be positive, specified in the card-account's currency, and must not exceed the individual card's available balance. There must not be any pending unload already in progress for the affected cards. - [Unlock Card](https://partner.getpliant.com/reference/unlock-card.md): Unlock a card, if the card was locked manually or because of a wrong PIN. - [Update Card Label](https://partner.getpliant.com/reference/update-card-label.md): Can be used to update the card label for virtual cards - [Update Card Limit](https://partner.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 Travel Card Validity Period](https://partner.getpliant.com/reference/update-card-validity-period.md): Update the validity period of a travel card. This validity period is set during card [issuing](/reference/issue-card-instant). Only available for cards with a `cardConfig` containing `TRAVEL`. - [Update Card](https://partner.getpliant.com/reference/update-card.md): Can be used to update card properties - [Update/Add Custom Fields](https://partner.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. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-cashback-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Get Cashback Amounts](https://partner.getpliant.com/reference/get-cashback-amounts.md): Get the cashback amounts for a specific organization. - [Get Cashback Configuration](https://partner.getpliant.com/reference/get-cashback-configuration.md): Get the cashback configuration for a specific organization. - [Get Cashback History](https://partner.getpliant.com/reference/get-cashback-history.md): Get the cashback redemption history for a specific organization. Use the `limit` and `page` parameters to paginate results, `sortBy` and `sortDirection` to sort, and the date filter parameters (`createdAtFrom`/`createdAtTo`, `updatedAtFrom`/`updatedAtTo`, `paymentConfirmedAtFrom`/`paymentConfirmedAtTo`) to narrow results by time range. Multiple date filters can be combined. Requests without pagination parameters return the first page with the default limit. - [Get Cashback Receipt](https://partner.getpliant.com/reference/get-cashback-receipt.md): Get the cashback receipt as PDF for a specific organization. - [Get Cashback for Transaction](https://partner.getpliant.com/reference/get-cashback-transactions.md): Get the cashback amounts for transactions of a specific organization. - [Redeem Cashback](https://partner.getpliant.com/reference/redeem-cashback.md): Redeem cashback for a specific organization. - [Callback: Remove](https://partner.getpliant.com/reference/remove-cashback-subscription.md): Remove a callback subscription for this entity. - [Create Custom Field Option](https://partner.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`. - [Create Custom Field](https://partner.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`. - [Delete Custom Field Option](https://partner.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). - [Delete Custom Field](https://partner.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://partner.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. - [List Custom Fields](https://partner.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. - [Update Custom Field Option](https://partner.getpliant.com/reference/update-custom-field-option.md): Update an existing [custom field option](/docs/custom-fields-on-transactions) on the organization. - [Update Custom Field](https://partner.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. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-external-transfer-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Create External Transfer](https://partner.getpliant.com/reference/create-external-transfer.md): Create a new external transfer for the specified organization. External transfers are payments made to beneficiaries outside of your organization. You must provide the beneficiary information, transfer amount, and transfer method. The transfer will initially be created in DRAFT status and can be modified until submitted for processing. - [Get External Transfer Details](https://partner.getpliant.com/reference/get-external-transfer-details.md): Get detailed information about a specific external transfer. - [List External Transfers](https://partner.getpliant.com/reference/get-external-transfers.md): Query external transfers for a specific organization. External transfers are payments made to beneficiaries outside of your organization. You can filter transfers by various criteria including beneficiary, source card account, transfer method, status, and date ranges. - [Callback: Remove](https://partner.getpliant.com/reference/remove-external-transfer-subscription.md): Remove a callback subscription for this entity. - [Submit External Transfer](https://partner.getpliant.com/reference/submit-external-transfer.md): Submit an external transfer for processing. This endpoint moves the transfer from DRAFT status to the next stage in the workflow, typically NEEDS_APPROVAL or COMPLIANCE_CHECK depending on your organization's configuration. Once submitted, the transfer can no longer be modified and will proceed through the approval and compliance workflow. - [Update External Transfer Status](https://partner.getpliant.com/reference/update-external-transfer-status.md): Update the status of an existing external transfer. This endpoint allows you to change the transfer status, for example to approve, reject, or mark as paid. The available status transitions depend on the current status of the transfer and your organization's configuration. - [Update External Transfer](https://partner.getpliant.com/reference/update-external-transfer.md): Update an existing external transfer. You can modify the transfer details including beneficiary, amount, transfer method, and other properties. Note that transfers can only be modified when they are in DRAFT status. Once submitted for processing, most fields become read-only. - [List Identity Verifications](https://partner.getpliant.com/reference/list-identity-verifications.md): Returns all identity verifications for a given member or representative. - [Start Identity Verification](https://partner.getpliant.com/reference/start-identity-verification.md): Initiates an identity verification process for a member or representative. - [Stop Identity Verification](https://partner.getpliant.com/reference/stop-identity-verification.md): Stops an ongoing identity verification process. - [Activate Organization Authorization](https://partner.getpliant.com/reference/activate-partner-organization-authorization.md): Activate an authorization for data sharing between an existing Pliant customer an your partner app. Only possible if the customer itself has initially started the process of data sharing. - [Provide Lead](https://partner.getpliant.com/reference/create-lead.md): Provide a new customer lead to Pliant for a customer referred by you, the partner. This lead will be picked up by our Sales team and they will onboard the customer as a new organization to Pliant. The details depend on the specific agreement Pliant has with you, the partner. More details can be found in our [guides section](/docs/partner-customer-is-referred-to-pliant). - [Deactivate Organization Authorization](https://partner.getpliant.com/reference/deactivate-partner-organization-authorization.md): Deactivate an authorization for data sharing between an existing Pliant customer an a partner app. **This action removes the authorization for data sharing between the customer and the partner app. Meaning you loose access to the customer's data via this API!** - [Get Partner Signing Public Key (JWKS)](https://partner.getpliant.com/reference/get-partner-signing-jwks.md): Returns a JSON Web Key Set (JWKS) containing a single public Ed25519 key for the authenticated partner. This public key is used to verify signatures in two scenarios: - **Callback signing**: Verify [callback authenticity](/docs/callbacks) - **Redirect signing**: Verify [redirect signatures](/docs/existing-pliant-customer-starts-integration) **Important**: This key is per partner and is identified by the currently authenticated partner. The key is stable and there are currently no plans to rotate it. Consumers should cache this key and avoid fetching it frequently. Only fetch the key again if signature verification fails, as this may indicate a key rotation (though none is currently planned). - [Update Partner Settings](https://partner.getpliant.com/reference/update-partner-settings.md): Once partners received credentials to access our partner API, they are able to set-up partner-related callback configuration via this self-service endpoint. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-mobile-wallet-tokenization-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Mobile Wallet Tokenization Details](https://partner.getpliant.com/reference/get-mobile-wallet-tokenization-details.md): Return details for a single Mobile Wallet Token - [List Mobile Wallet Tokenizations](https://partner.getpliant.com/reference/get-mobile-wallet-tokenization.md): Returns all mobile wallet tokenizations for mobile wallets for the given card or organization. At least one of both is needed, the input parameters are treated as an OR condition. - [Callback: Remove](https://partner.getpliant.com/reference/remove-mobile-wallet-tokenization-subscription.md): Remove a callback subscription for this entity. - [Terminate (Cancel) Onboarding Submission](https://partner.getpliant.com/reference/cancel-onboarding-submission.md): Cancels the submission (status becomes WITHDRAWN). Not allowed for terminal states (returns 409). - [Callback: Add/Update](https://partner.getpliant.com/reference/create-onboarding-submission-subscription.md): Subscribe to callbacks for onboarding submission events. Callbacks will be sent to the provided callbackUrl when the specified events occur. **Event Triggers:** - `SUBMISSION_SUBMITTED`: Triggered when an onboarding submission is successfully submitted (status: SUBMITTED) - `SUBMISSION_IN_APPROVAL_PLIANT`: Triggered when risk/compliance PASS was received and Pliant manual steps are ongoing (status: SUBMITTED) - `SUBMISSION_IN_APPROVAL_BANKINGPARTNER`: Triggered when the case is submitted to the bank partner (status: SUBMITTED) - `SUBMISSION_APPROVED`: Triggered when the bank submission is approved (status: APPROVED) - `SUBMISSION_REJECTED`: Triggered when the submission is rejected (status: REJECTED) - `SUBMISSION_NEEDS_MORE_INFO`: Currently not sent - `SUBMISSION_WITHDRAWN`: Triggered when an onboarding submission is terminated (status: WITHDRAWN) For information about callback structure, headers, authentication, and verification, see the [Callbacks documentation](/docs/callbacks). - [Create Onboarding Submission](https://partner.getpliant.com/reference/create-onboarding-submission.md): Create a new onboarding submission for an organization. The organization must be in an onboarding state (ONBOARDING_STARTED, ONBOARDING_RISK_AND_COMPLIANCE, ONBOARDING_MANDATES_AND_TERMS, DEACTIVATED, CANCELLED). Only one active submission per organization is allowed. - [Get Activity Codes Reference Data](https://partner.getpliant.com/reference/get-onboarding-reference-data-activity-codes.md): Returns a list of industry activity codes filtered by code type and optional prefix. Use this endpoint to retrieve valid values for the `code` field within `businessClassification.activityCodePrimary` and `businessClassification.activityCodesSecondary` in an onboarding submission payload, together with the corresponding classification `scheme`. - [Get Industry Reference Data](https://partner.getpliant.com/reference/get-onboarding-reference-data-industry.md): Returns a list of internal industry types and their subtypes. Use this endpoint to retrieve valid values for the `businessClassification.industryType` and `businessClassification.industrySubtype` fields in an onboarding submission payload. - [Get Stored Onboarding Submission Details](https://partner.getpliant.com/reference/get-onboarding-submission-document.md): Returns the current onboarding submission details including the full payload. Use this to retrieve the full form state. - [Get Submission Overview](https://partner.getpliant.com/reference/get-onboarding-submission.md): Returns the current submission status and identifiers (without payload). - [List Onboarding Submissions](https://partner.getpliant.com/reference/list-onboarding-submissions.md): Returns a paginated list of onboarding submissions. The response contains only identifiers and status per submission. Use `status` and/or `organizationId` to filter results, and `page`/`limit` to paginate. - [Callback: Remove](https://partner.getpliant.com/reference/remove-onboarding-submission-subscription.md): Remove the callback subscription for onboarding submission events. - [Submit for Final Decision](https://partner.getpliant.com/reference/submit-onboarding-submission.md): Submits the onboarding submission for final decision. Returns 200 OK if the submission passes validation and is accepted for processing. Returns 422 if validation fails (required fields missing). Returns 409 if the submission is not in an editable state. - [Validate Completeness of Required Fields](https://partner.getpliant.com/reference/validate-onboarding-submission.md): Validates whether the onboarding submission has all required fields populated. If any mandatory field is missing, the response will indicate "complete: false" and list the missing paths in "requiredPaths". - [Callback: Add/Update](https://partner.getpliant.com/reference/create-organization-subscription.md): Subscribe to callbacks for this entity or change an existing callback. For the different organization status, see [documentation](/docs/organization-entity). - [Organization Details](https://partner.getpliant.com/reference/get-organization-details.md): Returns a single organization by its ID - [Get Organization's External Bank Account](https://partner.getpliant.com/reference/get-organization-external-bank-account.md): Fetch a specific external bank account by its ID for the provided organization. - [Organization Risk Status](https://partner.getpliant.com/reference/get-organization-risk-status.md): Returns information about risk & compliance status, including onboarding progress of a given organization. Please note: the onboarding data is only available, if the respective organization has explicitly granted the partner access to this data. - [Get Organization's External Bank Accounts](https://partner.getpliant.com/reference/get-organizations-external-bank-accounts.md): Fetch the bank accounts of the provided organization which are external to Pliant, meaning not owned by Pliant but the organization itself. The bank accounts can then be used for instance for cashback redemption etc. - [List Organizations](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-organization-subscription.md): Remove a callback subscription for this entity. - [Organization Update](https://partner.getpliant.com/reference/update-organization.md): Update an existing organization. You need to provide all fields with their current values if they should remain unchanged. If you want to update a field, you need to provide the new value. If you want to remove a field, you need to provide `null` as value. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-payment-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Payment Details](https://partner.getpliant.com/reference/get-payments-detail.md): Returns a single payment by its ID. - [List of Payments](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-payment-subscription.md): Remove a callback subscription for this entity. - [Update Partner Submission Status (Multiple)](https://partner.getpliant.com/reference/update-payments-partner-submission-status-batch.md): Updates the partnerSubmissionStatus of one or more payments. See [documentation](/docs/transaction-entity#partner-submission-status) for more information. - [Update Partner Submission Status](https://partner.getpliant.com/reference/update-payments-partner-submission-status.md): Updates the partnerSubmissionStatus of a single payment - [Callback: Add/Update](https://partner.getpliant.com/reference/create-receipt-automatching-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Get Status of Automatching Task](https://partner.getpliant.com/reference/get-receipt-automatcher-status.md): Query the status of the automatching task specified by path parameter `automatchingTaskId`. - [Automatch Metadata to Transaction](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-receipt-automatching-subscription.md): Remove a callback subscription for this entity. - [Automatch and Attach File to Transaction](https://partner.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. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-receipt-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Delete Receipt](https://partner.getpliant.com/reference/delete-receipt.md): Delete the receipt specified by path parameter receiptId - [Receipt Details](https://partner.getpliant.com/reference/get-receipt-detail.md): Returns the detailed metadata for the receipt specified by the given `receiptId`. - [List of Receipts](https://partner.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. - [Receipts as Merged PDF](https://partner.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 as PDF](https://partner.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. - [Receipt Original](https://partner.getpliant.com/reference/receipt-original.md): Returns a original file of the receipt specified by path parameter `receiptId`. - [Receipt Thumbnail](https://partner.getpliant.com/reference/receipt-thumbnail.md): Returns a thumbnail file of the receipt specified by path parameter `receiptId`. - [Callback: Remove](https://partner.getpliant.com/reference/remove-receipt-subscription.md): Remove a callback subscription for this entity. - [Upload Receipt](https://partner.getpliant.com/reference/upload-receipt.md): Upload receipt to an existing transaction. - [Callback: Add/Update](https://partner.getpliant.com/reference/create-statement-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Statement CSV](https://partner.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. - [Statement Details](https://partner.getpliant.com/reference/get-statement-detail.md): Returns the details of a single statement. - [Statement PDF](https://partner.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. - [List of Statements](https://partner.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). - [Callback: Remove](https://partner.getpliant.com/reference/remove-statement-subscription.md): Remove a callback subscription for this entity. - [Generate Test Transactions](https://partner.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 Prefund Payment](https://partner.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. - [Simulate Transaction Status Transition](https://partner.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! - [Callback: Add/Update](https://partner.getpliant.com/reference/create-transaction-subscription.md): Subscribe to callbacks for this entity or change an existing callback. - [Delete comment](https://partner.getpliant.com/reference/delete-transaction-comment.md): Deletes the comment of a single transaction - [Transaction Details](https://partner.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://partner.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) - [List of Transactions](https://partner.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. - [Callback: Remove](https://partner.getpliant.com/reference/remove-transaction-subscription.md): Remove a callback subscription for this entity. - [Update Transaction Category](https://partner.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 Comment](https://partner.getpliant.com/reference/update-transaction-comment.md): Updates the comment of a single transaction - [Update Partner Submission Status (Multiple)](https://partner.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 Partner Submission Status](https://partner.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 Receipt Upload Toggle](https://partner.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. - [Create Payee Verification](https://partner.getpliant.com/reference/create-vop-verification.md): Verify that a bank account belongs to the named person or company before initiating a transfer. This endpoint implements the **Verification of Payee (VoP)** name-check service, mandatory under the SEPA Instant Payments Regulation (IPR) for SCT and SCT Inst transfers since 9 October 2025. A real-time request is sent to the recipient's bank to compare the submitted account holder name against their records. **Typical flow:** 1. Call this endpoint before creating an external transfer. 2. Inspect the `result.matchLevel` in the response and decide whether to proceed. 3. Attach the returned `verificationId` as `vopId` in the external transfer creation request. 4. Verifications are valid for **60 minutes** (`status: ACTIVE`). If re-verification is requested within that window, the same `verificationId` is returned. **Match level guidance:** | `matchLevel` | Meaning | Recommended action | |---|---|---| | `MATCH` | Name and IBAN align perfectly | Proceed with confidence | | `CLOSE_MATCH` | Minor discrepancy (e.g. typo) | Review `result.accountHolder` for the suggested correct name | | `NO_MATCH` | Name belongs to a different person | Abort — high fraud risk | | `UNAVAILABLE` | Recipient bank unreachable or unsupported | Proceed with caution | - [Get Payee Verification](https://partner.getpliant.com/reference/get-vop-verification.md): Retrieve a previously created payee verification by its unique identifier. Use this endpoint to check the current status or result of a verification, for example when displaying the result to a user during a transfer review flow. ## Recipes - [Add Card Controls Asynchronously](https://partner.getpliant.com/recipes/add-card-controls-restrict-merchants.md) - [Generate Test Transactions In Our Sandbox](https://partner.getpliant.com/recipes/generate-test-transactions-in-our-sandbox.md) - [Issue A New Credit Card](https://partner.getpliant.com/recipes/issue-a-new-credit-card-1.md) - [Send a Receipt to the Automatcher](https://partner.getpliant.com/recipes/send-a-receipt-to-the-automatcher.md) - [Subscribe To Callbacks](https://partner.getpliant.com/recipes/subscribe-to-callbacks.md) - [Upload A Receipt To A Transaction](https://partner.getpliant.com/recipes/upload-a-receipt-to-a-transaction.md) ## Pages - [Pliant Support](https://partner.getpliant.com/pliant-support.md) - [‎Status](https://partner.getpliant.com/status.md) - [Subscribe To Changelog](https://partner.getpliant.com/subscribe-to-updates.md) ## Changelog - [Multiple Limits, Identity Verification, External Transfer & Callback Updates](https://partner.getpliant.com/changelog/multiple-limits-identity-verification-external-transfer-callback-updates.md) - [Currency Card Controls, VOP, Beneficiary & Callback Updates](https://partner.getpliant.com/changelog/card-limit-comments-vop-beneficiary-callback-updates.md) - [Country & Acceptance Method Controls](https://partner.getpliant.com/changelog/country-acceptance-method-controls.md) - [Benefit Card Unload & Termination Balance Transfer](https://partner.getpliant.com/changelog/benefit-card-unload-termination-balance-transfer.md) - [Visa Click To Pay](https://partner.getpliant.com/changelog/visa-click-to-pay.md)