Skip to main content

getpaid API (v2alpha1)

Download OpenAPI specification:Download

Introduction

Our APIs provide programmatic access to the getpaid platform. This page contains a comprehensive reference for all of our public APIs. For walkthrough documentation please see our main docs site.

Getting Started

To get started, sign up at https://getpaid.io. This will give you access to the getpaid Dashboard where you can configure your account and retrieve your credentials needed to authenticate with our APIs.

To streamline integration we provide client libraries for a number of languages, otherwise you can integrate directly with the API using the HTTP tooling built-in to most modern frameworks.

Fields Format

Type Format
Amount Minor Amount in the minor currency unit (e.g. 100 cents for 1 EUR).
Card Number Credit/debit card numbers are formatted as a string of digits with no white spaces or dashes. The value must be between 13 and 19 digits long and must fulfill the Luhn check.
Card Verification Value Card Verification Value (CVV) or Card Verification Code (CVC) is formatted as a string of digits. The value must be 3 or 4 digits long.
Country The country code fields follow the ISO 3166-1 Alpha 2 standard in uppercase. Examples: ES, US.
Currency The currency code fields follow the ISO 4217 standard in uppercase. Examples: EUR, USD.
Date Dates are formatted using the complete date format according to the ISO 8601 standard: YYYY-MM-DD. Example: 2023-09-30.
Date-time Date-time fields are formatted using the ISO 8601 standard for the combined date and time in UTC: YYYY-MM-DDThh:mm:ss.sssZ. Example: 2015-09-01T23:59:59.479Z.
Email Email fields should follow the RFC 5322 standard. Example: jon.smith@acme.com
Hex Color Colors are represented as a string starting with # followed by six hexadecimal digits. Each pair of digits represents the intensity of red, green, and blue components respectively. Examples: #FFFFFF, #000000, #FF5733.
Identifier Identifiers are formatted as a string of 3 alphabetic characters (which represents the type of the identified object), one underscore and 26 alphanumeric characters. Every identifier generated in our system is globally unique. Examples: acc_44678r08jtm8zbt227tzhc4nw5, doc_473cr1y0ghbyc3m1yfbwvn3nxx.
IP IP fields are formatted using the Internet Protocol version 4 (IPv4) standard: x.x.x.x where x must be a decimal value between 0 and 255. Example: 192.158.1.38.

Files MIME Types

The format of the files uploaded must correspond to the MIME type in the Content-Type header. See the supported file formats and the corresponding MIME types:

Extensions Kind of document MIME Type
.csv Comma-separated values (CSV) text/csv
.doc Microsoft Word application/msword
.docx Microsoft Word (OpenXML) application/vnd.openxmlformats-officedocument.wordprocessingml.document
.jpeg, .jpg JPEG images image/jpeg
.md Markdown text/markdown
.pdf Adobe Portable Document Format (PDF) application/pdf
.png Portable Network Graphics image/png
.svg Scalable Vector Graphics (SVG) image/svg+xml
.tsv Tab-separated values (TSV) text/tab-separated-values
.txt Text (generally ASCII or ISO 8859-n) text/plain
.xls Microsoft Excel application/vnd.ms-excel
.xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Authentication

In order to authenticate with getpaid APIs you need to request an OAuth 2.0 Access Token using your Client ID and Secret available from the getpaid Dashboard:

curl --location --request POST 'https://auth.getpaid.io/oauth/token' \
--header 'Content-Type: application/json' \
--data-raw '{
  "client_id": "{{client_id}}",
  "client_secret": "{{client_secret}}",
  "audience": "https://api.sandbox.getpaid.io",
  "grant_type": "client_credentials"
}'

Specify the appropriate audience, client_id and client_secret to switch between Sandbox and Live environments. Full details of the access token endpoint can be found here.

This will return a Bearer access token in the JSON Web Token (JWT) format which you should use in the Authorization header of any subsequent getpaid API requests:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
  "token_type": "bearer",
  "expires_in": 3600
}

The access token will be valid for the length of time in seconds indicated by the expires_in field. When it expires, you should request a new one. If using one of our client libraries, this will be handled automatically for you.

OAuth

Security Scheme Type: OAuth2
Flow type: clientCredentials
Token URL: https://auth.getpaid.io/oauth/token
Scopes:
  • accounts:read -

    Allows to read accounts.

  • accounts:read_write -

    Allows to read and/or upsert accounts.

  • bank_account_authorizations:read_write -

    Allows to read and/or create bank account authorizations.

  • bank_transactions:read -

    Allows to read bank transactions.

  • bank_transactions:read_write -

    Allows to read and/or upsert bank transactions.

  • invoices:read -

    Allows to read invoices.

  • invoices:read_write -

    Allows to read and/or upsert invoices.

  • payment_terms:read -

    Allows to read payment terms.

  • payment_terms:read_write -

    Allows to read and/or upsert payment terms.

  • chats:read_write -

    Allows to read and/or upsert chats.

Access Token

Obtain an OAuth 2.0 Access token to authenticate API requests

Request Body schema: application/json
required
client_id
string

Your OAuth Client ID for the environment, Live or Sandbox, you are requesting the token for.

client_secret
string

Your OAuth Client Secret for the environment, Live or Sandbox, you are requesting the token for.

audience
string <uri>
Enum: "https://api.getpaid.io" "https://api.sandbox.getpaid.io"

The API you wish to integrate with. Use this to switch between Sandbox and Live.

grant_type
string
Value: "client_credentials"

The OAuth grant type

Responses

Request samples

Content type
application/json
Example
{
  • "client_id": "g6gWu46zeP0HH4jkW3i22yJ2shDrNxJ8",
  • "client_secret": "S6gozTXzrS42OZ0cmxVJG133mOfuHhSfkIJkcH7FBm-0HyGrVZMLGJtyruTA4CQv",
  • "audience": "https://api.getpaid.io",
  • "grant_type": "client_credentials"
}

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImliVmVSLV...",
  • "scope": "payments",
  • "expires_in": 86400,
  • "token_type": "Bearer"
}

Accounts

An account is the business that will be onboarded to getpaid. The account is the main entity that will be used to enable the different capabilities that getpaid offers.

Create Account

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
reference
string [ 1 .. 50 ] characters

Your reference for the account.

required
object

The available capabilities for the account.

country
required
string <iso-3166-alpha-2> = 2 characters

The two-letter ISO country code.

required
object

The business profile details.

intraorganizational
boolean (Intraorganizational)

Indicates whether the account belongs to the requestor's organization.

object <= 5 properties

Some data to provide context for the account. Keys with a length greater than 100 characters are not supported.

object (AccountUrls)

URLs that are used throughout the application process.

labels
Array of strings (LabelId) <= 10 items [ items [ 30 .. 50 ] characters ]

The list of labels to apply to the account.

Responses

Request samples

Content type
application/json
{
  • "reference": "merch-001",
  • "capabilities": {
    },
  • "business_profile": {
    },
  • "intraorganizational": true,
  • "metadata": {
    },
  • "urls": {},
  • "labels": [
    ],
  • "country": "DE"
}

Response samples

Content type
application/json
{
  • "id": "acc_44678r08jtm8zbt227tzhc4nw5",
  • "capabilities": {
    },
  • "requirements_due": [
    ],
  • "version": "20240213150344583"
}

List Accounts

Authorizations:
OAuthOAuth
query Parameters
sort
string
Example: sort=legal_name:desc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field names are: legal_name.
  • sort_mode is asc for ascendant or desc for descendant.
