Added

Multiple Limits, Identity Verification, External Transfer & Callback Updates

Release highlights

This release adds multiple card limits, identity verification APIs, callback lookup and resend endpoints, onboarding reference data, and several enum and payload updates.


Breaking changes

External transfer enum updates

Several enum values for external transfers have changed.

transferMethod changes:

  • SEPA has been removed
  • SEPAINST has been replaced by INSTANT_CREDIT_TRANSFER

status changes:

  • REJECTED has been replaced by FAILED
  • COMPLIANCE_BLOCKED has been replaced by FAILED

The complete field has also been removed from external transfer response and callback schemas.

Affected endpoints and callbacks:

  • GET /api/external-transfers
  • POST /api/external-transfers
  • PUT /api/external-transfers/{id}
  • EXTERNAL_TRANSFER_STATUS_CHANGED callback

Click to Pay enroll and unenroll are now asynchronous

The Click to Pay enroll and unenroll endpoints now return 202 Accepted with an empty body. Previously, these endpoints returned a synchronous result.

Affected endpoints:

  • POST /api/cards/{cardId}/enroll-click-to-pay
  • POST /api/cards/{cardId}/unenroll-click-to-pay

Migration: Subscribe to the new CARD_CLICK_TO_PAY_INFO_CHANGED callback event to receive the outcome of enroll and unenroll operations asynchronously.


New features

Multiple card limits

Partners can now create cards with additional spend limits in a single request. The additionalLimits array is optional, so existing integrations are unaffected.

{
  "additionalLimits": [
    {
      "limitRenewFrequency": "MONTHLY",
      "limit": {
        "value": 20000,
        "currency": "EUR"
      },
      "scope": {
        "atmWithdrawal": true
      }
    },
    {
      "limitRenewFrequency": "MONTHLY",
      "limit": {
        "value": 150000,
        "currency": "EUR"
      },
      "scope": {
        "categories": ["TRAVEL_AND_ACCOMMODATION"]
      }
    }
  ]
}

Additional limits are also returned in card detail and batch detail responses. You can manage them on an existing card through the limit update endpoint.

Affected endpoints:

  • POST /api/cards — Create a card with additional limits
  • POST /api/cards/requests — Create a card request with additional limits
  • POST /api/cards/limits/requests — Create a limit change request with additional limits
  • PUT /api/cards/limits/{cardId} — Add, update, or remove additional limits on an existing card
  • GET /api/cards/{cardId} — Return additionalLimits with current balance information
  • GET /api/cards/details — Return additionalLimits per card in batch responses
🚧

The batch limit update endpoint PATCH /api/cards/limits does not support additionalLimits.

📘

Multiple card limits require the ADVANCED_CARD_LIMITS_FEATURE flag to be enabled for the payment program.

More details can be found here: https://partner.getpliant.com/update/docs/advanced-card-limits


Identity verification

Partners can now initiate, stop, and list identity verification sessions for members and representatives through the API.

New endpoints:

  • POST /api/identity-verifications — Start a verification session
  • POST /api/identity-verifications/{identityVerificationId}/stop — Stop an ongoing session
  • GET /api/identity-verifications — List verifications for a member or representative

Supported identification types:

  • IDNOW_VG_VIDEOIDENT
  • IDNOW_PLIANT_OY_AUTOIDENT
  • IDNOW_PLIANT_OY_VIDEOIDENT

Callback management endpoints

The callback API now supports callback lookup and resend flows. The old /callback-log endpoint is deprecated.

New endpoints:

  • GET /api/callbacks — Search and filter callbacks with pagination
  • GET /api/callbacks/{callbackId} — Fetch details and payload for a single callback
  • POST /api/callbacks/{callbackId}/resend — Resend a previously delivered callback

Deprecated endpoint:

  • GET /api/callback-log — Replaced by the callback endpoints above

Onboarding reference data

Two new endpoints return valid values for onboarding submission fields.

New endpoints:

  • GET /api/onboarding/reference-data/industries — Return internal industry types and subtypes for the industry field
  • GET /api/onboarding/reference-data/activity-codes?industryCodeType=NACE&codePrefix=08 — Return activity codes filtered by classification system and optional prefix for the activityCode field

PENDING status for Click to Pay

A new PENDING value has been added to the clickToPayInfo.status enum.

A card enters PENDING when it is eligible for Click to Pay, but the cardholder has not yet been enrolled as a Click to Pay member. After member enrollment completes, card enrollment is triggered automatically.

Affected responses:

  • GET /api/cards/{cardId}
  • Card detail responses

Click to Pay info changed callback

Partners subscribed to card events now receive a notification when a card’s Click to Pay enrollment status changes, including transitions through PENDING.

New event type:

  • CARD_CLICK_TO_PAY_INFO_CHANGED

Improvements

Cashback history enhancements

The cashback history endpoint now supports filtering by card account and returns richer bank account data.

Updated endpoint:

  • GET /api/organizations/{organizationId}/cashback/history

New query parameter:

  • cardAccountId — Filters results to a specific card account. If omitted, the default card account is used.

New response field:

  • bankAccount — Structured bank account data including bankAccountId, bankName, bic, accountNumber, accountNumberType, and currency.

Deprecated field:

  • iban — Deprecated. Use bankAccount.accountNumber instead.

CANCELLED legitimation status

CANCELLED has been added to the legitimationStatus enum for cardholders. This status covers cases where an identity verification session is cancelled before completion.

Affected payloads:

  • CARDHOLDER_LEGITIMATION_STATUS_CHANGED callback
  • Identity verification responses

cardAccountId in callback payloads

The cardAccountId field is now included in the following callback payloads:

  • Copilot callbacks
  • Card controls callbacks
  • Card tokenization status change callbacks
  • Card tokenization OTP callbacks

HEALTHCARE accounting category

HEALTHCARE has been added as a valid value for the category field on transactions and accounting categories.

Affected endpoints and callbacks:

  • GET /api/transactions
  • GET /api/accounting-categories
  • Related transaction callbacks

CASH_WITHDRAWAL in test transactions

The CASH_WITHDRAWAL transaction type is now available when generating test transactions in sandbox environments.

Affected endpoint:

  • POST /api/test/generate-transactions

Default maxTransactionCount for travel cards lowered

The default value of maxTransactionCount for travel cards has been lowered from 5 to 3.

This only affects newly created travel cards where maxTransactionCount is not explicitly set.