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.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.adfin.com/_mock/api-docs/prod/
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

Read the activity feed for one record

Request

Returns what happened to a single record, newest first. A feed carries only that record's own activities.

pagination reports the totals for the whole filtered result rather than for the page.

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

The kind of record to read the feed for. Required, together with entityId.

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

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

Example: entityId=3fa85f64-5717-4562-b3fc-2c963f66afa6
typeArray of strings

Only return activities of these kinds. Repeat the parameter to name more than one, combined with OR. Omit it to return every kind.

Items Enum"INVOICE_CREATED""INVOICE_EDITED""INVOICE_OUTSTANDING""INVOICE_OVERDUE""INVOICE_SCHEDULED""INVOICE_SUBMITTED""INVOICE_PAID""INVOICE_SETTLED""INVOICE_VOIDED""INVOICE_DELETED"
Example: type=INVOICE_PAID
minCreationTimestring(date-time)

Only return activities that happened at or after this instant. Inclusive.

Example: minCreationTime=2026-08-01T00:00:00Z
maxCreationTimestring(date-time)

Only return activities that happened at or before this instant. Inclusive.

Example: maxCreationTime=2026-08-31T23:59:59Z
pageinteger(int32)>= 1

Which page to return, counting from one.

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

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

Default 50
Example: size=50
sortstring

How to order the page.

Default "creationTime,desc"
Enum"creationTime,desc""creationTime,asc"
curl -i -X GET \
  'https://developer.adfin.com/_mock/api-docs/prod/activities?entityType=INVOICE&entityId=3fa85f64-5717-4562-b3fc-2c963f66afa6&type=INVOICE_PAID&minCreationTime=2026-08-01T00%3A00%3A00Z&maxCreationTime=2026-08-31T23%3A59%3A59Z&page=1&size=50&sort=creationTime%2Cdesc' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The requested page of activities.

Bodyapplication/json
activitiesArray of objects(ActivityResponse)required

The activities on this page, newest first unless another order was asked for.

activities[].​idstring(uuid)required

The activity itself, for fetching it on its own.

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

When it happened.

activities[].​entityTypestringrequired

The kind of record it happened to.

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

The record it happened to.

activities[].​typestringrequired

What happened.

Enum"INVOICE_CREATED""INVOICE_EDITED""INVOICE_OUTSTANDING""INVOICE_OVERDUE""INVOICE_SCHEDULED""INVOICE_SUBMITTED""INVOICE_PAID""INVOICE_SETTLED""INVOICE_VOIDED""INVOICE_DELETED"
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[].​actorobject(ActivityActor)required
activities[].​actor.​typestringrequired

The kind of actor.

Enum"USER""SYSTEM""CONNECTOR"
activities[].​actor.​userIdstring(uuid)

The person who acted. Absent where nobody is responsible.

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" } }

Read one activity

Request

Returns a single activity by its own id.

Security
Biller Access Token (Staging) or Biller Access Token (Production)
Path
activityIdstring(uuid)required
curl -i -X GET \
  'https://developer.adfin.com/_mock/api-docs/prod/activities/{activityId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The requested activity.

Bodyapplication/json
idstring(uuid)required

The activity itself, for fetching it on its own.

creationTimestring(date-time)required

When it happened.

entityTypestringrequired

The kind of record it happened to.

Enum"INVOICE""PAYMENT_REQUEST""CUSTOMER""SCHEDULE"
entityIdstring(uuid)required

The record it happened to.

typestringrequired

What happened.

Enum"INVOICE_CREATED""INVOICE_EDITED""INVOICE_OUTSTANDING""INVOICE_OVERDUE""INVOICE_SCHEDULED""INVOICE_SUBMITTED""INVOICE_PAID""INVOICE_SETTLED""INVOICE_VOIDED""INVOICE_DELETED"
displayobject(ActivityDisplay)required
display.​titlestringrequired

What happened, in a few words.

display.​summarystring

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

actorobject(ActivityActor)required
actor.​typestringrequired

The kind of actor.

Enum"USER""SYSTEM""CONNECTOR"
actor.​userIdstring(uuid)

The person who acted. Absent where nobody is responsible.

actionsArray of objects(ActivityAction)required

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

actions[].​actionstringrequired

What the action does.

Value"PREVIEW_NOTIFICATION"
actions[].​methodstringrequired

The HTTP method to call it with.

actions[].​hrefstringrequired

The path to call it on.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "creationTime": "2019-08-24T14:15:22Z", "entityType": "INVOICE", "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5", "type": "INVOICE_CREATED", "display": { "title": "string", "summary": "string" }, "actor": { "type": "USER", "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b" }, "actions": [ {} ] }

Scheduled Activities

Operations

Webhooks

Operations