first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

id
Array of strings (AccountId) [ items [ 30 .. 50 ] characters ]
Example: id=acc_44678r08jtm8zbt227tzhc4nw5&id=acc_47252596b36e4004a03cfa82c5

Filtering. Exact match of a list of account IDs.

reference
string (Reference) [ 1 .. 50 ] characters
Example: reference=merch-001

Filtering. Your reference for the account.

country
string <iso-3166-alpha-2> (Country) = 2 characters
Example: country=DE

Filtering. The two-letter ISO country code.

intraorganizational
boolean (Intraorganizational)

Filtering. Indicates whether the account belongs to the requestor's organization.

legal_name
string
Example: legal_name=getpaid autos S.L.

Filtering. It applies contains operator to the legal name. The operator is not case-sensitive and it ignores diacritic and special characters, it means, it replaces all characters but [A-Za-z0-9 ].

capability
Array of strings (CapabilityName)
Items Enum: "manage_resources" "issue_invoices" "receive_invoices"
Example: capability=manage_resources&capability=issue_invoices

Filtering. Exact match of a list of capabilities.

Note: This parameter cannot be used together with capability_to.

capability_status
Array of strings (CapabilityStatus)
Items Enum: "information_due" "verifying" "active" "inactive"
Example: capability_status=information_due&capability_status=active

Filtering. Exact match of a list of capability statuses.

manage_resources_from
string <date-time> (DateTime) = 24 characters
Example: manage_resources_from=2023-01-01T01:01:00.000Z

Filtering. Initial date and time (inclusive) of the range where the account had manage_resources capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in manage_resources_to parameter.

manage_resources_to
string <date-time> (DateTime) = 24 characters
Example: manage_resources_to=2023-01-01T01:01:00.000Z

Filtering. Last date and time (inclusive) of the range where the account had manage_resources capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in manage_resources_from parameter.

Note: This parameter cannot be used together with capability.

issue_invoices_from
string <date-time> (DateTime) = 24 characters
Example: issue_invoices_from=2023-01-01T01:01:00.000Z

Filtering. Initial date and time (inclusive) of the range where the account had issue_invoices capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in issue_invoices_to parameter.

issue_invoices_to
string <date-time> (DateTime) = 24 characters
Example: issue_invoices_to=2023-01-01T01:01:00.000Z

Filtering. Last date and time (inclusive) of the range where the account had issue_invoices capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in issue_invoices_from parameter.

Note: This parameter cannot be used together with capability.

receive_invoices_from
string <date-time> (DateTime) = 24 characters
Example: receive_invoices_from=2023-01-01T01:01:00.000Z

Filtering. Initial date and time (inclusive) of the range where the account had receive_invoices capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in receive_invoices_to parameter.

receive_invoices_to
string <date-time> (DateTime) = 24 characters
Example: receive_invoices_to=2023-01-01T01:01:00.000Z

Filtering. Last date and time (inclusive) of the range where the account had receive_invoices capability activated. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in receive_invoices_from parameter.

Note: This parameter cannot be used together with capability.

label
Array of strings (LabelId) [ items [ 30 .. 50 ] characters ]
Example: label=lbl_44678r08jtm8zbt227tzhc4nw5&label=lbl_31672r10jtm6zvt127vzmc3sn2

Filtering. Exact match of a list of label IDs.

Responses

Response samples

Content type
application/json
{
  • "cursor": "Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==",
  • "data": [
    ]
}

Get Account

Gets an account associated to the owner account.

Authorizations:
OAuthOAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

Responses

Response samples

Content type
application/json
{
  • "reference": "merch-001",
  • "capabilities": {
    },
  • "business_profile": {
    },
  • "intraorganizational": true,
  • "metadata": {
    },
  • "urls": {},
  • "labels": [
    ],
  • "country": "DE",
  • "id": "acc_44678r08jtm8zbt227tzhc4nw5",
  • "requirements_due": [
    ],
  • "version": "20240213150344583"
}

Update Account

It applies partial modifications to an existing account. On this way, every field that is not provided will remain unchanged, and all the provided ones would be updated in our system. Please note that some fields might require some attention and can raise some additional checks required by any capability requirement.

Authorizations:
OAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

Request Body schema: application/json
required
reference
string (Reference) [ 1 .. 50 ] characters

Your reference for the account.

object (Capabilities)

The available capabilities for the account.

object (BusinessProfile)

The business profile details.

intraorganizational
boolean (Intraorganizational)

Indicates whether the account belongs to the requestor's organization.

object <= 5 properties

Some data to provide context for the account. Keys with a length greater than 100 characters are not supported.

object (AccountUrls)

URLs that are used throughout the application process.

labels
Array of strings (LabelId) <= 10 items [ items [ 30 .. 50 ] characters ]

The list of labels to apply to the account.

Responses

Request samples

Content type
application/json
{
  • "reference": "merch-001",
  • "capabilities": {
    },
  • "business_profile": {
    },
  • "intraorganizational": true,
  • "metadata": {
    },
  • "urls": {},
  • "labels": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "acc_44678r08jtm8zbt227tzhc4nw5",
  • "capabilities": {
    },
  • "requirements_due": [
    ],
  • "version": "20240213150344583"
}

Disable Account

It disables an existing account. Once an account is disabled, it will not be accessible anymore.

Authorizations:
OAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Types

There are several types of relationships an account can have. The possible ones are:

  • can_use - Allows source account to use the resources of destination account.

Bank Account Authorizations

A bank account authorization is a permission granted by a bank account holder, allowing another person or entity to access, manage, or perform specific transactions on their account.

Statuses

Bank account authorizations have a status which indicates the current state of the consent process. The possible statuses are:

  • completed - The request was completed successfully.
  • next_step_required - The request requires additional action before it can be completed.
  • awaiting - The request is pending and waiting for a response or action from an external party.
  • rejected - The request was rejected by the user/bank.
  • failed - The request failed due to technical reasons.

Next Steps

In a bank account authorization process, there are multiple steps that need to be followed to complete the action. These steps are defined by the next_step block, which guides the flow of the authorization process.

Possible values for next_step.type:

  • configure_redirect - Redirection information needs to be collected by calling Configure Single Redirect Bank Account Authorization endpoint.
  • redirect - The user needs to be redirected to the bank's website to complete a required action.
  • pass_credentials - The user needs to provide their credentials (e.g., username, password) for authentication purposes by calling Pass User's Credentials Bank Account Authorization.
  • select_sca_method - The user must select a Strong Customer Authentication (SCA) method, such as SMS, app-based authentication, or a hardware token by calling Select SCA Method For Bank Account Authorization.
  • pass_sca_code - The user needs to enter an SCA code (e.g., a one-time password) that was generated from their chosen SCA method by calling Pass SCA Code For Bank Account Authorization.
  • poll - To poll the consent status, by calling Get Bank Account Authorization, is required in order to determine whether the user has successfully authorized the request with the bank. Because the flow occurs directly between the end user and the bank without getpaid acting as an intermediary, for example, via a secondary device such as a mobile phone.

Create Bank Account Authorization

Creates a bank account authorizations associated to a specific account.

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
required
Array of objects non-empty unique

List of payment instruments to get the bank account authorization with its account unique identifier.

permissions
Array of strings (BankAccountConsentPermissions) non-empty unique
Items Value: "read_transactions"

It is used to precisely define the features for which the user will provide consent when requesting access to their account information.

