Skip to content

Adfin API (1.0.0)

Adfin uses OAuth 2.0 access tokens to authenticate all API requests.

There are two contexts in which tokens are issued:

  • Biller Access Tokens — Generated via the Authorization Code flow when a biller connects their Adfin account. These tokens grant access to that biller's data (invoices, payment requests, customers, etc.).

  • Platform Access Tokens — Generated via the Client Credentials flow for Adfin's own integrations and system events. These tokens authenticate Adfin as the platform itself (not as a specific biller) and are required for endpoints like /api/webhook.

Languages
Servers
Mock server
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/
Production API Server URL
https://api.adfin.com/api/
Staging API Server URL
https://api.staging.adfin.com/api/

oAuth2

Operations

Biller

Operations

Customers

Operations

Direct debit mandates

Operations

Invoices

Operations

Recurring invoices

Operations

Payment requests

Operations

Recurring payment requests

Operations

Payments

Operations

Tax rates

Operations

Items

Operations

Workflows

Operations

Webhooks

Operations

Customer Autopilot Settings

Operations for managing customer-level autopilot settings

Operations

Card on file

Operations

Remove a customer's card on file

Request

Security
Biller Access Token (Staging) or Biller Access Token (Production)
Path
customerIdstring(uuid)required

The id of the customer who owns the card on file

cardOnFileIdstring(uuid)required

The id of the card on file to remove

curl -i -X PUT \
  'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}/cards_on_file/{cardOnFileId}:remove' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The card on file was removed

Request card details from a customer

Request

Security
Biller Access Token (Staging) or Biller Access Token (Production)
Path
customerIdstring(uuid)required

The id of the customer to request card details from

curl -i -X PUT \
  'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}/card_on_file:request' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Card details were requested from the customer

List a customer's cards on file

Request

Security
Biller Access Token (Staging) or Biller Access Token (Production)
Path
customerIdstring(uuid)required

The id of the customer whose cards on file to list

Query
statusesArray of stringsunique

Only return cards with one of these statuses; when omitted, cards of every status are returned

Items Enum"REQUESTED""ACTIVE""CANCELLED""EXPIRED"
curl -i -X GET \
  'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/customers/{customerId}/cards_on_file?statuses=REQUESTED' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The customer's cards on file, newest first

Bodyapplication/json
cardsArray of objects(CardOnFileResponse)required

The customer's cards on file

cards[].​idstring(uuid)required

The ID of the card on file

cards[].​statusstringrequired

The current status of the card on file

Enum"REQUESTED""ACTIVE""CANCELLED""EXPIRED"
cards[].​brandstring

The card brand, e.g. visa or mastercard

cards[].​lastFourstring

The last four digits of the card

cards[].​holderNamestring

The name of the cardholder

cards[].​expiryMonthinteger(int32)

The month the card expires (1-12)

cards[].​expiryYearinteger(int32)

The year the card expires

cards[].​isBusinessCardbooleanrequired

Whether the card is a business card

cards[].​creationTimestring(date-time)required

When the card was first added

Response
application/json
{ "cards": [ {} ] }