Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/trustly-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: API
version: 1.0.0
servers:
- url: https://sandbox.trustly.one/api/v1
description: Sandbox
tags:
- name: api
paths: {}
webhooks:
eventNotifications_Authorize:
post:
operationId: eventNotifications_Authorize
summary: Authorize
description: The `Authorize` event indicates that the user has successfully authorized the transaction with their bank.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventAuthorize'
tags:
- api
eventNotifications_Completed:
post:
operationId: eventNotifications_Completed
summary: Completed
description: The `Completed` event indicates that the funds for a transaction have successfully settled.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventCompleted'
tags:
- api
eventNotifications_DataReady:
post:
operationId: eventNotifications_DataReady
summary: Data Ready
description: The `DataReady` event indicates that all bank-qualified data, such as account details and balance, has been retrieved and is ready for consumption. Wait for this event before calling Account Data endpoints.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventDataReady'
tags:
- api
eventNotifications_Dispute:
post:
operationId: eventNotifications_Dispute
summary: Dispute
description: The `Dispute` indicates that a transaction received a return that generated a dispute. The returnType property specifies the type of return
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event.
reference:
type: string
transactionId:
type: string
transactionDatetime:
type: string
returnType:
type: string
customerId:
type: string
returnDatetime:
type: string
amountReturned:
type: string
tags:
- api
eventNotifications_Establish:
post:
operationId: eventNotifications_Establish
summary: Establish
description: The `Establish` event indicates that a new transaction has been created. This occurs when a user activates the Trustly User Interface (UI) or when you create a transaction using the API
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventEstablish'
tags:
- api
eventNotifications_Expired:
post:
operationId: eventNotifications_Expired
summary: Expired
description: The `Expired` event indicates that a transaction or session timed out before the user completed the flow.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventExpire'
tags:
- api
eventNotifications_Failed:
post:
operationId: eventNotifications_Failed
summary: Failed
description: The `Failed` event indicates that the transaction could not be completed because of an error, decline, or cancellation.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventFailed'
tags:
- api
eventNotifications_Refresh:
post:
operationId: eventNotifications_Refresh
summary: Refresh
description: The `Refresh` event indicates that the account data for a transaction has been successfully refreshed.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventRefresh'
tags:
- api
eventNotifications_Update:
post:
operationId: eventNotifications_Update
summary: Update
description: The `Update` event indicates that the status of a transaction has changed. For example, when a transaction moves from `Pending` to `Authorized`
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventUpdate'
tags:
- api
eventNotifications_VerifyCustomer:
post:
operationId: eventNotifications_VerifyCustomer
summary: Verify Customer
description: The `VerifyCustomer` event provides the result of the identity verification check performed against the data from the bank.
responses:
'200':
description: Webhook received successfully
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventVerifyCustomer'
tags:
- api
components:
schemas:
EventDataReady:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
description: The 'DataReady' event indicates that the required transaction data is available and ready for processing.
title: EventDataReady
EventFailed:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
paymentProviderTransaction:
$ref: '#/components/schemas/EventFailedPaymentProviderTransaction'
description: A transaction has failed.
title: EventFailed
EventRefresh:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
paymentProviderTransaction:
$ref: '#/components/schemas/EventRefreshPaymentProviderTransaction'
hardRefresh:
type: boolean
refreshPurpose:
type: string
success:
type: boolean
description: This event occurs when an attempt to refresh account data is made
title: EventRefresh
EventEstablish:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
merchantReference:
type: string
paymentProviderTransaction:
$ref: '#/components/schemas/EventEstablishPaymentProviderTransaction'
description: The 'Establish' event is triggered when a new transaction has been created. This event may occur when a user activates the Trustly UI or when a transaction is created via an API call.
title: EventEstablish
EventRefreshPaymentProviderTransaction:
type: object
properties:
status:
type: string
statusMessage:
type: string
title: EventRefreshPaymentProviderTransaction
EventAuthorize:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
splitToken:
type: string
description: Encrypted token generated during user authorization. Note, token may include url escape characters which must be encoded or the request will result in an error. See [Split Token](doc:reference-split-token) for more info.
description: A generic event object that includes common properties for all webhook events. This can be extended for specific event types.
title: EventAuthorize
EventExpire:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
paymentProviderTransaction.status:
type: string
description: Status code representing the current state of the transaction.
paymentProviderTransaction.statusMessage:
type: string
description: A message describing the current status of the transaction.
description: A generic event object that includes common properties for all webhook events. This can be extended for specific event types.
title: EventExpire
EventCompletedPaymentProviderTransaction:
type: object
properties:
status:
type: string
statusMessage:
type: string
title: EventCompletedPaymentProviderTransaction
EventVerifyCustomer:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
customer.name:
type: string
description: The `VerifyCustomer` event provides the result of the identity verification check performed against the data from the bank.
title: EventVerifyCustomer
EventEstablishPaymentProviderTransaction:
type: object
properties:
status:
type: string
statusMessage:
type: string
title: EventEstablishPaymentProviderTransaction
EventFailedPaymentProviderTransaction:
type: object
properties:
status:
type: string
statusMessage:
type: string
title: EventFailedPaymentProviderTransaction
EventCompleted:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
paymentProviderTransaction:
$ref: '#/components/schemas/EventCompletedPaymentProviderTransaction'
description: A transaction has been successfully completed.
title: EventCompleted
EventUpdate:
type: object
properties:
createdAt:
type: string
format: int64
description: The timestamp when the event was created, represented as a Unix timestamp in milliseconds.
eventId:
type: string
description: Unique identifier for the event.
eventType:
type: string
description: The type of event that triggered the webhook.
merchantId:
type: string
description: The unique identifier of the merchant.
message:
type: string
description: A message describing the event.
objectId:
type: string
description: Unique identifier for the object associated with the event, such as a transaction.
objectType:
type: string
description: The type of object associated with the event (e.g., Transaction).
paymentType:
type: string
description: Type of payment, denoted by a numeric code.
status:
type: string
description: Status code representing the current state of the transaction.
statusMessage:
type: string
description: A message describing the current status of the transaction.
timeZone:
type: string
description: The timezone of the event, formatted in IANA timezone database format.
transactionType:
type: string
description: Type of transaction, denoted by a numeric code.
fiName:
type: string
description: A generic event object that includes common properties for all webhook events. This can be extended for specific event types.
title: EventUpdate
securitySchemes:
HTTPBasic:
type: http
scheme: basic
description: ''