If omitted, all scopes are set.

Responses

Request samples

Content type
application/json
{
  • "payment_instruments": [
    ],
  • "permissions": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "next_step_required",
  • "next_step": {
    }
}

Get Bank Account Authorization

Gets a bank account authorizations associated to a specific account.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "awaiting",
  • "payment_instruments": [
    ]
}

Revoke Bank Account Authorization

Revokes the authorization associated with a specific bank account. Once an authorization is revoked, it cannot be re-enabled. A new authorization must be obtained to regain access.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/json
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "payment_instruments": [
    ]
}

Configure Single Redirect Bank Account Authorization

Configure the authorization process to redirect the user to the provided URL.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
required
object

URLs that are used throughout the bank account authorization process.

redirect
required
string <uri> (Url) <= 1024 characters

Redirection URL once the bank account authorization is completed.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "next_step_required"
}

Pass User's Credentials Bank Account Authorization

Capture the user's credentials to allow them to login.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
username
required
string <= 50 characters

The username for the bank.

password
required
string <= 50 characters

The password for the user for the bank.

Responses

Request samples

Content type
application/json
{
  • "username": "6154057725",
  • "password": "PISPWD12"
}

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "next_step_required"
}

Select SCA Method For Bank Account Authorization

Select SCA method to receive a SCA code.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
sca_method_code
required
string

The SCA method chosen by the user for the bank. If the user has multiple SCA methods configured, the bank will allow the user to choose from these options.

Responses

Request samples

Content type
application/json
{
  • "sca_method_code": "push"
}

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "next_step_required"
}

Pass SCA Code For Bank Account Authorization

Pass SCA code to complete the authorization.

Authorizations:
OAuth
path Parameters
bank_account_authorization_id
required
string (BankAccountAuthorizationId) [ 30 .. 50 ] characters
Example: baa_6f98522fe59341108bb967fa4f

The unique identifier of the bank account authorization.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
sca_code
required
string

The SCA code provided by the user to authorize the bank account.

Responses

Request samples

Content type
application/json
{
  • "sca_code": "123456"
}

Response samples

Content type
application/json
Example
{
  • "id": "baa_6f98522fe59341108bb967fa4f",
  • "status": "completed",
  • "payment_instruments": [
    ]
}

Invoices Series

The series are used to create invoices with auto-generated codes. Invoices series can be created only for accounts with issue_invoices capability enabled.

The prefix and suffix fields are used to generate the invoice number, the padding field is used to pad the number with zeros, the valid_from and valid_to fields are used to define the period in which the series is valid. The produced invoices reference will be {prefix}{padded number}{suffix}, the length of the reference is limited to 50 characters. So the sum of the length of prefix, suffix and the padding should be less than or equal to 50.

Create Invoices Series

Creates new invoices series for the account.

Authorizations:
OAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
name
required
string (InvoicesSeriesName) <= 100 characters

The name of the series.

prefix
required
string [ 2 .. 45 ] characters

The prefix of the invoice generated number.

suffix
string <= 43 characters

The suffix of the invoice generated number.

padding
required
integer [ 5 .. 20 ]

The number of digits to pad the invoice generated number with.

valid_from
required
string <date-time> = 24 characters

The utc date from which the series is valid.

valid_to
required
string <date-time> = 24 characters

The utc date until which the series is valid.

type
required
string
Enum: "standard" "corrective"

The type of the invoices supported by the series.

Responses

Request samples

Content type
application/json
{
  • "name": "Marketplace sales",
  • "prefix": "INV-2024-",
  • "suffix": "MARKETPLACE",
  • "padding": 5,
  • "valid_from": "2024-01-01T00:00:00Z",
  • "valid_to": "2024-12-31T23:59:59Z",
  • "type": "standard"
}

Response samples

Content type
application/json
{
  • "id": "ser_4ehg1mkv3mvt3256vcn8dspb4h"
}

List Invoices Series

Lists the existing invoices series.

Authorizations:
OAuthOAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

query Parameters
type
string (InvoiceType)
Enum: "standard" "corrective"
Example: type=standard

Filtering. The type of the invoices series.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Invoices Series

Gets the invoices series details.

Authorizations:
OAuthOAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

invoices_series_id
required
string (InvoicesSeriesId) [ 30 .. 50 ] characters
Example: ser_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoices series.

Responses

Response samples

Content type
application/json
{
  • "id": "ser_4ehg1mkv3mvt3256vcn8dspb4h",
  • "name": "Marketplace sales",
  • "prefix": "INV-2024-",
  • "suffix": "MARKETPLACE",
  • "padding": 5,
  • "valid_from": "2024-01-01T00:00:00Z",
  • "valid_to": "2024-12-31T23:59:59Z",
  • "type": "standard"
}

Labels

Labels are used to categorize and organize your data. They can be used to group invoices, accounts, or any other entity in the system.

Create Label

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
name
required
string <= 50 characters

The name of the label.

color
required
string <hex-color>

The color of the label. A hexadecimal color code.

description
string <= 250 characters

The description of the label.

Responses

Request samples

Content type
application/json
{
  • "name": "Garage",
  • "color": "#FF0000",
  • "description": "This is a label description."
}

Response samples

Content type
application/json
{
  • "id": "lbl_44678r08jtm8zbt227tzhc4nw5",
  • "text": "#FFFFFF"
}

List Labels

Authorizations:
OAuthOAuth
query Parameters
sort
string
Example: sort=name:desc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field name is: name.
  • sort_mode is asc for ascendant or desc for descendant.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Label

Authorizations:
OAuthOAuth
path Parameters
label_id
required
string (LabelId) [ 30 .. 50 ] characters
Example: lbl_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the label.

Responses

Response samples

Content type
application/json
{
  • "id": "lbl_44678r08jtm8zbt227tzhc4nw5",
  • "name": "Garage",
  • "color": "#FF0000",
  • "text": "#FFFFFF",
  • "description": "This is a label description."
}

Update Label

Authorizations:
OAuth
path Parameters
label_id
required
string (LabelId) [ 30 .. 50 ] characters
Example: lbl_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the label.

Request Body schema: application/json
required
name
required
string <= 50 characters

The name of the label.

color
required
string <hex-color>

The color of the label. A hexadecimal color code.

description
string <= 250 characters

The description of the label.

Responses

Request samples

Content type
application/json
{
  • "name": "Garage",
  • "color": "#FF0000",
  • "description": "This is a label description."
}

Response samples

Content type
application/json
{
  • "id": "lbl_44678r08jtm8zbt227tzhc4nw5",
  • "text": "#FFFFFF"
}

Delete Label

Authorizations:
OAuth
path Parameters
label_id
required
string (LabelId) [ 30 .. 50 ] characters
Example: lbl_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the label.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Payment Instruments

A payment instrument represents a financial entity that can be used for processing payments, invoicing, and reconciliation. It contains essential details about the funding source, such as a bank account or other financial methods, and provides metadata related to its status and capabilities.

Note that every change performed on a payment instrument (create, disable, or enable) will alter the account version and can trigger some verification checks required on any capability.

Statuses

Payment instruments have a status which indicates its current state. The possible statuses are:

  • active - The payment instrument is active and can be used.
  • inactive - The payment instrument is inactive and cannot be used.

Create Payment Instument

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
required
object
type
required
string

The type of payment instrument.

required
object (BankAccountNumber)

The bank account.

Responses

Request samples

