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 when a platform authenticates as itself rather than as one of its billers. A platform uses one to manage its own webhook subscriptions under /api/apps/{clientId}/webhooks.

Languages
Servers
Mock server
https://developer.adfin.com/_mock/products/direct-integration/direct-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

Verifications

Operations

Customers

Operations

Direct debit mandates

Operations

Invoices

Operations

Recurring invoices

Operations

Payment requests

Operations

Recurring payment requests

Operations

Payments

Operations

Payouts

Operations

Tax rates

Operations

Items

Operations

Workflows

Operations

Activities

What has happened to a customer, invoice, payment request or schedule.

Operations

Scheduled Activities

Operations

Read what is planned for a customer or a payment request

Request

The plan is a forecast rather than a record. It is recalculated as other activity changes what is needed, so a row is only true as at the moment it is read. While a recalculation is outstanding the plan is a single REASSESS row and nothing else.

Security
Biller Access Token (Staging) or Biller Access Token (Production)
Query
entityTypestring

The kind of record to read the plan for. Required, together with entityId. Only CUSTOMER and PAYMENT_REQUEST have a plan.

Enum"INVOICE""PAYMENT_REQUEST""CUSTOMER""SCHEDULE"
Example: entityType=CUSTOMER
entityIdstring

The record to read the plan for, as a UUID. Required, together with entityType.

Example: entityId=3fa85f64-5717-4562-b3fc-2c963f66afa6
pageinteger(int32)>= 1

Which page to return, counting from one.

Default 1
Example: page=1
sizeinteger(int32)[ 1 .. 200 ]

How many rows to return per page. A request for more than the maximum is refused.

Default 50
Example: size=50
sortstring

How to order the page. The direction is optional and defaults to soonest first.

Default "scheduledAt,asc"
Enum"scheduledAt,asc""scheduledAt,desc""scheduledAt"
curl -i -X GET \
  'https://developer.adfin.com/_mock/products/direct-integration/direct-integration-api-reference/scheduled_activities?entityType=CUSTOMER&entityId=3fa85f64-5717-4562-b3fc-2c963f66afa6&page=1&size=50&sort=scheduledAt%2Casc' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

A page of the plan, soonest first unless another order was asked for. An empty list means nothing is planned.

Bodyapplication/json
activitiesArray of objects(ScheduledActivityResponse)required

What is planned, soonest first unless another order was asked for.

activities[].​idstringrequired

This row, for reading the message it would send. Opaque, and only good for as long as the plan is unchanged.

activities[].​scheduledAtstring(date-time)required

When it is expected to happen.

activities[].​entityTypestringrequired

The kind of record it is planned against.

Enum"INVOICE""PAYMENT_REQUEST""CUSTOMER""SCHEDULE"
activities[].​entityIdstring(uuid)required

The record it is planned against.

activities[].​typestringrequired

What is planned.

Enum"SEND_NOTIFICATION""SEND_CUSTOMER_STATEMENT""SEND_DIRECT_DEBIT_COLLECTION_NOTICE""SEND_CARD_COLLECTION_NOTICE""SEND_MANDATE_REQUEST""SEND_MANDATE_REMINDER""SEND_CARD_REQUEST""SEND_CARD_REMINDER""MAKE_PAYMENT""COLLECT_DIRECT_DEBIT_PAYMENT"
activities[].​displayobject(ActivityDisplay)required
activities[].​display.​titlestringrequired

What happened, in a few words.

activities[].​display.​summarystring

The detail beneath the title. Absent where the title says everything.

activities[].​actionsArray of objects(ActivityAction)required

What can be done about it. Empty where there is nothing to offer.

activities[].​actions[].​actionstringrequired

What the action does.

Value"PREVIEW_NOTIFICATION"
activities[].​actions[].​methodstringrequired

The HTTP method to call it with.

activities[].​actions[].​hrefstringrequired

The path to call it on.

paginationobject(Pagination)required
pagination.​pageinteger(int32)

The current page number One-based page index (1..N).

pagination.​sizeinteger(int32)

The size of the page, i.e., the number of elements per page.

pagination.​totalPagesinteger(int32)

The total number of pages available.

pagination.​totalElementsinteger(int64)

The total number of elements across all pages.

pagination.​numberOfElementsinteger(int64)

The number of elements in the current page.

pagination.​sortstring

Sorting criteria in the format: property,(asc|desc).

Response
application/json
{ "activities": [ {} ], "pagination": { "page": 0, "size": 0, "totalPages": 0, "totalElements": 0, "numberOfElements": 0, "sort": "string" } }

Webhooks

Operations