Content type
application/json
{
  • "type": "bank_account",
  • "account_number": {
    }
}

Response samples

Content type
application/json
{
  • "id": "pai_1a6po0p7zqv1q2arfsyr9548q",
  • "bank": {},
  • "open_banking": {
    },
  • "account": {
    }
}

List Payment Instruments

List payment instruments associated the specified accounts.

Authorizations:
OAuthOAuth
query Parameters
sort
string
Example: sort=account_number_value:desc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field names are: account_number_value and bank_type.
  • sort_mode is asc for ascendant or desc for descendant.

By default: account_number_value:asc.

first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

account_id
Array of strings (AccountId) [ items [ 30 .. 50 ] characters ]
Example: account_id=acc_44678r08jtm8zbt227tzhc4nw5&account_id=acc_47252596b36e4004a03cfa82c5

Filtering. Exact match of a list of account IDs.

account_number_value
string
Example: account_number_value=210031189

Filtering. It applies contains operator to the value of the account number.

type
string
Value: "bank_account"
Example: type=bank_account

Filtering. The type of payment instrument.

status
string (PaymentInstrumentStatus)
Enum: "active" "inactive"
Example: status=active,inactive

Filtering. Comma-separated list indicating the payment instrument status.

Responses

Response samples

Content type
application/json
{
  • "cursor": "Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==",
  • "data": [
    ]
}

Get Payment Instrument

Gets a payment instrument associated to the owner account.

Authorizations:
OAuthOAuth
path Parameters
payment_instrument_id
required
string (PaymentInstrumentId) [ 30 .. 50 ] characters
Example: pai_1a6po0p7zqv1q2arfsyr9548q

The unique identifier of the payment instrument.

Responses

Response samples

Content type
application/json
{
  • "id": "pai_1a6po0p7zqv1q2arfsyr9548q",
  • "bank": {},
  • "open_banking": {
    },
  • "account": {
    },
  • "type": "bank_account",
  • "account_number": {
    },
  • "status": "active"
}

Disable Payment Instrument

It disables an existing payment instrument.

Authorizations:
OAuth
path Parameters
payment_instrument_id
required
string (PaymentInstrumentId) [ 30 .. 50 ] characters
Example: pai_1a6po0p7zqv1q2arfsyr9548q

The unique identifier of the payment instrument.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Enable Payment Instrument

It enables a disabled payment instrument.

Authorizations:
OAuth
path Parameters
payment_instrument_id
required
string (PaymentInstrumentId) [ 30 .. 50 ] characters
Example: pai_1a6po0p7zqv1q2arfsyr9548q

The unique identifier of the payment instrument.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Taxes

List Taxes

List taxes associated to a specific account.

Authorizations:
OAuth
path Parameters
account_id
required
string (AccountId) [ 30 .. 50 ] characters
Example: acc_44678r08jtm8zbt227tzhc4nw5

The unique identifier of the account.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Invoices

An invoice is a formal contractual document dispatched from a seller to a buyer, notifying them of the purchase of goods or services and the corresponding obligation to make a payment.

Additional information regarding the rounding process applied to the calculation of totals and taxes can be found in our public documentation.

Statuses

Represents the current status of an invoice.

  • draft - The invoice is a draft and can suffer changes.
  • cancelled - The invoice has been cancelled.
  • initiated - The invoice has been received and is about to be issued.
  • issued - The invoice code has been provided or generated.

Create Invoice

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
type
required
string (InvoiceType)
Default: "standard"

Type of invoice document subject to the requirements of the local tax regime.

  • standard - A regular invoice exchanged between a seller and a buyer in a commercial transaction.
  • corrective - A corrected invoice that completely replaces the preceding document.
status
string
Value: "draft"

The status of the invoice.

reference
string (InvoiceReference) [ 1 .. 50 ] characters

Your reference for the invoice. This is a unique identifier for the invoice provided by you. It can be used to reference the invoice in your system. We will include this value in all invoice related webhooks.

required
object

The code can be directly set or it can be generated based on a pre-defined invoices series.

required
object (UpdateStandardSeller)

The taxable entity supplying the goods or services.

Note: The related account needs to have issue_invoices capability activated.

required
object (UpdateStandardBuyer)

The legal entity receiving the goods or services.

Note: The related account needs to have receive_invoices capability activated.

currency
string <iso-4217> (Currency) = 3 characters

The processing currency code according to the ISO-4217 standard

Array of objects

List of invoice lines grouped by property representing each of the items sold to the buyer.

Array of objects

List of invoice lines representing each of the items sold to the buyer.

required
object

Information on when, how, and to whom the invoice should be paid.

Array of any unique

The documents associated to the invoice. It can contain both the document automatically generated from the invoice data or the attachments uploaded using the Upload Invoice Document endpoint.

Array of objects [ 1 .. 10 ] items unique

List of links to additional information related to the invoice that are included in the invoice document.

object <= 5 properties

Some data to provide context for the invoice. Keys with a length greater than 100 characters are not supported. This will never be displayed to end users.

notes
Array of strings <= 10 items [ items <= 250 characters ]

Unstructured information that is relevant to the invoice, such as correction or additional legal details.

object

URLs that are used throughout the invoice process.

object

Defines the biling cycle for an invoice.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "standard",
  • "code": {
    },
  • "reference": "d8732571-7945-41c1-be1d-f3a71c5a36b2",
  • "seller": {
    },
  • "buyer": {
    },
  • "currency": "EUR",
  • "groups": [
    ],
  • "lines": [
    ],
  • "payment": {
    },
  • "documents": [
    ],
  • "external_links": [],
  • "metadata": {
    },
  • "notes": [
    ]
}

Response samples

Content type
application/json
Example

The code has been provided as an input and the invoice can be issued during creation.

{
  • "id": "inv_4ehg1mkv3mvt3256vcn8dspb4h",
  • "type": "standard",
  • "status": "issued",
  • "groups": [
    ],
  • "lines": [
    ],
  • "payment": {
    },
  • "totals": {
    }
}

List Invoices

Authorizations:
OAuth
query Parameters
sort
string
Example: sort=due_at:desc,issued_at:asc,totals_total:desc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field names are: due_at, issued_at and totals_total.
  • sort_mode is asc for ascendant or desc for descendant.
first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

seller_id
string (AccountId) [ 30 .. 50 ] characters
Example: seller_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The seller unique identifier.

buyer_id
string (AccountId) [ 30 .. 50 ] characters
Example: buyer_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The buyer unique identifier.

reference
string (InvoiceReference) [ 1 .. 50 ] characters
Example: reference=634533f5-1050-4f30-b2a1-4aab2401a78b

Filtering. Your reference for the invoice.

code
string (InvoiceCode)
Example: code=INV-2024-0001

Filtering. The invoice code. It is usually used to identify this invoice in tax declarations.

issued_at_from
string <date-time> (IssuedAt) = 24 characters
Example: issued_at_from=2023-01-01T01:01:00.000Z

Filtering. Issue date and time (inclusive) of the first invoice to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in issued_at_to parameter.

issued_at_to
string <date-time> (IssuedAt) = 24 characters
Example: issued_at_to=2024-01-01T01:01:00.000Z

Filtering. Issue date and time (inclusive) of the last invoice to retrieve. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in issued_at_from parameter.

Maximum: current date and time.

due_at_from
string <date-time> (DateTime) = 24 characters
Example: due_at_from=2023-01-01T01:01:00.000Z

Filtering. Due date and time (inclusive) of the first invoice to retrieve. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in due_at_to parameter.

due_at_to
string <date-time> (DateTime) = 24 characters
Example: due_at_to=2024-01-01T01:01:00.000Z

Filtering. Due date and time (inclusive) of the last invoice to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in due_at_from parameter.

status
Array of strings (InvoiceStatus)
Items Enum: "draft" "cancelled" "issued"
Example: status=issued&status=cancelled

Filtering. Exact match of a list of invoice statuses.

type
string (InvoiceType)
Enum: "standard" "corrective"
Example: type=standard

Filtering. The invoice type.

subscription_id
string (SubscriptionId) [ 30 .. 50 ] characters
Example: subscription_id=sub_4mk9y6c2v46953j37qkc0vranw

Filtering. The unique identifier of the subscription associated to the invoice.

has_payment_advices
boolean

Filtering. It indicates whether this invoice has payment advices linked or not.

Responses

Response samples

Content type
application/json
{
  • "cursor": "Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==",
  • "data": [
    ]
}

Get Invoice

Authorizations:
OAuth
path Parameters
invoice_id
required
string (InvoiceId) [ 30 .. 50 ] characters
Example: inv_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoice.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "inv_4ehg1mkv3mvt3256vcn8dspb4h",
  • "type": "standard",
  • "status": "draft",
  • "reference": "634533f5-1050-4f30-b2a1-4aab2401a78b",
  • "billing_cycle": {
    },
  • "code": "INV-2024-0001",
  • "seller": {
    },
  • "buyer": {
    },
  • "issued_at": "string",
  • "due_at": "2023-09-01T22:05:48.479Z",
  • "currency": "EUR",
  • "groups": [
    ],
  • "lines": [
    ],
  • "payment": {
    },
  • "documents": [
    ],
  • "external_links": [],
  • "metadata": {
    },
  • "notes": [
    ],
  • "totals": {
    },
  • "subscription": {
    },
  • "series": {
    },
  • "subsequents": [
    ],
  • "events": [
    ],
  • "payment_advices": [
    ]
}

Update Draft Invoice

Updates an invoice. Only invoices on status draft can be updated.

Authorizations:
OAuth
path Parameters
invoice_id
required
string (InvoiceId) [ 30 .. 50 ] characters
Example: inv_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoice.

Request Body schema: application/json
required
type
required
string (InvoiceType)
Default: "standard"

Type of invoice document subject to the requirements of the local tax regime.

  • standard - A regular invoice exchanged between a seller and a buyer in a commercial transaction.
  • corrective - A corrected invoice that completely replaces the preceding document.
reference
string (InvoiceReference) [ 1 .. 50 ] characters

Your reference for the invoice. This is a unique identifier for the invoice provided by you. It can be used to reference the invoice in your system. We will include this value in all invoice related webhooks.

required
object

The code can be directly set or it can be generated based on a pre-defined invoices series.

required
object (UpdateStandardSeller)

The taxable entity supplying the goods or services.

Note: The related account needs to have issue_invoices capability activated.

required
object (UpdateStandardBuyer)

The legal entity receiving the goods or services.

Note: The related account needs to have receive_invoices capability activated.

currency
string <iso-4217> (Currency) = 3 characters

The processing currency code according to the ISO-4217 standard

Array of objects

List of invoice lines grouped by property representing each of the items sold to the buyer.

Array of objects

List of invoice lines representing each of the items sold to the buyer.

required
object

Information on when, how, and to whom the invoice should be paid.

Array of any unique

The documents associated to the invoice. It can contain both the document automatically generated from the invoice data or the attachments uploaded using the Upload Invoice Document endpoint.

Array of objects [ 1 .. 10 ] items unique

List of links to additional information related to the invoice that are included in the invoice document.

object <= 5 properties

Some data to provide context for the invoice. Keys with a length greater than 100 characters are not supported. This will never be displayed to end users.

notes
Array of strings <= 10 items [ items <= 250 characters ]

Unstructured information that is relevant to the invoice, such as correction or additional legal details.

object

URLs that are used throughout the invoice process.

object (BillingCycle)

Defines the biling cycle for an invoice.

Responses

Request samples

Content type
application/json
Example
{
  • "type": "standard",
  • "reference": "634533f5-1050-4f30-b2a1-4aab2401a78b",
  • "code": {
    },
  • "seller": {
    },
  • "buyer": {
    },
  • "currency": "EUR",
  • "groups": [
    ],
  • "lines": [
    ],
  • "payment": {
    },
  • "documents": [
    ],
  • "external_links": [],
  • "metadata": {
    },
  • "notes": [
    ],
  • "urls": {},
  • "billing_cycle": {
    }
}

Response samples

Content type
application/json
{
  • "id": "inv_4ehg1mkv3mvt3256vcn8dspb4h",
  • "type": "standard",
  • "status": "draft",
  • "buyer": {
    },
  • "groups": [
    ],
  • "lines": [
    ],
  • "payment": {
    },
  • "totals": {
    }
}

Issue Draft Invoice

It issues a draft invoice. Please note that this operation is allowed only if the related infoice is in draft status.

Authorizations:
OAuth
path Parameters
invoice_id
required
string (InvoiceId) [ 30 .. 50 ] characters
Example: inv_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoice.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Cancel Draft Invoice

It cancels a draft invoice. Please note that this operation is allowed only if the related infoice is in draft status.

Authorizations:
OAuth
path Parameters
invoice_id
required
string (InvoiceId) [ 30 .. 50 ] characters
Example: inv_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoice.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Invoice Documents

The generated documents associated to a specific invoice. For example, a PDF.

Upload Invoice Document

Upload an additional document to be attached to an invoice.

After uploading the document, it can be linked to the invoice using the id of the document from the response in the Create Invoice endpoint.

The format of the document uploaded must correspond to the MIME type in the Content-Type header. See the corresponding MIME types to each kind of document.

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: multipart/form-data
required
file
required
string <binary>

The file to upload. The maximum file size is 2MB.

It must include the headers:

Responses

Request samples

Content type
multipart/form-data
POST /v2alpha1/invoices/documents HTTP/1.1
Host: api.getpaid.io
Content-Length: 296
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="details.csv"
Content-Type: text/csv

Response samples

Content type
application/json
{
  • "id": "doc_4wt0wrfqwz0vkatave0fkjg046"
}

Get Invoice Document

Downloads a document related to an invoice.

The document can be a file generated with the invoice data or a file uploaded by the user.

Authorizations:
OAuthOAuth
path Parameters
invoice_id
required
string (InvoiceId) [ 30 .. 50 ] characters
Example: inv_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the invoice.

document_id
required
string (DocumentId) [ 30 .. 50 ] characters
Example: doc_4wt0wrfqwz0vkatave0fkjg046

The unique identifier of the document.

Responses

Response samples

Content type
application/problem+json
{}

Invoices Reports

Export the invoices to a file to get a quick report on the historical data. The available file will be in CSV format.

Export Invoices

Request to export to a file a list of invoices with the specified filters.

The export process is asynchronous. The response will contain the export unique identifier that can be used to check the status of the job using the Get Invoices Export Status endpoint.

When the export is completed, the report file will be available for download at the URL provided in the response using Get Invoice Report endpoint.

Authorizations:
OAuthOAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
object

Criteria to decide which invoices to export.

object

The period to retrieve when invoices were issued.

object

The seller associated to the invoice.

object

The buyer associated to the invoice.

reference
string (InvoiceReference) [ 1 .. 50 ] characters

The invoices' reference.

It is filtered by a contains operation.

code
string (InvoiceCode)

The invoices' code.

It is filtered by a contains operation.

object

The period to retrieve when invoices are due.

statuses
Array of strings (InvoiceStatus)
Items Enum: "draft" "cancelled" "issued"

The statuses of the invoices.

types
Array of strings (InvoiceType)
Items Enum: "standard" "corrective"

Types of invoice document subject to the requirements of the local tax regime.

  • standard - A regular invoice exchanged between a seller and a buyer in a commercial transaction.
  • corrective - A corrected invoice that completely replaces the preceding document.
object

The subscription associated to the invoice.

has_payment_advices
boolean

A value indicating whether the invoices have payment advices linked or not.

Responses

Request samples

Content type
application/json
{
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "id": "xpt_4ehg1mkv3mvt3256vcn8dspb4h",
  • "status": "pending"
}

Get Invoices Export Status

Get the status of an asynchronous export job.

The export process can be initiated using the Export Invoices endpoint.

Authorizations:
OAuthOAuth
path Parameters
export_id
required
string (ExportId) [ 30 .. 50 ] characters
Example: xpt_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the export job.

Responses

Response samples

Content type
application/json
Example

The export job is still in progress.

{
  • "id": "xpt_4ehg1mkv3mvt3256vcn8dspb4h",
  • "status": "pending"
}

Get Invoices Report

Download the invoices report as a result of the export job. Check the status of the export job using the Get Invoices Export Status endpoint.

Authorizations:
OAuthOAuth
path Parameters
report_id
required
string (ReportId) [ 30 .. 50 ] characters
Example: rpt_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the report.

Responses

Response samples

Content type
text/csv
series_prefix,code,reference,status,type,issued_at,due_at,seller_registration_number,seller_legal_name,buyer_registration_number,buyer_legal_name,total,base,tax,currency,taxes_0_type,taxes_0_reference,taxes_0_percent,taxes_0_base,taxes_0_tax,taxes_1_type,taxes_1_reference,taxes_1_percent,taxes_1_base,taxes_1_tax,taxes_2_type,taxes_2_reference,taxes_2_percent,taxes_2_base,taxes_2_tax,metadata_0_key,metadata_0_value,metadata_1_key,metadata_1_value
ABC,INV_A2024000006,A2024000006,issued,standard,2023-10-06T00:00:00.000Z,2023-11-05T00:00:00.000Z,123456789A,legal name seller,987654321B,legal name buyer,4000,2000,300,EUR,percentage,other,5,1000,5,,,,,,,,,,,key_1,value 1,key_2,value 2
ABC,INV_A2024000005,A2024000005,issued,standard,2023-10-05T00:00:00.000Z,2023-11-04T00:00:00.000Z,123456789A,legal name seller,987654321B,legal name buyer,5000,3000,500,EUR,percentage,other,5,1000,5,percentage,vat,25,2000,500,percentage,vat,10,2000,20,key_1,value 1,,

Invoice Webhooks

Notifications to inform about invoice events that occur so you can take action within your own systems, for example, updating the invoices's state, notifying your customers or integrating with third-parties.

Invoice Draft Document Updated Webhook

The invoice_draft_document_updated webhook is sent when the invoice document is generated for a draft invoice.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "invoice_draft_document_created"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "invoice_draft_document_created",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Invoice Issued Webhook

The invoice_issued webhook is sent when an invoice is issued: right after creation when the invoice is created with a provided code or when the code is generated if it is based on a series.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "invoice_issued"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "invoice_issued",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Invoice Document Created Webhook

The invoice_document_created webhook is sent when the invoice document is generated.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "invoice_document_created"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "invoice_document_created",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Invoice Buyer Notification Sent Webhook

The invoice_buyer_notification_sent webhook is sent when the invoice notification is sent to the buyer.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "invoice_buyer_notification_sent"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "invoice_buyer_notification_sent",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Invoice Match Suggested Webhook

The invoice_match_suggested webhook is sent when a bank transaction has been suggested to match an invoice.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "invoice_match_suggested"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "invoice_match_suggested",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Subscriptions

A subscription is a recurring invoice that is automatically issued to the buyer to charge for services or products that are delivered on a regular basis.

Create Subscription

Create a subscription. All dates are to be considered in the seller's timezone.

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
type
required
string

The type of the subscription:

  • custom: The subscription is custom and all information is provided in the request.
name
required
string <= 250 characters

The name of the subscription, used for descriptive purposes.

starts_at
string <date> (SubscriptionStartsAt) = 10 characters

The date on which the subscription should start. The value must be aligned with the billing cycle, it must be the first day of any future occurrence of the billing cycle. If not provided the value will be computed to be the first day of the next billing cycle.

ends_at
string <date> (SubscriptionEndsAt) = 10 characters

The date on which the subscription should end. The value must be aligned with the billing cycle, it must be the last day of any future occurrence of the billing cycle. If not provided the subscription will continue indefinitely.

required
object

The billing cycle object, it is used to configure when an invoice should be issued. It allows to select the date on which the invoice should be issued, we garantee that the invoice will be issued on the selected date but not at any specified time. We support two types of billing cycles: interval and custom:

  • interval, the billing cycle is based on a fixed interval aligned with the 1st of January.
  • custom, the billing cycle is based on a custom schedule, define using crontab expressions and it can be aligned with any day of the year.
required
object (CreateInvoiceDetails)

The details used to issue invoices as part of the subscription.

Responses

Request samples

Content type
application/json
{
  • "type": "custom",
  • "name": "Monthly SAAS subscription",
  • "billing_cycle": {
    },
  • "invoice_details": {
    }
}

Response samples

Content type
application/json
{
  • "id": "sub_4mk9y6c2v46953j37qkc0vranw",
  • "starts_at": "2023-09-01T22:05:48-08:00"
}

List Subscriptions

List the existing subscriptions.

Authorizations:
OAuthOAuth
query Parameters
first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

seller_id
string (AccountId) [ 30 .. 50 ] characters
Example: seller_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The seller unique identifier.

buyer_id
string (AccountId) [ 30 .. 50 ] characters
Example: buyer_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The buyer unique identifier.

name
string (SubscriptionName) <= 250 characters

Filtering. The subscription name.

Responses

Response samples

Content type
application/json

List existing subscriptions.

{
  • "cursor": "Y3Vyc29yIHBhZ2luYXRpb24gZXhhbXBsZQ",
  • "data": [
    ]
}

Update Subscription

Update a subscription. Buyer, seller and billing cycle cannot be updated. The updated subscription can be configured to be effective at a future date. If not provided, the update will take effect on the next issued invoice. The new configuration will replace the existing one. All dates are to be considered in the seller's timezone.

Authorizations:
OAuth
path Parameters
subscription_id
required
string (SubscriptionId) [ 30 .. 50 ] characters
Example: sub_4mk9y6c2v46953j37qkc0vranw

The unique identifier of the subscription.

Request Body schema: application/json
required
type
required
string

The type of the subscription:

  • custom: The subscription is custom and all information is provided in the request.
name
string <= 250 characters

The name of the subscription, used for descriptive purposes. This value is not affected by the effective_at date and it will be updated immediately. If not provider or empty, the name will not be updated.

ends_at
string <date> = 10 characters

The date on which the subscription should end. The value must be aligned with the billing cycle, it must be the last day of any future occurrence of the billing cycle. If not provided the subscription will continue indefinitely. This value is not affected by the effective_at date and it will be updated immediately. If not provider or empty, the subscription ends_at will not be updated.

effective_at
string <date> (Date) = 10 characters

Date when the new configuration will take effect. If not provided, the update will take effect on the next issued invoice. This value is used only if invoice_details is provided.

object (UpdateInvoiceDetails)

Invoice details for the subscription. If not provided, the subscription will keep the current invoice details. If provided, old the details will override the current configuration.

Responses

Request samples

Content type
application/json
{
  • "type": "custom",
  • "name": "Monthly SAAS subscription",
  • "effective_at": "2024-01-01",
  • "invoice_details": {
    }
}

Response samples

Content type
application/json
{
  • "id": "sub_4mk9y6c2v46953j37qkc0vranw",
  • "effective_at": "2023-09-01T22:05:48-08:00"
}

Get Subscription

Get the subscription details.

Authorizations:
OAuthOAuth
path Parameters
subscription_id
required
string (SubscriptionId) [ 30 .. 50 ] characters
Example: sub_4mk9y6c2v46953j37qkc0vranw

The unique identifier of the subscription.

Responses

Response samples

Content type
application/json

Get subscription details.

{
  • "type": "custom",
  • "name": "Monthly SAAS subscription",
  • "version": "20240702153523123",
  • "starts_at": "2023-09-01T22:05:48-08:00",
  • "ends_at": "2023-09-01T22:05:48-08:00",
  • "billing_cycle": {
    },
  • "invoice_details": {
    },
  • "invoices": [
    ]
}

Bank Transactions

A bank transaction is a financial event that occurs when a transfer of funds is made from one party to another.

In the context of this API, a transaction represents a detailed record of an inbound payment, including direct debit transactions. Each transaction entry provides comprehensive information such as the booking date and time, amount, currency, counterparty details, and payment instrument information. This helps in tracking and managing receivables efficiently, ensuring transparency and accuracy in financial reporting.

Transactions are essential for maintaining accurate financial records, supporting reconciliation processes, and ensuring that all payments are accounted for correctly. They form the backbone of financial data, enabling businesses to monitor cash flow, manage accounts, and meet regulatory requirements.

List Bank Transactions

Authorizations:
OAuth
query Parameters
sort
string
Example: sort=booking_at:desc,amount:asc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field names are: booking_at, amount, counterparty_legal_name.
  • sort_mode is asc for ascendant or desc for descendant.

By default: booking_at:desc.

first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

booking_at_from
string <date-time> (DateTime) = 24 characters
Example: booking_at_from=2023-01-01T01:01:00.000Z

Filtering. Booking date and time (inclusive) of the first bank transaction to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in booking_at_to parameter.

booking_at_to
string <date-time> (DateTime) = 24 characters
Example: booking_at_to=2023-09-01T22:05:48.479Z

Filtering. Booking date and time (inclusive) of the last bank transaction to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in booking_at_from parameter.

description
string
Example: description=INV88430

Filtering. The description of the transaction.

counterparty_legal_name
string
Example: counterparty_legal_name=Payer 1

Filtering. The legal name of the counterparty.

counterparty_account_number
string
Example: counterparty_account_number=GB33BUKB20201575887264

Filtering. The account number of the counterparty.

seller_id
string (AccountId) [ 30 .. 50 ] characters
Example: seller_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The seller unique identifier.

seller_bank_account_id
string (PaymentInstrumentId) [ 30 .. 50 ] characters
Example: seller_bank_account_id=pai_1a6po0p7zqv1q2arfsyr9548q

Filtering. The unique identifier of the seller's payment instrument.

Responses

Response samples

Content type
application/json
{
  • "cursor": "Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==",
  • "data": [
    ]
}

Bank Transactions Enrichment

Upload bank transactions files to enrich the transactions synchronized with Open Banking.

File Formats

The supported file formats are:

Area Format format field Description
Global ISO 20022 camt.053 iso20022_camt053 Bank to customer cash management in ISO 20022 format.
Spain AEB43 aeb43 Bank transactions file format used in Spain.

Statuses

Bank transactions imports have a status which indicates the current state of the upload process. The possible statuses are:

  • pending - The import job has been initiated but the document still to be processed.
  • validated - The document format has been validated and it is supported.
  • completed - The document has been processed successfully and the transactions were processed and matched, if possible.
  • error - The import job failed, check the status reasons for further details.

Status Reasons

Status Reason Code Cause Next Action
error file_integrity_failed The file type is supported but the content does not match the expected format. Check the uploaded file to validate the format and upload it again with the expected format for the file type.
error unknown_bank_account The bank account of the file does not belong to any of the bank accounts configured in your getpaid account. Check the configuration of your getpaid account to include the bank account or skip the files related to this bank account.
error duplicated_file_date There is already a file uploaded for the same bank account, format and date. The file for that date was already uploaded and there is no need of upload it again.
error missing_open_banking_data There are no bank transactions synchronized via Open Banking to be enriched with the uploaded file. Check the Open Banking configuration of your getpaid account and upload the file again.

Upload Bank Transactions File

Upload a bank file to enrich the transactions extracted from the Open Banking connection.

After the upload the file must be imported using the Import Bank Transactions File endpoint.

See the file formats supported for the bank transactions files.

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: multipart/form-data
required
file
required
string <binary>

The file to upload. The maximum file size is 2MB.

It must include the headers:

  • Content-Disposition: with the filename of the document. filename maximum length is 100 characters.

Responses

Request samples

Content type
multipart/form-data
POST /v2alpha1/bank_transactions/documents HTTP/1.1
Host: api.getpaid.io
Content-Length: 296
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="AEB43_20240805.csv"

Response samples

Content type
application/json
{
  • "id": "doc_4wt0wrfqwz0vkatave0fkjg046"
}

Import Bank Transactions File

Import a bank transactions file to enrich bank transactions.

The file must be uploaded using the Upload Bank Transactions File endpoint.

Authorizations:
OAuth
header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Request Body schema: application/json
required
required
object

The uploaded document to import.

Array of objects <= 1 items unique

By default, payment instruments are not required as they are auto-detected.

However, if the same IBAN is used for multiple payment instruments, they must be provided to uniquely identify the account.

object

URLs that are used throughout the import bank transactions process.

Responses

Request samples

Content type
application/json
{
  • "document": {
    },
  • "payment_instruments": [
    ],
  • "urls": {}
}

Response samples

Content type
application/json
{
  • "id": "bti_4ehg1mkv3mvt3256vcn8dspb4h",
  • "status": "pending",
  • "document": {
    }
}

List Bank Import Jobs

Get the status of all the bank transactions files import jobs ordered by uploaded time in descending order.

The import process is initiated using the Upload Bank Transactions File endpoint.

Authorizations:
OAuthOAuth
query Parameters
first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

Responses

Response samples

Content type
application/json

The list of bank transactions files import jobs.

{
  • "cursor": "Y3Vyc29yIHBhZ2luYXRpb24gZXhhbXBsZQ",
  • "data": [
    ]
}

Get Bank Import Status

Get the status of an asynchronous import job.

The import process is initiated using the Upload Bank Transactions File endpoint.

Authorizations:
OAuthOAuth
path Parameters
import_id
required
string (BankTransactionsImportId) [ 30 .. 50 ] characters
Example: bti_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the bank transactions import job.

Responses

Response samples

Content type
application/json
Example

The import job is still being validated.

{
  • "id": "bti_48qfw22ns0pdrf8hzhff5r0vn6",
  • "status": "pending",
  • "document": {
    }
}

Bank Transactions Enrichment Webhooks

Bank Transactions Import Completed Webhook

The bank_transactions_import_completed webhook is triggered when a bank transaction import is completed.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "bank_transactions_import_completed"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "bank_transactions_import_completed",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Bank Transactions Import Error Webhook

The bank_transactions_import_error webhook is triggered when a bank transaction import has failed.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "bank_transactions_import_error"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "bank_transactions_import_error",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Bank Transactions Import Validated Webhook

The bank_transactions_import_validated webhook is triggered when a bank transaction import is validated.

header Parameters
Getpaid-Trace-Id
string
Example: 96ce50247f87f540bb2d86771b3728b8

The trace identifier for the webhook. It is a good idea to log this and provide it with any support requests.

Request Body schema: application/json
id
required
string [ 30 .. 50 ] characters

The unique identifier of the event.

type
required
string

The type of event.

Value: "bank_transactions_import_validated"
version
required
string

The version of the event type.

Value: "v2"
occurred_at
required
string <date-time> (DateTime) = 24 characters

The UTC date and time at which the event occurred.

required
object

The event data specific to each event type and version.

Responses

Request samples

Content type
application/json
{
  • "id": "evt_4r8t310nhp2mferdc1waa07s5d",
  • "type": "bank_transactions_import_validated",
  • "version": "v2",
  • "occurred_at": "2023-09-01T22:05:48.479Z",
  • "data": {
    }
}

Payment Advices

Get Payment Advice

Authorizations:
OAuth
path Parameters
payment_advice_id
required
string (PaymentAdviceId) [ 30 .. 50 ] characters
Example: pad_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the payment advice.

Responses

Response samples

Content type
application/json
{
  • "id": "pad_4ehg1mkv3mvt3256vcn8dspb4h",
  • "seller": {
    },
  • "total_amount": 1000,
  • "currency": "EUR",
  • "payment": {
    },
  • "invoices": [
    ],
  • "source": {
    }
}

Payment Advice Documents

Get Payment Advice Document

Retrieves and downloads an attached document associated with a specific payment advice.

Authorizations:
OAuthOAuth
path Parameters
payment_advice_id
required
string (PaymentAdviceId) [ 30 .. 50 ] characters
Example: pad_4ehg1mkv3mvt3256vcn8dspb4h

The unique identifier of the payment advice.

document_id
required
string (DocumentId) [ 30 .. 50 ] characters
Example: doc_4wt0wrfqwz0vkatave0fkjg046

The unique identifier of the document.

Responses

Response samples

Content type
application/problem+json
{}

Payment Terms

List Payment Terms

Authorizations:
OAuth
query Parameters
sort
string
Example: sort=due_at:desc,paid_amount:asc

Sorting. Comma-separated list indicating the sorting order for results. The format is field_name:sort_mode where

  • field_name is the name of the field to sort. Available field names are: due_at, amount, transaction_amount.
  • sort_mode is asc for ascendant or desc for descendant.

By default: due_at:desc.

first
integer [ 1 .. 100 ]
Default: 10

Pagination. The number of elements that will be retrieved.

after
string <= 250 characters

Pagination. The cursor from next page will be retrieved.

id
string (PaymentTermId) [ 30 .. 50 ] characters
Example: id=ptm_4tfwx4hygbkwnepj8t8md13v5z

The unique identifier of the payment term.

status
string (PaymentTermStatus)
Enum: "unmatched" "suggested" "confirmed"
Example: status=unmatched

Filtering. The status of the payment term.

buyer_id
string (AccountId) [ 30 .. 50 ] characters
Example: buyer_id=acc_44678r08jtm8zbt227tzhc4nw5

Filtering. The buyer account receving the invoice.

seller_id
string (AccountId) [ 30 .. 50 ] characters
Example: seller_id=acc_4tfwx4hygbkwnepj8t8md13v5z

Filtering. The seller account issuing the invoice.

invoice_code
string (InvoiceCode)
Example: invoice_code=INV-2024-0001

Filtering. The code of the invoice.

due_at_from
string <date-time> (DateTime) = 24 characters
Example: due_at_from=2023-01-01T01:01:00.000Z

Filtering. Due date and time (inclusive) of the first payment term to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in due_at_to parameter.

due_at_to
string <date-time> (DateTime) = 24 characters
Example: due_at_to=2023-09-01T22:05:48.479Z

Filtering. Due date and time (inclusive) of the last payment term to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in due_at_from parameter.

transaction_booking_at_from
string <date-time> (DateTime) = 24 characters
Example: transaction_booking_at_from=2023-01-01T01:01:00.000Z

Filtering. Transaction date and time (inclusive) of the first payment term to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: 2 years before the current date and time.

Maximum: the date and time set in transaction_booking_at_to parameter.

transaction_booking_at_to
string <date-time> (DateTime) = 24 characters
Example: transaction_booking_at_to=2023-09-01T22:05:48.479Z

Filtering. Transaction date and time (inclusive) of the last payment term to get. Using ISO 8601 standard for the combined date and time in UTC.

Minimum: the date and time set in transaction_booking_at_from parameter.

transaction_description
string
Example: transaction_description=INV88430

Filtering. The description of the transaction.

Responses

Response samples

Content type
application/json
{
  • "cursor": "Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==",
  • "data": [
    ]
}

Get Payment Term

Authorizations:
OAuth
path Parameters
payment_term_id
required
string (PaymentTermId) [ 30 .. 50 ] characters
Example: ptm_4tfwx4hygbkwnepj8t8md13v5z

The unique identifier of the payment term.

Responses

Response samples

Content type
application/json
{
  • "id": "ptm_4tfwx4hygbkwnepj8t8md13v5z",
  • "status": "unmatched",
  • "invoice": {
    },
  • "number": 1,
  • "due_at": "2023-09-01T22:05:48.479Z",
  • "amount": 1000,
  • "currency": "EUR",
  • "transactions": {
    },
  • "events": [
    ]
}

Confirm Payment Term Match

Authorizations:
OAuth
path Parameters
payment_term_id
required
string (PaymentTermId) [ 30 .. 50 ] characters
Example: ptm_4tfwx4hygbkwnepj8t8md13v5z

The unique identifier of the payment term.

transaction_id
required
string (TransactionId) [ 30 .. 50 ] characters
Example: trx_3775b2af2e13402d919a1f3f64b2a3f8

The unique identifier of a transaction.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}

Reject Payment Term Match

Authorizations:
OAuth
path Parameters
payment_term_id
required
string (PaymentTermId) [ 30 .. 50 ] characters
Example: ptm_4tfwx4hygbkwnepj8t8md13v5z

The unique identifier of the payment term.

transaction_id
required
string (TransactionId) [ 30 .. 50 ] characters
Example: trx_3775b2af2e13402d919a1f3f64b2a3f8

The unique identifier of a transaction.

header Parameters
Getpaid-Idempotency-Key
string [ 10 .. 100 ] characters ^[a-zA-Z0-9_-]{10,100}$
Example: 5c255194-30ec-11ed-a261-0242ac120002

An idempotency key to allow safe retrying without the operation being performed multiple times. The value should be unique for each operation, e.g., a UUID, with the same key being sent on a retry of the same request.

Responses

Response samples

Content type
application/problem+json
{}