Yapily API v2.0-ALPHA
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The Yapily API enables connections between your application and users' banks. For more information check out our product guides.
In particular, make sure to view our Getting Started guide if this is your first time here.
For a list of changes, see our changelog.
While testing the API, our list of sandbox credentials maybe useful.
Authentication
Requests to the Yapily API are authenticated using an Application's API_KEY and API_SECRET. You can view and manage your credentials in the Yapily Dashboard.
An API_KEY and API_SECRET relate to a single Application and its associated Institutions, configuration and registration information, so it is important to keep these credentials secure. Do not share your API_SECRET in publicly accessible areas such as GitHub, client-side code, etc.
Authentication is performed using HTTP Basic Authentication. Your API_KEY should be sent as the basic auth username and your API_SECRET should be sent as the basic auth password.
All requests should be made via HTTPS.
Application
The Application
is the base entity that is used to interact with the API and represents your application software. You may have multiple Applications associated with your account.
Get Application
Code samples
curl -X GET https://api.yapily.com/me \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /me
Returns the details of the Application
that owns the request credentials
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
Example responses
200 Response
{
"active": true,
"authCallbacks": [
"https://test.example.com/callback"
],
"created": "2020-09-09T10:31:53.968+0000",
"institutions": [
{
"countries": [
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
],
"credentialsType": "OAUTH1",
"environmentType": "SANDBOX",
"features": [
"INITIATE_PRE_AUTHORISATION"
],
"fullName": "Yapily Mock Bank",
"id": "yapily-mock",
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "Yapily Mock"
}
],
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "My App 6238",
"updated": "2020-09-09T10:31:53.968+0000",
"uuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning an Application . |
Application |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | The Application Service was unable to retrieve the Application. | ApiResponseError |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | x-yapily-platform | string | The backend that processed the request |
Users
A User
represents a customer of your application software and is associated with the Application
. A User
is also refered to as the 'PSU'
Get Users
Code samples
curl -X GET https://api.yapily.com/users \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /users
Used to retrieve all User
objects from an Application
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
filter[applicationUserId] | query | string | false | Filter users by the provided application user Id (applicationUserId) when the user was created. |
Example responses
200 Response
[
{
"applicationUserId": "bojack@8tees.com",
"applicationUuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a",
"institutionConsents": [
{
"institutionId": "yapily-mock"
}
],
"referenceId": "myuserreference",
"uuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a list of Users. | Inline |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [User] | false | none | none |
» applicationUserId | string | false | none | none |
» applicationUuid | string | false | none | none |
» institutionConsents | [InstitutionConsent] | false | none | none |
»» institutionId | string | false | none | none |
» referenceId | string | false | none | none |
» uuid | string | false | none | none |
Create User
Code samples
curl -X POST https://api.yapily.com/users \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /users
Used to create a User
associated with the Application
. This step is not necessary to make an authorisation request.
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"referenceId": "myuserreference"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
body | body | NewApplicationUser | true | The requestBody |
Example responses
201 Response
{
"applicationUserId": "bojack@8tees.com",
"applicationUuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a",
"institutionConsents": [
{
"institutionId": "yapily-mock"
}
],
"referenceId": "myuserreference",
"uuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a User. | User |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
409 | Conflict | Returned if the applicationUserId already exists for the Application or if the applicationUserId equals the reserved value 'Simulator User' |
ApiResponseError |
Get User
Code samples
curl -X GET https://api.yapily.com/users/{userUuid} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /users/{userUuid}
Used to retrieve a User
object from an Application
by the unique id of the user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
userUuid | path | string | true | The ID of the User |
Example responses
200 Response
{
"applicationUserId": "bojack@8tees.com",
"applicationUuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a",
"institutionConsents": [
{
"institutionId": "yapily-mock"
}
],
"referenceId": "myuserreference",
"uuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a User. | User |
400 | Bad Request | Bad Request. Returned if the userUuid is not a valid UUID. | ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the userUuid is not found for the Application . |
ApiResponseError |
Delete User
Code samples
curl -X DELETE https://api.yapily.com/users/{userUuid} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
DELETE /users/{userUuid}
Delete an application user and sub-resources (including consent resources on institution APIs if they exist)
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
userUuid | path | string | true | The ID of the User |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"creationDate": "2019-05-10T17:36:49.269+0000",
"deleteStatus": "SUCCESS",
"id": "c50844cb-1498-44aa-90d1-62eae8cdb3f6",
"userConsents": [
{
"creationDate": "2019-05-10T16:45:43.566+0000",
"deleteStatus": "SUCCESS",
"id": "a71fd46f-4144-478e-9a72-dd0d7a1158ab",
"institutionConsentId": "aac-1cce1cfc-1ab2-4ed6-8062-a0fd6c5c2122",
"institutionId": "yapily-mock"
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a UserDeleteResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the userUuid is not a valid UUID or if the optional raw parameter is sent with an invalid value. | ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the userUuid is not found for the Application . |
ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | UserDeleteResponse | false | none | An object returned from a successful user delete request |
»» creationDate | string | false | none | none |
»» deleteStatus | DeleteStatusEnum | false | none | none |
»» id | string | false | none | none |
»» userConsents | [ConsentDeleteResponse] | false | none | [An object returned from a UserDeleteResponse] |
»»» creationDate | string | false | none | none |
»»» deleteStatus | DeleteStatusEnum | false | none | none |
»»» id | string | false | none | none |
»»» institutionConsentId | string | false | none | none |
»»» institutionId | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
deleteStatus | SUCCESS |
deleteStatus | FAILED |
deleteStatus | SUCCESS |
deleteStatus | FAILED |
Institutions
An Institution object represents any Account Serving Payment Servicing Provider (ASPSP) that has been integrated and is accessible through the Yapily APIs (ASPSPs are entities that publish Read/Write APIs to permit, with customer consent, payments initiated by third party providers and/or make their customers’ account transaction data available to third party providers via their API end points).
Any one of the following would be represented as Institution:
Traditional banks e.g. Santander Neo-banks e.g. Monzo Building societies e.g. Cumberland Building Society
Get Institutions
Code samples
curl -X GET https://api.yapily.com/institutions \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /institutions
Used to retrieve all Institutions
from the Application
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"countries": [
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
],
"credentialsType": "OAUTH1",
"environmentType": "SANDBOX",
"features": [
"INITIATE_PRE_AUTHORISATION"
],
"fullName": "Yapily Mock Bank",
"id": "yapily-mock",
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "Yapily Mock"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a list of Institutions. | Inline |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [Institution] | false | none | none |
»» countries | [Country] | false | none | none |
»»» countryCode2 | string | false | none | none |
»»» displayName | string | false | none | none |
»» credentialsType | CredentialsType | false | none | none |
»» environmentType | EnvironmentType | false | none | none |
»» features | [FeatureEnum] | false | none | none |
»» fullName | string | false | none | none |
»» id | string | false | none | none |
»» media | [Media] | false | none | none |
»»» source | string | false | none | none |
»»» type | string | false | none | none |
»» name | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
credentialsType | OAUTH1 |
credentialsType | OAUTH2 |
credentialsType | OAUTH2_NOSECRET |
credentialsType | OAUTH2_SIGNATURE |
credentialsType | OPEN_BANKING_UK_MANUAL |
credentialsType | OPEN_BANKING_UK_AUTO |
credentialsType | OPEN_BANKING_IBM |
credentialsType | OPEN_BANKING_AUTO |
credentialsType | OPEN_BANKING_AUTO_EMAIL |
credentialsType | OPEN_BANKING_MANUAL |
credentialsType | API_KEY |
credentialsType | OPEN_BANKING_NO_KEY |
credentialsType | OPEN_BANKING_NO_TRANSPORT |
credentialsType | TOKEN_IO |
environmentType | SANDBOX |
environmentType | MOCK |
environmentType | LIVE |
Get Institution
Code samples
curl -X GET https://api.yapily.com/institutions/{institutionId} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /institutions/{institutionId}
Used to retrieves details of a specific institution from the Application
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
institutionId | path | string | true | The ID of the Institution |
Example responses
200 Response
{
"countries": [
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
],
"credentialsType": "OAUTH1",
"environmentType": "SANDBOX",
"features": [
"INITIATE_PRE_AUTHORISATION"
],
"fullName": "Yapily Mock Bank",
"id": "yapily-mock",
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "Yapily Mock"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning an Institution. | Institution |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the institutionId is not valid or if it is not configured for the Application |
ApiResponseError |
Get Features
Code samples
curl -X GET https://api.yapily.com/features \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /features
Used to retrieve all Features
available from Yapily. Each Institution
supports a one, many or all of these features and can be seen in the features field of the Institution
object.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"documentationUrl": "https://docs.yapily.com/#757fde49-a294-bbff-d5f9-2c21c5f57be0",
"endpoint": "https://api.yapily.com/account/{account-id}",
"feature": "INITIATE_PRE_AUTHORISATION"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning an Institution. | Inline |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [FeatureDetails] | false | none | none |
»» documentationUrl | string | false | none | none |
»» endpoint | string | false | none | none |
»» feature | FeatureEnum | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
feature | INITIATE_PRE_AUTHORISATION |
feature | INITIATE_ACCOUNT_REQUEST |
feature | ACCOUNT_REQUEST_DETAILS |
feature | ACCOUNTS |
feature | ACCOUNT |
feature | ACCOUNT_TRANSACTIONS |
feature | ACCOUNT_STATEMENTS |
feature | ACCOUNT_STATEMENT |
feature | ACCOUNT_STATEMENT_FILE |
feature | ACCOUNT_SCHEDULED_PAYMENTS |
feature | ACCOUNT_DIRECT_DEBITS |
feature | ACCOUNT_PERIODIC_PAYMENTS |
feature | ACCOUNT_TRANSACTIONS_WITH_MERCHANT |
feature | IDENTITY |
feature | ACCOUNTS_WITHOUT_BALANCE |
feature | ACCOUNT_WITHOUT_BALANCE |
feature | ACCOUNT_BALANCES |
feature | INITIATE_SINGLE_PAYMENT_SORTCODE |
feature | EXISTING_PAYMENT_INITIATION_DETAILS |
feature | CREATE_SINGLE_PAYMENT_SORTCODE |
feature | EXISTING_PAYMENTS_DETAILS |
feature | INITIATE_DOMESTIC_SINGLE_PAYMENT |
feature | CREATE_DOMESTIC_SINGLE_PAYMENT |
feature | INITIATE_DOMESTIC_SINGLE_INSTANT_PAYMENT |
feature | CREATE_DOMESTIC_SINGLE_INSTANT_PAYMENT |
feature | INITIATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT |
feature | CREATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT |
feature | INITIATE_DOMESTIC_SCHEDULED_PAYMENT |
feature | CREATE_DOMESTIC_SCHEDULED_PAYMENT |
feature | INITIATE_DOMESTIC_PERIODIC_PAYMENT |
feature | CREATE_DOMESTIC_PERIODIC_PAYMENT |
feature | PERIODIC_PAYMENT_FREQUENCY_EXTENDED |
feature | INITIATE_INTERNATIONAL_VARIABLE_RECURRING_PAYMENT |
feature | CREATE_INTERNATIONAL_VARIABLE_RECURRING_PAYMENT |
feature | INITIATE_INTERNATIONAL_SCHEDULED_PAYMENT |
feature | CREATE_INTERNATIONAL_SCHEDULED_PAYMENT |
feature | INITIATE_INTERNATIONAL_PERIODIC_PAYMENT |
feature | CREATE_INTERNATIONAL_PERIODIC_PAYMENT |
feature | INITIATE_INTERNATIONAL_SINGLE_PAYMENT |
feature | CREATE_INTERNATIONAL_SINGLE_PAYMENT |
feature | INITIATE_BULK_PAYMENT |
feature | CREATE_BULK_PAYMENT |
feature | TRANSFER |
feature | OPEN_DATA_PERSONAL_CURRENT_ACCOUNTS |
feature | OPEN_DATA_ATMS |
feature | READ_DOMESTIC_SINGLE_REFUND |
feature | READ_DOMESTIC_SCHEDULED_REFUND |
feature | READ_DOMESTIC_PERIODIC_PAYMENT_REFUND |
feature | READ_INTERNATIONAL_SINGLE_REFUND |
feature | READ_INTERNATIONAL_SCHEDULED_REFUND |
Consents
The Consent object contains data that identifies a user's consent for a specific financial institution within a Yapily application. Other than the id of the consent, the institution-id for the corresponding institution and the user identifiers user-uuid and application-user-id, it contains various details that indicates how the Consent can be used.
Get Consents
Code samples
curl -X GET https://api.yapily.com/consents \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /consents
Used to retrieve all Consent objects in descending order by date (with the most recently created consent at the top).
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
filter[applicationUserId] | query | array[string] | false | Filter consents by your application user Id (applicationUserId) |
filter[userUuid] | query | array[string] | false | Filter consents by Yapily user Id (userUuid) |
filter[institution] | query | array[string] | false | Use this parameter to filter consent by institution, using the Yapily institution Id |
filter[status] | query | array[string] | false | Use this parameter to filter consent by status |
from | query | string | false | Use this parameter to filter consents created after the date specified. Date must be a valid date-time of format yyyy-MM-dd'T'HH:mm:ss.SSSZ e.g. 2007-12-03T10:15:30+01:00 . |
before | query | string | false | Use this parameter to filter consents created before the date specified. Date must be a valid date-time of format yyyy-MM-dd'T'HH:mm:ss.SSSZ e.g. 2007-12-03T10:15:30+01:00 . |
limit | query | integer | false | Use this parameter to limit consent results, max limit is 20 |
offset | query | integer | false | Use this parameter to specify the offset of the results |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Enumerated Values
Parameter | Value |
---|---|
filter[status] | AWAITING_AUTHORIZATION |
filter[status] | AWAITING_FURTHER_AUTHORIZATION |
filter[status] | AWAITING_RE_AUTHORIZATION |
filter[status] | AUTHORIZED |
filter[status] | CONSUMED |
filter[status] | REJECTED |
filter[status] | REVOKED |
filter[status] | FAILED |
filter[status] | EXPIRED |
filter[status] | UNKNOWN |
filter[status] | INVALID |
filter[status] | AWAITING_PRE_AUTHORIZATION |
filter[status] | PRE_AUTHORIZED |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a list of Consents. | Inline |
400 | Bad Request | Bad Request. Returned if optional parameter filter[status] is sent with an invalid enum value or if the optional raw parameter is not a valid boolean or if the optional filter[userUuid] parameter is not a valid UUID or if the optional offset parameter is not a valid integer or if the optional limit parameter is not a valid integer or if the optional from parameter is not a valid date with format yyyy-MM-dd'T'HH:mm:ss.SSSZ. VERIFY or if the optional before parameter is not a valid date with format yyyy-MM-dd'T'HH:mm:ss.SSSZ. VERIFY |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [Consent] | false | none | none |
»» applicationUserId | string | false | none | none |
»» authorizedAt | string | false | none | none |
»» consentToken | string | false | none | none |
»» createdAt | string | false | none | none |
»» expiresAt | string | false | none | none |
»» featureScope | [FeatureEnum] | false | none | none |
»» id | string | false | none | none |
»» institutionId | string | false | none | none |
»» referenceId | string | false | none | none |
»» state | string | false | none | none |
»» status | AuthorisationStatus | false | none | none |
»» timeToExpire | string | false | none | none |
»» transactionFrom | string | false | none | none |
»» transactionTo | string | false | none | none |
»» userUuid | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Get Consent
Code samples
curl -X GET https://api.yapily.com/consents/{consentId} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /consents/{consentId}
Used to retrieve a specific consent by ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consentId | path | string | true | The ID of the consent |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a list of Consents. | Inline |
400 | Bad Request | Bad Request. Returned if the consentId is not a valid UUID. or if the optional raw parameter is not a valid boolean |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the consentId is not found for the Application . |
ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | Consent | false | none | none |
»» applicationUserId | string | false | none | none |
»» authorizedAt | string | false | none | none |
»» consentToken | string | false | none | none |
»» createdAt | string | false | none | none |
»» expiresAt | string | false | none | none |
»» featureScope | [FeatureEnum] | false | none | none |
»» id | string | false | none | none |
»» institutionId | string | false | none | none |
»» referenceId | string | false | none | none |
»» state | string | false | none | none |
»» status | AuthorisationStatus | false | none | none |
»» timeToExpire | string | false | none | none |
»» transactionFrom | string | false | none | none |
»» transactionTo | string | false | none | none |
»» userUuid | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Delete Consent
Code samples
curl -X DELETE https://api.yapily.com/consents/{consentId} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
DELETE /consents/{consentId}
Deleting a user consent will also delete the tokens created through user authorisation. For example, in the case of an institution that makes use of OAuth2, the encrypted access token and refresh token will be deleted. To execute further requests requiring consent, you will need to request authorisation again from the user to Create Account Authorisation Request or Create Payment Authorisation Request.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consentId | path | string | true | The ID of the consent |
forceDelete | query | boolean | false | Whether to forceDelete consents. Defaults to true |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"creationDate": "2019-05-10T16:45:43.566+0000",
"deleteStatus": "SUCCESS",
"id": "a71fd46f-4144-478e-9a72-dd0d7a1158ab",
"institutionConsentId": "aac-1cce1cfc-1ab2-4ed6-8062-a0fd6c5c2122",
"institutionId": "yapily-mock"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a ConsentDeleteResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the consentId is not a valid UUID. or if the optional raw parameter is not a valid boolean or if the optional forceDelete parameter is not a valid boolean |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the consentId is not found for the Application . |
ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | ConsentDeleteResponse | false | none | An object returned from a UserDeleteResponse |
»» creationDate | string | false | none | none |
»» deleteStatus | DeleteStatusEnum | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» institutionId | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
deleteStatus | SUCCESS |
deleteStatus | FAILED |
Exchange One Time Token
Code samples
curl -X POST https://api.yapily.com/consent-one-time-token \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /consent-one-time-token
Used to retrieve a consentToken in exchange for a oneTimeToken. One time tokens cannot be used again after successfully being exchanged for a consentToken. A one time token is only valid for 3 minutes and in case of it expiring, Get Consents should be used to obtain the consentToken.
Note: to receive a one time token, set oneTimeToken to true in your Create Account Authorisation Request or Create Payment Authorisation Request.
Body parameter
{
"oneTimeToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6ImJidmEtc2FuZGJveCIsIlVVSUQiOiJmMzNmNGU4ZC1jMDQ0LTQ2YTktOTlkMC0wYmRlMzIyYTJjOTIifQ.4Qv3NJI6av2nKi1U3aNmm71cIwJ3TvRsIlYDafQUVv_Khy_e-8oEpV_BoP4V1CII12oT-Yq4cPveHILz8BOwjg"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
body | body | OneTimeTokenRequest | true | The requestBody |
Example responses
201 Response
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a Consent. | Consent |
400 | Bad Request | Bad Request. Returned if the oneTimeToken is not present in the requestBody. | ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Forbidden. Returned if the oneTimeToken has status CLAIMED or EXPIRED. |
ApiResponseError |
404 | Not Found | Not Found. Returned if the oneTimeToken is invalid or not found. |
ApiResponseError |
(Forwarding) Send Access Token
Code samples
curl -X POST https://api.yapily.com/users/{userUuid}/consents \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /users/{userUuid}/consents
For standard user authorised requests, ignore this endpoint and execute a Create Account Authorisation Request to obtain a Yapily consent token.
This endpoint is particularly for creating a Yapily consent token by sending OAuth2 access token or API key data.
The most common use cases for creating consent tokens with this data:
The financial institution provides API keys to access user data. This applies to any institution with the credentialsType of API_KEY You already have the access token for a user and want to allow Yapily to manage your integration and token refreshing Note the distinction between access tokens, API keys and the Yapily consent token. An OAuth2 access token is a short-lived, refreshable object created by a third party to authorise access to the end user's resources. Similarly, an API key is created by a third party and is valid until either the institution or end user revokes access. The consent token returned by Yapily is a generic, longer-lived token specifically for use with this API that abstracts multiple methods of representing consent and handles the mechanisms for using and refreshing tokens.
Body parameter
{
"accessToken": "",
"institutionId": "yapily-mock",
"refreshToken": "",
"scope": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
userUuid | path | string | true | The ID of the User |
body | body | CreateConsentAccessToken | true | The requestBody |
Example responses
201 Response
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a Consent. | Consent |
400 | Bad Request | Bad Request. Returned if the userUuid is not a valid UUID or if the institutionId is not configured for the Application or if accessToken is missing from the requestBody or if institutionId is missing from the requestBody |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. Returned if the userUuid is not found for the Application or if the institutionId is not valid. |
ApiResponseError |
(Forwarding) Send OAuth2 Code
Code samples
curl -X POST https://api.yapily.com/consent-auth-code \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /consent-auth-code
Submit the OAuth2 authorisation code authCode and state authState received from the institution after the user has authenticated to receive a consent-token.
Body parameter
{
"authCode": "fg67Hj",
"authState": "f3daec98152e420297cebdd301db6dde"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
body | body | ConsentAuthCodeRequest | true | The requestBody |
Example responses
201 Response
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a Consent. | Consent |
400 | Bad Request | Bad Request. Returned if the authCode is not set or is invalid or authState is not set or is invalid. |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
424 | Failed Dependency | Failed Dependency. | ApiResponseError |
Obtaining a Consent
Before calling Financial Data or Payment endpoints a consent from an end-user must be obtained.
Consents are valid for up to 90 days for financial data endpoints and have a single-use for payment endpoints i.e. a new consent must be obtained for each payment.
Create Account Authorisation
Code samples
curl -X POST https://api.yapily.com/account-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /account-auth-requests
Used to initiate the authorisation process and direct users to the login screen of their financial institution in order to give consent to access account data.
Feature: INITIATE_ACCOUNT_REQUEST
A User
can be generated as part of this request, if no userUuid is provided and if the applicationUserId
does not already exist.
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"accountRequest": {
"accountIdentifiers": {
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": null,
"type": null
}
},
"accountIdentifiersForBalance": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"accountIdentifiersForTransaction": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"expiresAt": "2018-10-17T15:11:38Z",
"featureScope": [
"ACCOUNT_STATEMENT"
],
"psuCorporateId": "",
"psuId": "",
"transactionsFrom": "",
"transactionsTo": ""
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | AccountAuthorisationRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the requestBody does not contain either the userUuid or applicationUserId. or if the requestBody does not contain the institutionId or the institution does not belong to the Application . or if the AccountRequest.expiresAt is in the past. or if the AccountRequest.transactionsFrom is after AccountRequest.transactionsTo or if the callback is set but is an invalid URI or is not configured on the Application or if the callback longer than 4096. or if oneTimeToken is set to true without a callback or if the featureScope array includes an invalid Feature |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Re-authorize Account Auth
Code samples
curl -X PATCH https://api.yapily.com/account-auth-requests \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
PATCH /account-auth-requests
Used to prompt the account holder for continued access to their financial data. This endpoint should be used when a Consent that was previously AUTHORIZED can no longer be used to retrieve data. Only the original features that were specified when the Consent can be re-authorised.
A financial data Consent can be re-authorised at any time as long as it is not in any on of the following terminal states:
* EXPIRED * REJECTED * REVOKED
If your financial data Consent is in a terminal state, it can no longer be used and a new Consent needs to be created from a Create Account Authorisation Request for continued access to the user's data.
When to re-authorise? For the CMA9, each institution must prompt for Strong Customer Authentication (SCA) every 90 days to remain compliant. This means that the maximum period that any endpoint can be accessed without any interaction with the user is 90 days.
Restrictions enforced by institutions It is common for institutions to enforce their own restrictions on specific endpoints, drastically reducing the period where no authorisation from the user is required to as little as 5 minutes e.g. identity or historical data older than 90 days. Yapily does not publicly release information on how each institution behaves as this information is subject to change.
You can usually identify when an endpoint requires re-authorisation by the emergence of FORBIDDEN 403 errors for requests to financial data endpoints that previously returned OK 200. In light of this, Yapily recommends that you design flows which prompt for SCA when requests for financial data returns FORBIDDEN 403 errors.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean | ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
404 | Not Found | Not Found. The Consent-Token was not valid. | ApiResponseError |
406 | Not Acceptable | Not Acceptable. The Consent-Token does not support re-authorisation. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Update Account Auth
Code samples
curl -X PUT https://api.yapily.com/account-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
PUT /account-auth-requests
Update pre authorize consent for user to authorise account
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"accountRequest": {
"accountIdentifiers": {
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": null,
"type": null
}
},
"accountIdentifiersForBalance": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"accountIdentifiersForTransaction": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"expiresAt": "2018-10-17T15:11:38Z",
"featureScope": [
"ACCOUNT_STATEMENT"
],
"psuCorporateId": "",
"psuId": "",
"transactionsFrom": "",
"transactionsTo": ""
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consent | header | string | false | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | AccountAuthorisationRequest | true | The requestBody |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the AccountRequest.expiresAt is in the past. or if the AccountRequest.transactionsFrom is after AccountRequest.transactionsTo |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Forbidden. The status of the original is not PRE_AUTHORIZED. or the scope is not AIS |
ApiResponseError |
404 | Not Found | Not Found. The Consent-Token was not valid. | ApiResponseError |
406 | Not Acceptable | Not Acceptable. The Consent-Token does not support re-authorisation. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Create Payment Authorisation
Code samples
curl -X POST https://api.yapily.com/payment-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /payment-auth-requests
Used to initiate the authorisation process and direct users to the login screen of their financial institution in order to give their consent for a payment. This endpoint is used to initiate all the different payment types mentioned above. Based on the type of payment you wish to make, you may be required to provide specific properties in the payload of the request. First make sure that the payment feature you wish to executed is supported by the bank by checking the features array in GET Institution.
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"allowOverdraft": true,
"expiresAt": "2020-08-18T16:24:22.316Z",
"maxAmountPerRequest": 10,
"paymentRequest": {
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": null,
"currency": null
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": null,
"intervalMonth": null,
"intervalWeek": null,
"type": null
},
"nextPaymentAmount": {
"amount": null,
"currency": null
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
},
"startsAt": "2020-08-18T16:24:22.316Z",
"totalMaxAmount": 10,
"totalMaxAmountFrequency": "DAILY"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | PaymentAuthorisationRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"charges": [
{
"chargeAmount": {},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"exchangeRateInformation": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a PaymentAuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the paymentRequest is not part of the requestBody or if the AccountRequest.transactionsFrom is after AccountRequest.transactionsTo or if the requestBody does not contain either the userUuid or applicationUserId. or if the requestBody does not contain the institutionId or the institution does not belong to the Application . or if the callback is set but is an invalid URI or is not configured on the Application or if the callback longer than 4096. or if oneTimeToken is set to true without a callback or if the featureScope array includes an invalid Feature or if the PaymentRequest.type is sent with an invalid PaymentType enum value. |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» charges | [ChargeDetails] | false | none | none |
»»»» chargeAmount | Amount | false | none | none |
»»»»» amount | integer(float) | false | none | none |
»»»»» currency | string | false | none | none |
»»»» chargeTo | string | false | none | none |
»»»» chargeType | string | false | none | none |
»»» exchangeRateInformation | ExchangeRateInformationResponse | false | none | none |
»»»» exchangeRateExpiryDate | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Update Payment Auth
Code samples
curl -X PUT https://api.yapily.com/payment-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
PUT /payment-auth-requests
Update pre authorize consent for user to authorise payment
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"allowOverdraft": true,
"expiresAt": "2020-08-18T16:24:22.316Z",
"maxAmountPerRequest": 10,
"paymentRequest": {
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": null,
"currency": null
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": null,
"intervalMonth": null,
"intervalWeek": null,
"type": null
},
"nextPaymentAmount": {
"amount": null,
"currency": null
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
},
"startsAt": "2020-08-18T16:24:22.316Z",
"totalMaxAmount": 10,
"totalMaxAmountFrequency": "DAILY"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | PaymentAuthorisationRequest | true | The requestBody |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"charges": [
{
"chargeAmount": {},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"exchangeRateInformation": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentAuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the requestBody does not contain the institutionId or the institution does not belong to the Application . or if the callback is set but is an invalid URI or is not configured on the Application or if the callback longer than 4096. or if oneTimeToken is set to true without a callback or if the PaymentRequest.type is sent with an invalid PaymentType enum value. |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Forbidden. The status of the original is not PRE_AUTHORIZED. or the scope is not PIS |
ApiResponseError |
404 | Not Found | Not Found. The Consent-Token was not valid. | ApiResponseError |
406 | Not Acceptable | Not Acceptable. The Consent-Token does not support re-authorisation. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» charges | [ChargeDetails] | false | none | none |
»»»» chargeAmount | Amount | false | none | none |
»»»»» amount | integer(float) | false | none | none |
»»»»» currency | string | false | none | none |
»»»» chargeTo | string | false | none | none |
»»»» chargeType | string | false | none | none |
»»» exchangeRateInformation | ExchangeRateInformationResponse | false | none | none |
»»»» exchangeRateExpiryDate | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Create PreAuth
Code samples
curl -X POST https://api.yapily.com/pre-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /pre-auth-requests
Initiate request for user to pre authorise for AIS or PIS
Body parameter
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"scope": "AIS"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | PreAuthorisationRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the callback is set but is an invalid URI or is not configured on the Application or if the callback longer than 4096. or if oneTimeToken is set to true without a callback or if the requestBody does not contain the institutionId or the institution does not belong to the Application . or if the scope is not either AIS or PIS or if the scope is AIS and the institution does not support AIS or if the scope is PIS and the institution does not support PIS or if the institution does not support pre-authorisation Feature |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Create Bulk-Payment Authorisation
Code samples
curl -X POST https://api.yapily.com/bulk-payment-auth-requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /bulk-payment-auth-requests
Used to initiate the payment authorisation process for a business account and direct users to the login screen of their financial institution in order to give their consent for a bulk payment.
Body parameter
{
"applicationUserId": "bojack@8tees.com",
"callback": "https://test.example.com/callback",
"forwardParameters": [
""
],
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"paymentRequest": {
"executionDateTime": "2020-10-17T00:00:00Z",
"originatorIdentificationNumber": "",
"payments": [
{
"amount": {},
"contextType": "[",
"internationalPayment": {},
"payee": {},
"payer": {},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "["
}
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | BulkPaymentAuthorisationRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"charges": [
{
"chargeAmount": {},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"exchangeRateInformation": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a PaymentAuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the paymentRequest is not part of the requestBody or if the AccountRequest.transactionsFrom is after AccountRequest.transactionsTo or if the requestBody does not contain either the userUuid or applicationUserId. or if the requestBody does not contain the institutionId or the institution does not belong to the Application . or if the callback is set but is an invalid URI or is not configured on the Application or if the callback longer than 4096. or if oneTimeToken is set to true without a callback or if any of the PaymentRequests.type are sent with an invalid PaymentType enum value. |
None |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | any | false | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | Consent | false | none | none |
»»» applicationUserId | string | false | none | none |
»»» authorizedAt | string | false | none | none |
»»» consentToken | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» expiresAt | string | false | none | none |
»»» featureScope | [FeatureEnum] | false | none | none |
»»» id | string | false | none | none |
»»» institutionId | string | false | none | none |
»»» referenceId | string | false | none | none |
»»» state | string | false | none | none |
»»» status | AuthorisationStatus | false | none | none |
»»» timeToExpire | string | false | none | none |
»»» transactionFrom | string | false | none | none |
»»» transactionTo | string | false | none | none |
»»» userUuid | string | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» authorisationUrl | string | false | none | none |
»»» charges | [ChargeDetails] | false | none | none |
»»»» chargeAmount | Amount | false | none | none |
»»»»» amount | integer(float) | false | none | none |
»»»»» currency | string | false | none | none |
»»»» chargeTo | string | false | none | none |
»»»» chargeType | string | false | none | none |
»»» exchangeRateInformation | ExchangeRateInformationResponse | false | none | none |
»»»» exchangeRateExpiryDate | string | false | none | none |
»»» qrCodeUrl | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | AWAITING_AUTHORIZATION |
status | AWAITING_FURTHER_AUTHORIZATION |
status | AWAITING_RE_AUTHORIZATION |
status | AUTHORIZED |
status | CONSUMED |
status | REJECTED |
status | REVOKED |
status | FAILED |
status | EXPIRED |
status | UNKNOWN |
status | INVALID |
status | AWAITING_PRE_AUTHORIZATION |
status | PRE_AUTHORIZED |
Financial Data
In order to access your user's financial data, you are required to obtain their consent to share this information. Once a Consent token is obtained, you can call the Financial Data endpoints to retrieve various financial data for your user.
Get Accounts
Code samples
curl -X GET https://api.yapily.com/accounts \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts
Returns all accounts and balances for the end user associated with the presented consent token.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"accountBalances": [
{
"balanceAmount": {
"amount": null,
"currency": null
},
"creditLineIncluded": true,
"creditLines": [
{}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
],
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"accountNames": [
{
"name": "name"
}
],
"accountType": "CASH_TRADING",
"balance": 5313.4,
"currency": "GBP",
"description": "HSBC ADVANCE",
"details": "",
"id": "aadn1pyst5ka1o1x8gkklori09n60rtgcr5t",
"nickname": "Personal",
"type": "Personal - Current",
"usageType": "PERSONAL"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [Account] | false | none | none |
»» accountBalances | [AccountBalance] | false | none | none |
»»» balanceAmount | Amount | false | none | none |
»»»» amount | integer(float) | false | none | none |
»»»» currency | string | false | none | none |
»»» creditLineIncluded | boolean | false | none | none |
»»» creditLines | [CreditLine] | false | none | none |
»»»» creditLineAmount | Amount | false | none | none |
»»»» type | CreditLineType | false | none | none |
»»» dateTime | string | false | none | none |
»»» type | AccountBalanceType | false | none | none |
»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» identification | string | false | none | none |
»»» type | AccountIdentificationType | false | none | none |
»» accountNames | [AccountName] | false | none | none |
»»» name | string | false | none | none |
»» accountType | AccountType | false | none | none |
»» balance | integer(decimal) | false | none | none |
»» currency | string | false | none | none |
»» description | string | false | none | none |
»» details | string | false | none | none |
»» id | string | false | none | none |
»» nickname | string | false | none | none |
»» type | string | false | none | none |
»» usageType | UsageType | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
type | AVAILABLE |
type | CREDIT |
type | EMERGENCY |
type | PRE_AGREED |
type | TEMPORARY |
type | OTHER |
type | UNKNOWN |
type | CLOSING_AVAILABLE |
type | CLOSING_BOOKED |
type | CLOSING_CLEARED |
type | EXPECTED |
type | FORWARD_AVAILABLE |
type | INFORMATION |
type | INTERIM_AVAILABLE |
type | INTERIM_BOOKED |
type | INTERIM_CLEARED |
type | OPENING_AVAILABLE |
type | OPENING_BOOKED |
type | OPENING_CLEARED |
type | PREVIOUSLY_CLOSED_BOOKED |
type | AUTHORISED |
type | OTHER |
type | UNKNOWN |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
accountType | CASH_TRADING |
accountType | CASH_INCOME |
accountType | CASH_PAYMENT |
accountType | CHARGE_CARD |
accountType | CHARGES |
accountType | COMMISSION |
accountType | CREDIT_CARD |
accountType | CURRENT |
accountType | E_MONEY |
accountType | LIMITED_LIQUIDITY_SAVINGS_ACCOUNT |
accountType | LOAN |
accountType | MARGINAL_LENDING |
accountType | MONEY_MARKET |
accountType | MORTGAGE |
accountType | NON_RESIDENT_EXTERNAL |
accountType | OTHER |
accountType | OVERDRAFT |
accountType | OVERNIGHT_DEPOSIT |
accountType | PREPAID_CARD |
accountType | SALARY |
accountType | SAVINGS |
accountType | SETTLEMENT |
accountType | TAX |
accountType | UNKNOWN |
usageType | PERSONAL |
usageType | BUSINESS |
usageType | OTHER |
usageType | UNKNOWN |
Get Account
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id} \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}
Returns the account and balance details of a specific account belonging to the end user associated with the presented consent token.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"accountBalances": [
{
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"creditLineIncluded": true,
"creditLines": [
{
"creditLineAmount": null,
"type": null
}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
],
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"accountNames": [
{
"name": "name"
}
],
"accountType": "CASH_TRADING",
"balance": 5313.4,
"currency": "GBP",
"description": "HSBC ADVANCE",
"details": "",
"id": "aadn1pyst5ka1o1x8gkklori09n60rtgcr5t",
"nickname": "Personal",
"type": "Personal - Current",
"usageType": "PERSONAL"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AuthorisationRequestResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | Account | false | none | none |
»» accountBalances | [AccountBalance] | false | none | none |
»»» balanceAmount | Amount | false | none | none |
»»»» amount | integer(float) | false | none | none |
»»»» currency | string | false | none | none |
»»» creditLineIncluded | boolean | false | none | none |
»»» creditLines | [CreditLine] | false | none | none |
»»»» creditLineAmount | Amount | false | none | none |
»»»» type | CreditLineType | false | none | none |
»»» dateTime | string | false | none | none |
»»» type | AccountBalanceType | false | none | none |
»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» identification | string | false | none | none |
»»» type | AccountIdentificationType | false | none | none |
»» accountNames | [AccountName] | false | none | none |
»»» name | string | false | none | none |
»» accountType | AccountType | false | none | none |
»» balance | integer(decimal) | false | none | none |
»» currency | string | false | none | none |
»» description | string | false | none | none |
»» details | string | false | none | none |
»» id | string | false | none | none |
»» nickname | string | false | none | none |
»» type | string | false | none | none |
»» usageType | UsageType | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | AVAILABLE |
type | CREDIT |
type | EMERGENCY |
type | PRE_AGREED |
type | TEMPORARY |
type | OTHER |
type | UNKNOWN |
type | CLOSING_AVAILABLE |
type | CLOSING_BOOKED |
type | CLOSING_CLEARED |
type | EXPECTED |
type | FORWARD_AVAILABLE |
type | INFORMATION |
type | INTERIM_AVAILABLE |
type | INTERIM_BOOKED |
type | INTERIM_CLEARED |
type | OPENING_AVAILABLE |
type | OPENING_BOOKED |
type | OPENING_CLEARED |
type | PREVIOUSLY_CLOSED_BOOKED |
type | AUTHORISED |
type | OTHER |
type | UNKNOWN |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
accountType | CASH_TRADING |
accountType | CASH_INCOME |
accountType | CASH_PAYMENT |
accountType | CHARGE_CARD |
accountType | CHARGES |
accountType | COMMISSION |
accountType | CREDIT_CARD |
accountType | CURRENT |
accountType | E_MONEY |
accountType | LIMITED_LIQUIDITY_SAVINGS_ACCOUNT |
accountType | LOAN |
accountType | MARGINAL_LENDING |
accountType | MONEY_MARKET |
accountType | MORTGAGE |
accountType | NON_RESIDENT_EXTERNAL |
accountType | OTHER |
accountType | OVERDRAFT |
accountType | OVERNIGHT_DEPOSIT |
accountType | PREPAID_CARD |
accountType | SALARY |
accountType | SAVINGS |
accountType | SETTLEMENT |
accountType | TAX |
accountType | UNKNOWN |
usageType | PERSONAL |
usageType | BUSINESS |
usageType | OTHER |
usageType | UNKNOWN |
Get Account Direct Debits
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/direct-debits \
-H 'Accept: application/json' \
-H 'x-yapily-api-version: 2.0-ALPHA' \
-H 'consent: string' \
-H 'limit: 0' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/direct-debits
Get the list of direct debits for an account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-yapily-api-version | header | string | true | Determines the API version to use. |
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
limit | header | integer | false | Use this parameter to limit account's direct debit results |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": null,
"currency": null
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [PaymentResponse] | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» amountDetails | Amount | false | none | none |
»»» amount | integer(float) | false | none | none |
»»» currency | string | false | none | none |
»» bulkAmountSum | integer(decimal) | false | none | none |
»» chargeDetails | [ChargeDetails] | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» currencyOfTransfer | string | false | none | none |
»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»» exchangeRateExpiryDate | string | false | none | none |
»» finalPaymentAmount | Amount | false | none | none |
»» finalPaymentDateTime | string | false | none | none |
»» firstPaymentAmount | Amount | false | none | none |
»» firstPaymentDateTime | string | false | none | none |
»» frequency | FrequencyRequest | false | none | none |
»»» executionDay | integer | false | none | none |
»»» intervalMonth | integer | false | none | none |
»»» intervalWeek | integer | false | none | none |
»»» type | FrequencyEnumExtended | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» nextPaymentAmount | Amount | false | none | none |
»» nextPaymentDateTime | string | false | none | none |
»» numberOfPayments | integer | false | none | none |
»» payeeDetails | Payee | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» identification | string | false | none | none |
»»»» type | AccountIdentificationType | false | none | none |
»»» address | Address | false | none | none |
»»»» addressLine | [string] | false | none | none |
»»»» addressType | AddressTypeEnum | false | none | none |
»»»» buildingNumber | string | false | none | none |
»»»» country | string | false | none | none |
»»»» county | [string] | false | none | none |
»»»» department | string | false | none | none |
»»»» postCode | string | false | none | none |
»»»» streetName | string | false | none | none |
»»»» subDepartment | string | false | none | none |
»»»» townName | string | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantId | string | false | none | none |
»»» name | string | false | none | none |
»» payer | Payer | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» address | Address | false | none | none |
»»» name | string | false | none | none |
»» paymentIdempotencyId | string | false | none | none |
»» paymentLifecycleId | string | false | none | none |
»» previousPaymentAmount | Amount | false | none | none |
»» previousPaymentDateTime | string | false | none | none |
»» priority | string | false | none | none |
»» purpose | string | false | none | none |
»» reference | string | false | none | none |
»» scheduledPaymentDateTime | string | false | none | none |
»» scheduledPaymentType | string | false | none | none |
»» status | PaymentStatus | false | none | none |
»» statusDetails | PaymentStatusDetails | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusReason | string | false | none | none |
»»» statusReasonDescription | string | false | none | none |
»»» statusUpdateDate | string | false | none | none |
»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»» status | string | false | none | none |
»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»» lastUpdatedDateTime | string | false | none | none |
»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Get Account Periodic Payments
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/periodic-payments \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'limit: 0' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/periodic-payments
Returns a list of periodic payments (standing orders in the UK) for a specific account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
limit | header | integer | false | Use this parameter to limit account's periodic payment order results |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": null,
"currency": null
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [PaymentResponse] | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» amountDetails | Amount | false | none | none |
»»» amount | integer(float) | false | none | none |
»»» currency | string | false | none | none |
»» bulkAmountSum | integer(decimal) | false | none | none |
»» chargeDetails | [ChargeDetails] | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» currencyOfTransfer | string | false | none | none |
»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»» exchangeRateExpiryDate | string | false | none | none |
»» finalPaymentAmount | Amount | false | none | none |
»» finalPaymentDateTime | string | false | none | none |
»» firstPaymentAmount | Amount | false | none | none |
»» firstPaymentDateTime | string | false | none | none |
»» frequency | FrequencyRequest | false | none | none |
»»» executionDay | integer | false | none | none |
»»» intervalMonth | integer | false | none | none |
»»» intervalWeek | integer | false | none | none |
»»» type | FrequencyEnumExtended | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» nextPaymentAmount | Amount | false | none | none |
»» nextPaymentDateTime | string | false | none | none |
»» numberOfPayments | integer | false | none | none |
»» payeeDetails | Payee | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» identification | string | false | none | none |
»»»» type | AccountIdentificationType | false | none | none |
»»» address | Address | false | none | none |
»»»» addressLine | [string] | false | none | none |
»»»» addressType | AddressTypeEnum | false | none | none |
»»»» buildingNumber | string | false | none | none |
»»»» country | string | false | none | none |
»»»» county | [string] | false | none | none |
»»»» department | string | false | none | none |
»»»» postCode | string | false | none | none |
»»»» streetName | string | false | none | none |
»»»» subDepartment | string | false | none | none |
»»»» townName | string | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantId | string | false | none | none |
»»» name | string | false | none | none |
»» payer | Payer | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» address | Address | false | none | none |
»»» name | string | false | none | none |
»» paymentIdempotencyId | string | false | none | none |
»» paymentLifecycleId | string | false | none | none |
»» previousPaymentAmount | Amount | false | none | none |
»» previousPaymentDateTime | string | false | none | none |
»» priority | string | false | none | none |
»» purpose | string | false | none | none |
»» reference | string | false | none | none |
»» scheduledPaymentDateTime | string | false | none | none |
»» scheduledPaymentType | string | false | none | none |
»» status | PaymentStatus | false | none | none |
»» statusDetails | PaymentStatusDetails | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusReason | string | false | none | none |
»»» statusReasonDescription | string | false | none | none |
»»» statusUpdateDate | string | false | none | none |
»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»» status | string | false | none | none |
»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»» lastUpdatedDateTime | string | false | none | none |
»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Get Account Scheduled Payments
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/scheduled-payments \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'limit: 0' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/scheduled-payments
Get the list of scheduled payments for an account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
limit | header | integer | false | Use this parameter to limit account's scheduled payment results |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": null,
"currency": null
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [PaymentResponse] | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» amountDetails | Amount | false | none | none |
»»» amount | integer(float) | false | none | none |
»»» currency | string | false | none | none |
»» bulkAmountSum | integer(decimal) | false | none | none |
»» chargeDetails | [ChargeDetails] | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» currencyOfTransfer | string | false | none | none |
»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»» exchangeRateExpiryDate | string | false | none | none |
»» finalPaymentAmount | Amount | false | none | none |
»» finalPaymentDateTime | string | false | none | none |
»» firstPaymentAmount | Amount | false | none | none |
»» firstPaymentDateTime | string | false | none | none |
»» frequency | FrequencyRequest | false | none | none |
»»» executionDay | integer | false | none | none |
»»» intervalMonth | integer | false | none | none |
»»» intervalWeek | integer | false | none | none |
»»» type | FrequencyEnumExtended | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» nextPaymentAmount | Amount | false | none | none |
»» nextPaymentDateTime | string | false | none | none |
»» numberOfPayments | integer | false | none | none |
»» payeeDetails | Payee | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» identification | string | false | none | none |
»»»» type | AccountIdentificationType | false | none | none |
»»» address | Address | false | none | none |
»»»» addressLine | [string] | false | none | none |
»»»» addressType | AddressTypeEnum | false | none | none |
»»»» buildingNumber | string | false | none | none |
»»»» country | string | false | none | none |
»»»» county | [string] | false | none | none |
»»»» department | string | false | none | none |
»»»» postCode | string | false | none | none |
»»»» streetName | string | false | none | none |
»»»» subDepartment | string | false | none | none |
»»»» townName | string | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantId | string | false | none | none |
»»» name | string | false | none | none |
»» payer | Payer | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» address | Address | false | none | none |
»»» name | string | false | none | none |
»» paymentIdempotencyId | string | false | none | none |
»» paymentLifecycleId | string | false | none | none |
»» previousPaymentAmount | Amount | false | none | none |
»» previousPaymentDateTime | string | false | none | none |
»» priority | string | false | none | none |
»» purpose | string | false | none | none |
»» reference | string | false | none | none |
»» scheduledPaymentDateTime | string | false | none | none |
»» scheduledPaymentType | string | false | none | none |
»» status | PaymentStatus | false | none | none |
»» statusDetails | PaymentStatusDetails | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusReason | string | false | none | none |
»»» statusReasonDescription | string | false | none | none |
»»» statusUpdateDate | string | false | none | none |
»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»» status | string | false | none | none |
»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»» lastUpdatedDateTime | string | false | none | none |
»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Get Account Balances
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/balances \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/balances
Returns the balance for the end user associated with the presented consent token.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"balances": [
{
"balanceAmount": {
"amount": null,
"currency": null
},
"creditLineIncluded": true,
"creditLines": [
{}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
],
"mainBalanceAmount": {
"amount": 10,
"currency": "GBP"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | [Balances] | false | none | none |
»» balances | [AccountBalance] | false | none | none |
»»» balanceAmount | Amount | false | none | none |
»»»» amount | integer(float) | false | none | none |
»»»» currency | string | false | none | none |
»»» creditLineIncluded | boolean | false | none | none |
»»» creditLines | [CreditLine] | false | none | none |
»»»» creditLineAmount | Amount | false | none | none |
»»»» type | CreditLineType | false | none | none |
»»» dateTime | string | false | none | none |
»»» type | AccountBalanceType | false | none | none |
»» mainBalanceAmount | Amount | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | AVAILABLE |
type | CREDIT |
type | EMERGENCY |
type | PRE_AGREED |
type | TEMPORARY |
type | OTHER |
type | UNKNOWN |
type | CLOSING_AVAILABLE |
type | CLOSING_BOOKED |
type | CLOSING_CLEARED |
type | EXPECTED |
type | FORWARD_AVAILABLE |
type | INFORMATION |
type | INTERIM_AVAILABLE |
type | INTERIM_BOOKED |
type | INTERIM_CLEARED |
type | OPENING_AVAILABLE |
type | OPENING_BOOKED |
type | OPENING_CLEARED |
type | PREVIOUSLY_CLOSED_BOOKED |
type | AUTHORISED |
type | OTHER |
type | UNKNOWN |
Get Account Transactions
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/transactions \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/transactions
Used to get the transactions from a specific account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
with | query | string | false | Can be categories or merchants. When set, will include enrichment data in the transactions returned. |
from | query | string | false | Optional. Returned transactions will be after this date. (yyyy-MM-dd'T'HH:mm:ss.SSSZ) |
before | query | string | false | Optional. Returned transactions will be before this date. (yyyy-MM-dd'T'HH:mm:ss.SSSZ) |
limit | query | string | false | Optional. The maximum number of transaction records to be returned. Must be between 0 and 1000 |
sort | query | string | false | Optional. Sort transaction records by date ascending with date or descending with -date. The default sort order is descending. |
offset | query | string | false | Optional. The number of transaction records to be skipped. Used primarily with paginated results |
cursor | query | string | false | Optional. This property is not currently in use. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"addressDetails": {
"addressLine": "123 Test Street, Test, AB1 2DC"
},
"amount": 10,
"balance": {
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"type": "CLOSING_AVAILABLE"
},
"bookingDateTime": "2019-04-20T23:54:10.937Z",
"chargeDetails": {
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
},
"currency": "GBP",
"currencyExchange": {
"exchangeRate": 1.34,
"sourceCurrency": "GBP",
"targetCurrency": "EUR",
"unitCurrency": "GBP"
},
"date": "2019-04-20T23:54:10.937Z",
"description": "Exchanged to EUR",
"enrichment": {
"categorisation": {
"category": {}
},
"transactionHash": {
"hash": "b0781fd71caa48c75039ec01c0ffb011.1"
}
},
"id": "d6f8ee30-7804-4c62-9457-fe64fcd23fc2",
"isoBankTransactionCode": {
"domainCode": {
"code": "",
"name": ""
},
"familyCode": {
"code": "",
"name": ""
},
"subFamilyCode": {
"code": "",
"name": ""
}
},
"merchant": {
"merchantCategoryCode": "5462",
"merchantName": "London Luxury Baker"
},
"proprietaryBankTransactionCode": {
"code": "EXCHANGE",
"issuer": "Revolut"
},
"reference": "mytrxref",
"statementReferences": [
{
"value": "They sent you money for carrots"
}
],
"status": "BOOKED",
"supplementaryData": {
"name": "",
"value": ""
},
"transactionAmount": {
"amount": 10,
"currency": "GBP"
},
"transactionInformation": [
""
],
"valueDateTime": "2019-04-20T23:54:10.937Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [Transaction] | false | none | none |
»» addressDetails | AddressDetails | false | none | none |
»»» addressLine | string | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» balance | Balance | false | none | none |
»»» balanceAmount | Amount | false | none | none |
»»»» amount | integer(float) | false | none | none |
»»»» currency | string | false | none | none |
»»» type | AccountBalanceType | false | none | none |
»» bookingDateTime | string | false | none | none |
»» chargeDetails | ChargeDetails | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» currency | string | false | none | none |
»» currencyExchange | CurrencyExchange | false | none | none |
»»» exchangeRate | integer | false | none | none |
»»» sourceCurrency | string | false | none | none |
»»» targetCurrency | string | false | none | none |
»»» unitCurrency | string | false | none | none |
»» date | string | false | none | none |
»» description | string | false | none | none |
»» enrichment | Enrichment | false | none | none |
»»» categorisation | Categorisation | false | none | none |
»»»» category | Category | false | none | none |
»»»»» id | string | false | none | none |
»»»»» label | string | false | none | none |
»»» transactionHash | TransactionHash | false | none | none |
»»»» hash | string | false | none | none |
»» id | string | false | none | none |
»» isoBankTransactionCode | IsoBankTransactionCode | false | none | none |
»»» domainCode | IsoCodeDetails | false | none | none |
»»»» code | string | false | none | none |
»»»» name | string | false | none | none |
»»» familyCode | IsoCodeDetails | false | none | none |
»»» subFamilyCode | IsoCodeDetails | false | none | none |
»» merchant | Merchant | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantName | string | false | none | none |
»» proprietaryBankTransactionCode | ProprietaryBankTransactionCode | false | none | none |
»»» code | string | false | none | none |
»»» issuer | string | false | none | none |
»» reference | string | false | none | none |
»» statementReferences | [StatementReference] | false | none | none |
»»» value | string | false | none | none |
»» status | TransactionStatusEnum | false | none | none |
»» supplementaryData | Map | false | none | none |
»»» name | string | false | none | none |
»»» value | string | false | none | none |
»» transactionAmount | Amount | false | none | none |
»» transactionInformation | [string] | false | none | none |
»» valueDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
type | CLOSING_AVAILABLE |
type | CLOSING_BOOKED |
type | CLOSING_CLEARED |
type | EXPECTED |
type | FORWARD_AVAILABLE |
type | INFORMATION |
type | INTERIM_AVAILABLE |
type | INTERIM_BOOKED |
type | INTERIM_CLEARED |
type | OPENING_AVAILABLE |
type | OPENING_BOOKED |
type | OPENING_CLEARED |
type | PREVIOUSLY_CLOSED_BOOKED |
type | AUTHORISED |
type | OTHER |
type | UNKNOWN |
status | BOOKED |
status | PENDING |
Get Account Statements
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/statements \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/statements
Used to get the statements from a specific account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
from | query | string | false | Optional. Returned statements will be after this date. (yyyy-MM-dd'T'HH:mm:ss.SSSZ) |
before | query | string | false | Optional. Returned statements will be before this date. (yyyy-MM-dd'T'HH:mm:ss.SSSZ) |
limit | query | string | false | Optional. The maximum number of statements records to be returned. Must be between 0 and 1000 |
sort | query | string | false | Optional. Sort statements records by date ascending with date or descending with -date. The default sort order is descending. |
offset | query | string | false | Optional. The number of statements records to be skipped. Used primarily with paginated results |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": [
{
"creationDateTime": "2017-02-01T00:00:00Z",
"endDateTime": "2017-02-01T00:00:00Z",
"id": "",
"startDateTime": "2017-02-01T00:00:00Z"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AccountStatement. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
»» count | integer | false | none | none |
»» pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
»»» next | Next | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»» self | FilterAndSort | false | none | An object for filter and sort information |
»»»» before | string | false | none | none |
»»»» cursor | string | false | none | none |
»»»» from | string | false | none | none |
»»»» limit | integer | false | none | none |
»»»» offset | integer | false | none | none |
»»»» sort | SortEnum | false | none | Valid options for the sort parameter |
»»» totalCount | integer | false | none | none |
»» tracingId | string | false | none | none |
» data | [AccountStatement] | false | none | none |
»» creationDateTime | string | false | none | none |
»» endDateTime | string | false | none | none |
»» id | string | false | none | none |
»» startDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
sort | DATE_ASCENDING("date") |
sort | DATE_DESCENDING("-date") |
Get Account Statement
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/statements/{statement-id} \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/statements/{statement-id}
Used to get a statement from a specific account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
statement-id | path | string | true | The ID of the Statement |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"creationDateTime": "2017-02-01T00:00:00Z",
"endDateTime": "2017-02-01T00:00:00Z",
"id": "",
"startDateTime": "2017-02-01T00:00:00Z"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a AccountStatement. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | AccountStatement | false | none | none |
»» creationDateTime | string | false | none | none |
»» endDateTime | string | false | none | none |
»» id | string | false | none | none |
»» startDateTime | string | false | none | none |
Get Account Statement PDF
Code samples
curl -X GET https://api.yapily.com/accounts/{account-id}/statements/{statement-id}/file \
-H 'Accept: application/pdf' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /accounts/{account-id}/statements/{statement-id}/file
Download the specific statement file for an account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
statement-id | path | string | true | The ID of the Statement |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
400 Response
{
"error": {
"code": 401,
"institutionError": {
"errorMessage": "{\"Code\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Errors\":[{\"ErrorCode\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Field\":\"x-jws-signature\"}]}",
"httpStatusCode": 100
},
"message": "Full authentication is required to access this resource",
"source": "YAPILY",
"status": "BAD_REQUEST",
"tracingId": "e7b01315-cbc5-4d0b-91e8-4f77cb1a3253"
},
"monitoring": [
{
"lastTested": "",
"resourceEndpoint": "",
"span": "",
"status": "UP"
}
],
"raw": [
{
"duration": "",
"headers": [
{
"name": "",
"value": ""
}
],
"request": {
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
},
"result": "",
"resultCode": 100
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PDF of the statement. | string |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | attachment | string | binary | Contains the PDF of the statement |
Get Identity
Code samples
curl -X GET https://api.yapily.com/identity \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /identity
Used to get identity information from the bank for the account holder.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"addresses": [
{
"addressLine": "",
"buildingNumber": "123",
"city": "London",
"country": "United Kingdom",
"county": "London",
"postalCode": "A12 3BC",
"streetName": "123 Test Street",
"type": "BUSINESS"
}
],
"birthdate": "1970-01-01",
"email": "bojack@horsingaround.com",
"firstName": "Bojack",
"fullName": "Bojack Horseman",
"gender": "MALE",
"id": "abc123",
"lastName": "Horseman",
"phone": "02071234567"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | Identity | false | none | none |
»» addresses | [IdentityAddress] | false | none | none |
»»» addressLine | [string] | false | none | none |
»»» buildingNumber | string | false | none | none |
»»» city | string | false | none | none |
»»» country | string | false | none | none |
»»» county | string | false | none | none |
»»» postalCode | string | false | none | none |
»»» streetName | string | false | none | none |
»»» type | AddressTypeEnum | false | none | none |
»» birthdate | string | false | none | none |
string | false | none | none | |
»» firstName | string | false | none | none |
»» fullName | string | false | none | none |
»» gender | string | false | none | none |
»» id | string | false | none | none |
»» lastName | string | false | none | none |
»» phone | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | BUSINESS |
type | CORRESPONDENCE |
type | DELIVERY_TO |
type | MAIL_TO |
type | PO_BOX |
type | POSTAL |
type | RESIDENTIAL |
type | STATEMENT |
type | UNKNOWN |
Payments
In order to create a payment for your user, you are required to obtain their consent to proceed. Once a Consent token is obtained, you can call the Payment endpoints to create single, scheduled, periodic or recurring payments.
Create Payment
Code samples
curl -X POST https://api.yapily.com/payments \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /payments
Used to send a request to the Institution to execute a payment that has been authorised by the user. This endpoint is used once a user has authorised a payment using Create Payment Authorisation Request with their bank. Make sure to use the Create Bulk Payment Request endpoint for executing bulk payments. The response of this endpoint is Payment Response.
Body parameter
{
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | PaymentRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "["
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "["
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | PaymentResponse | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» amountDetails | Amount | false | none | none |
»»» amount | integer(float) | false | none | none |
»»» currency | string | false | none | none |
»» bulkAmountSum | integer(decimal) | false | none | none |
»» chargeDetails | [ChargeDetails] | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» currencyOfTransfer | string | false | none | none |
»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»» exchangeRateExpiryDate | string | false | none | none |
»» finalPaymentAmount | Amount | false | none | none |
»» finalPaymentDateTime | string | false | none | none |
»» firstPaymentAmount | Amount | false | none | none |
»» firstPaymentDateTime | string | false | none | none |
»» frequency | FrequencyRequest | false | none | none |
»»» executionDay | integer | false | none | none |
»»» intervalMonth | integer | false | none | none |
»»» intervalWeek | integer | false | none | none |
»»» type | FrequencyEnumExtended | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» nextPaymentAmount | Amount | false | none | none |
»» nextPaymentDateTime | string | false | none | none |
»» numberOfPayments | integer | false | none | none |
»» payeeDetails | Payee | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» identification | string | false | none | none |
»»»» type | AccountIdentificationType | false | none | none |
»»» address | Address | false | none | none |
»»»» addressLine | [string] | false | none | none |
»»»» addressType | AddressTypeEnum | false | none | none |
»»»» buildingNumber | string | false | none | none |
»»»» country | string | false | none | none |
»»»» county | [string] | false | none | none |
»»»» department | string | false | none | none |
»»»» postCode | string | false | none | none |
»»»» streetName | string | false | none | none |
»»»» subDepartment | string | false | none | none |
»»»» townName | string | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantId | string | false | none | none |
»»» name | string | false | none | none |
»» payer | Payer | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» address | Address | false | none | none |
»»» name | string | false | none | none |
»» paymentIdempotencyId | string | false | none | none |
»» paymentLifecycleId | string | false | none | none |
»» previousPaymentAmount | Amount | false | none | none |
»» previousPaymentDateTime | string | false | none | none |
»» priority | string | false | none | none |
»» purpose | string | false | none | none |
»» reference | string | false | none | none |
»» scheduledPaymentDateTime | string | false | none | none |
»» scheduledPaymentType | string | false | none | none |
»» status | PaymentStatus | false | none | none |
»» statusDetails | PaymentStatusDetails | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusReason | string | false | none | none |
»»» statusReasonDescription | string | false | none | none |
»»» statusUpdateDate | string | false | none | none |
»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»» status | string | false | none | none |
»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»» lastUpdatedDateTime | string | false | none | none |
»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Create Bulk-Payment
Code samples
curl -X POST https://api.yapily.com/bulk-payments \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
POST /bulk-payments
Used to create a bulk payment request from a business account. See Create Bulk Payment Authorisation to learn how to obtain a Consent Token for a Bulk Payment.
Body parameter
{
"executionDateTime": "2020-10-17T00:00:00Z",
"originatorIdentificationNumber": "",
"payments": [
{
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "["
},
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | BulkPaymentRequest | true | The requestBody |
Example responses
201 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "["
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "["
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 201
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | PaymentResponse | false | none | none |
»» amount | integer(decimal) | false | none | none |
»» amountDetails | Amount | false | none | none |
»»» amount | integer(float) | false | none | none |
»»» currency | string | false | none | none |
»» bulkAmountSum | integer(decimal) | false | none | none |
»» chargeDetails | [ChargeDetails] | false | none | none |
»»» chargeAmount | Amount | false | none | none |
»»» chargeTo | string | false | none | none |
»»» chargeType | string | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» currencyOfTransfer | string | false | none | none |
»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»» exchangeRateExpiryDate | string | false | none | none |
»» finalPaymentAmount | Amount | false | none | none |
»» finalPaymentDateTime | string | false | none | none |
»» firstPaymentAmount | Amount | false | none | none |
»» firstPaymentDateTime | string | false | none | none |
»» frequency | FrequencyRequest | false | none | none |
»»» executionDay | integer | false | none | none |
»»» intervalMonth | integer | false | none | none |
»»» intervalWeek | integer | false | none | none |
»»» type | FrequencyEnumExtended | false | none | none |
»» id | string | false | none | none |
»» institutionConsentId | string | false | none | none |
»» nextPaymentAmount | Amount | false | none | none |
»» nextPaymentDateTime | string | false | none | none |
»» numberOfPayments | integer | false | none | none |
»» payeeDetails | Payee | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» identification | string | false | none | none |
»»»» type | AccountIdentificationType | false | none | none |
»»» address | Address | false | none | none |
»»»» addressLine | [string] | false | none | none |
»»»» addressType | AddressTypeEnum | false | none | none |
»»»» buildingNumber | string | false | none | none |
»»»» country | string | false | none | none |
»»»» county | [string] | false | none | none |
»»»» department | string | false | none | none |
»»»» postCode | string | false | none | none |
»»»» streetName | string | false | none | none |
»»»» subDepartment | string | false | none | none |
»»»» townName | string | false | none | none |
»»» merchantCategoryCode | string | false | none | none |
»»» merchantId | string | false | none | none |
»»» name | string | false | none | none |
»» payer | Payer | false | none | none |
»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»» address | Address | false | none | none |
»»» name | string | false | none | none |
»» paymentIdempotencyId | string | false | none | none |
»» paymentLifecycleId | string | false | none | none |
»» previousPaymentAmount | Amount | false | none | none |
»» previousPaymentDateTime | string | false | none | none |
»» priority | string | false | none | none |
»» purpose | string | false | none | none |
»» reference | string | false | none | none |
»» scheduledPaymentDateTime | string | false | none | none |
»» scheduledPaymentType | string | false | none | none |
»» status | PaymentStatus | false | none | none |
»» statusDetails | PaymentStatusDetails | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusReason | string | false | none | none |
»»» statusReasonDescription | string | false | none | none |
»»» statusUpdateDate | string | false | none | none |
»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»» status | string | false | none | none |
»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»» lastUpdatedDateTime | string | false | none | none |
»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Get Payment Details
Code samples
curl -X GET https://api.yapily.com/payments/{payment-id}/detail \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'psu-id: string' \
-H 'psu-corporate-id: string' \
-H 'psu-ip-address: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
GET /payments/{payment-id}/detail
Used to the get the payment details of a payment. The response of this endpoint is a list of Payment Responses.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
payment-id | path | string | true | The ID of the Payment |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
psu-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a personal account. |
psu-corporate-id | header | string | false | Conditional. Represents the user's login ID for the Institution to a business account. |
psu-ip-address | header | string | false | Conditional. The IP address of the PSU. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"payments": [
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": null,
"chargeTo": null,
"chargeType": null
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "["
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
null
],
"address": {},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
null
],
"address": {},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "[",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {}
}
}
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a PaymentResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | PaymentResponses | false | none | none |
»» payments | [PaymentResponse] | false | none | none |
»»» amount | integer(decimal) | false | none | none |
»»» amountDetails | Amount | false | none | none |
»»»» amount | integer(float) | false | none | none |
»»»» currency | string | false | none | none |
»»» bulkAmountSum | integer(decimal) | false | none | none |
»»» chargeDetails | [ChargeDetails] | false | none | none |
»»»» chargeAmount | Amount | false | none | none |
»»»» chargeTo | string | false | none | none |
»»»» chargeType | string | false | none | none |
»»» createdAt | string | false | none | none |
»»» currency | string | false | none | none |
»»» currencyOfTransfer | string | false | none | none |
»»» exchangeRate | ExchangeRateInformationResponse | false | none | none |
»»»» exchangeRateExpiryDate | string | false | none | none |
»»» finalPaymentAmount | Amount | false | none | none |
»»» finalPaymentDateTime | string | false | none | none |
»»» firstPaymentAmount | Amount | false | none | none |
»»» firstPaymentDateTime | string | false | none | none |
»»» frequency | FrequencyRequest | false | none | none |
»»»» executionDay | integer | false | none | none |
»»»» intervalMonth | integer | false | none | none |
»»»» intervalWeek | integer | false | none | none |
»»»» type | FrequencyEnumExtended | false | none | none |
»»» id | string | false | none | none |
»»» institutionConsentId | string | false | none | none |
»»» nextPaymentAmount | Amount | false | none | none |
»»» nextPaymentDateTime | string | false | none | none |
»»» numberOfPayments | integer | false | none | none |
»»» payeeDetails | Payee | false | none | none |
»»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»»» identification | string | false | none | none |
»»»»» type | AccountIdentificationType | false | none | none |
»»»» address | Address | false | none | none |
»»»»» addressLine | [string] | false | none | none |
»»»»» addressType | AddressTypeEnum | false | none | none |
»»»»» buildingNumber | string | false | none | none |
»»»»» country | string | false | none | none |
»»»»» county | [string] | false | none | none |
»»»»» department | string | false | none | none |
»»»»» postCode | string | false | none | none |
»»»»» streetName | string | false | none | none |
»»»»» subDepartment | string | false | none | none |
»»»»» townName | string | false | none | none |
»»»» merchantCategoryCode | string | false | none | none |
»»»» merchantId | string | false | none | none |
»»»» name | string | false | none | none |
»»» payer | Payer | false | none | none |
»»»» accountIdentifications | [AccountIdentification] | false | none | none |
»»»» address | Address | false | none | none |
»»»» name | string | false | none | none |
»»» paymentIdempotencyId | string | false | none | none |
»»» paymentLifecycleId | string | false | none | none |
»»» previousPaymentAmount | Amount | false | none | none |
»»» previousPaymentDateTime | string | false | none | none |
»»» priority | string | false | none | none |
»»» purpose | string | false | none | none |
»»» reference | string | false | none | none |
»»» scheduledPaymentDateTime | string | false | none | none |
»»» scheduledPaymentType | string | false | none | none |
»»» status | PaymentStatus | false | none | none |
»»» statusDetails | PaymentStatusDetails | false | none | none |
»»»» status | PaymentStatus | false | none | none |
»»»» statusReason | string | false | none | none |
»»»» statusReasonDescription | string | false | none | none |
»»»» statusUpdateDate | string | false | none | none |
»»»» multiAuthorisationStatus | MultiAuthorisation | false | none | none |
»»»»» status | string | false | none | none |
»»»»» numberOfAuthorisationRequired | integer | false | none | none |
»»»»» numberOfAuthorisationReceived | integer | false | none | none |
»»»»» lastUpdatedDateTime | string | false | none | none |
»»»»» expirationDateTime | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | DAILY |
type | EVERY_WORKING_DAY |
type | CALENDAR_DAY |
type | WEEKLY |
type | EVERY_TWO_WEEKS |
type | MONTHLY |
type | EVERY_TWO_MONTHS |
type | QUARTERLY |
type | SEMIANNUAL |
type | ANNUAL |
type | SORT_CODE |
type | ACCOUNT_NUMBER |
type | IBAN |
type | BBAN |
type | BIC |
type | PAN |
type | MASKED_PAN |
type | MSISDN |
type | BSB |
type | NCC |
type | ABA |
type | ABA_WIRE |
type | ABA_ACH |
type | |
addressType | BUSINESS |
addressType | CORRESPONDENCE |
addressType | DELIVERY_TO |
addressType | MAIL_TO |
addressType | PO_BOX |
addressType | POSTAL |
addressType | RESIDENTIAL |
addressType | STATEMENT |
addressType | UNKNOWN |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | COMPLETED_SETTLEMENT_IN_PROCESS |
status | EXPIRED |
status | UNKNOWN |
status | ACTIVE |
status | INACTIVE |
Create Payment Transfer
Code samples
curl -X PUT https://api.yapily.com/accounts/{account-id}/transfer \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'consent: string' \
-H 'Authorization: Basic B64(API_KEY:API_SECRET)'
PUT /accounts/{account-id}/transfer
Used to transfer funds between two accounts held by the same user with the same bank.
Body parameter
{
"accountId": "abc123",
"amount": 10,
"currency": "GBP",
"reference": "reference",
"transferReferenceId": "referenceId"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
account-id | path | string | true | The ID of the Account |
consent | header | string | true | The Consent-Token obtained from the original authorisation. |
raw | query | boolean | false | Raw parameter available for debugging purposes |
body | body | TransferRequest | true | The requestBody |
Example responses
200 Response
{
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"data": {
"balance": 10,
"createdAt": "2018-05-18T14:39:30.934Z",
"currency": "GBP",
"fromAccountId": "acc_1234567890abcdef",
"reference": "reference",
"status": "PENDING",
"toAccountId": "pot_9876543210zyxwvu"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A successful response, returning a TransferResponse. | Inline |
400 | Bad Request | Bad Request. Returned if the optional raw parameter is not a valid boolean or if the consent token is not sent |
ApiResponseError |
401 | Unauthorized | Either authentication credentials were not supplied, or they were invalid. | ApiResponseError |
403 | Forbidden | Not Found. The Consent-Token was not valid or has expired | ApiResponseError |
424 | Failed Dependency | Failed Dependency. Unable to complete request to the institution. | ApiResponseError |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» meta | ResponseMeta | false | none | An object containing a tracingId of the request |
»» tracingId | string | false | none | none |
» data | TransferResponse | false | none | none |
»» balance | integer(decimal) | false | none | none |
»» createdAt | string | false | none | none |
»» currency | string | false | none | none |
»» fromAccountId | string | false | none | none |
»» reference | string | false | none | none |
»» status | Status | false | none | none |
»» toAccountId | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | PENDING |
status | FAILED |
status | DECLINED |
status | COMPLETED |
status | UNKNOWN |
Schemas
AccessToken
{
"accessToken": "",
"authorisedAt": "",
"expiresIn": 400,
"refreshToken": "",
"scope": "",
"tokenType": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accessToken | string | false | none | none |
authorisedAt | string | false | none | none |
expiresIn | integer | false | none | none |
refreshToken | string | false | none | none |
scope | string | false | none | none |
tokenType | string | false | none | none |
Account
{
"accountBalances": [
{
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"creditLineIncluded": true,
"creditLines": [
{
"creditLineAmount": {
"amount": null,
"currency": null
},
"type": "AVAILABLE"
}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
],
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"accountNames": [
{
"name": "name"
}
],
"accountType": "CASH_TRADING",
"balance": 5313.4,
"currency": "GBP",
"description": "HSBC ADVANCE",
"details": "",
"id": "aadn1pyst5ka1o1x8gkklori09n60rtgcr5t",
"nickname": "Personal",
"type": "Personal - Current",
"usageType": "PERSONAL"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountBalances | [AccountBalance] | false | none | none |
accountIdentifications | [AccountIdentification] | false | none | none |
accountNames | [AccountName] | false | none | none |
accountType | AccountType | false | none | none |
balance | integer(decimal) | false | none | none |
currency | string | false | none | none |
description | string | false | none | none |
details | string | false | none | none |
id | string | false | none | none |
nickname | string | false | none | none |
type | string | false | none | none |
usageType | UsageType | false | none | none |
AccountAuthorisationRequest
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"accountRequest": {
"accountIdentifiers": {
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": null,
"type": null
}
},
"accountIdentifiersForBalance": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"accountIdentifiersForTransaction": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {}
}
],
"expiresAt": "2018-10-17T15:11:38Z",
"featureScope": [
"ACCOUNT_STATEMENT"
],
"psuCorporateId": "",
"psuId": "",
"transactionsFrom": "",
"transactionsTo": ""
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | AuthorisationRequest | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» accountRequest | AccountRequest | false | none | none |
AccountBalance
{
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"creditLineIncluded": true,
"creditLines": [
{
"creditLineAmount": {
"amount": 10,
"currency": "GBP"
},
"type": "AVAILABLE"
}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
balanceAmount | Amount | false | none | none |
creditLineIncluded | boolean | false | none | none |
creditLines | [CreditLine] | false | none | none |
dateTime | string | false | none | none |
type | AccountBalanceType | false | none | none |
AccountBalanceType
"CLOSING_AVAILABLE"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | CLOSING_AVAILABLE |
anonymous | CLOSING_BOOKED |
anonymous | CLOSING_CLEARED |
anonymous | EXPECTED |
anonymous | FORWARD_AVAILABLE |
anonymous | INFORMATION |
anonymous | INTERIM_AVAILABLE |
anonymous | INTERIM_BOOKED |
anonymous | INTERIM_CLEARED |
anonymous | OPENING_AVAILABLE |
anonymous | OPENING_BOOKED |
anonymous | OPENING_CLEARED |
anonymous | PREVIOUSLY_CLOSED_BOOKED |
anonymous | AUTHORISED |
anonymous | OTHER |
anonymous | UNKNOWN |
AccountIdentification
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
identification | string | false | none | none |
type | AccountIdentificationType | false | none | none |
AccountIdentificationType
"SORT_CODE"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SORT_CODE |
anonymous | ACCOUNT_NUMBER |
anonymous | IBAN |
anonymous | BBAN |
anonymous | BIC |
anonymous | PAN |
anonymous | MASKED_PAN |
anonymous | MSISDN |
anonymous | BSB |
anonymous | NCC |
anonymous | ABA |
anonymous | ABA_WIRE |
anonymous | ABA_ACH |
anonymous |
AccountInfo
{
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountId | string | false | none | none |
accountIdentification | AccountIdentification | false | none | none |
AccountName
{
"name": "name"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
AccountRequest
{
"accountIdentifiers": {
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
},
"accountIdentifiersForBalance": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
}
],
"accountIdentifiersForTransaction": [
{
"accountId": "500000000000000000000001",
"accountIdentification": {
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
}
],
"expiresAt": "2018-10-17T15:11:38Z",
"featureScope": [
"ACCOUNT_STATEMENT"
],
"psuCorporateId": "",
"psuId": "",
"transactionsFrom": "",
"transactionsTo": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountIdentifiers | AccountInfo | false | none | none |
accountIdentifiersForBalance | [AccountInfo] | false | none | none |
accountIdentifiersForTransaction | [AccountInfo] | false | none | none |
expiresAt | string | false | none | none |
featureScope | [string] | false | none | none |
psuCorporateId | string | false | none | none |
psuId | string | false | none | none |
transactionsFrom | string | false | none | none |
transactionsTo | string | false | none | none |
AccountStatement
{
"creationDateTime": "2017-02-01T00:00:00Z",
"endDateTime": "2017-02-01T00:00:00Z",
"id": "",
"startDateTime": "2017-02-01T00:00:00Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creationDateTime | string | false | none | none |
endDateTime | string | false | none | none |
id | string | false | none | none |
startDateTime | string | false | none | none |
AccountType
"CASH_TRADING"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | CASH_TRADING |
anonymous | CASH_INCOME |
anonymous | CASH_PAYMENT |
anonymous | CHARGE_CARD |
anonymous | CHARGES |
anonymous | COMMISSION |
anonymous | CREDIT_CARD |
anonymous | CURRENT |
anonymous | E_MONEY |
anonymous | LIMITED_LIQUIDITY_SAVINGS_ACCOUNT |
anonymous | LOAN |
anonymous | MARGINAL_LENDING |
anonymous | MONEY_MARKET |
anonymous | MORTGAGE |
anonymous | NON_RESIDENT_EXTERNAL |
anonymous | OTHER |
anonymous | OVERDRAFT |
anonymous | OVERNIGHT_DEPOSIT |
anonymous | PREPAID_CARD |
anonymous | SALARY |
anonymous | SAVINGS |
anonymous | SETTLEMENT |
anonymous | TAX |
anonymous | UNKNOWN |
Address
{
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressLine | [string] | false | none | none |
addressType | AddressTypeEnum | false | none | none |
buildingNumber | string | false | none | none |
country | string | false | none | none |
county | [string] | false | none | none |
department | string | false | none | none |
postCode | string | false | none | none |
streetName | string | false | none | none |
subDepartment | string | false | none | none |
townName | string | false | none | none |
AddressDetails
{
"addressLine": "123 Test Street, Test, AB1 2DC"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressLine | string | false | none | none |
AddressTypeEnum
"BUSINESS"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | BUSINESS |
anonymous | CORRESPONDENCE |
anonymous | DELIVERY_TO |
anonymous | MAIL_TO |
anonymous | PO_BOX |
anonymous | POSTAL |
anonymous | RESIDENTIAL |
anonymous | STATEMENT |
anonymous | UNKNOWN |
Amount
{
"amount": 10,
"currency": "GBP"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | integer(float) | false | none | none |
currency | string | false | none | none |
AmountFrequency
"DAILY"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | DAILY |
anonymous | WEEKLY |
anonymous | MONTHLY |
anonymous | YEARLY |
ApiError
{
"code": 401,
"institutionError": {
"errorMessage": "{\"Code\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Errors\":[{\"ErrorCode\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Field\":\"x-jws-signature\"}]}",
"httpStatusCode": 100
},
"message": "Full authentication is required to access this resource",
"source": "YAPILY",
"status": "BAD_REQUEST",
"tracingId": "e7b01315-cbc5-4d0b-91e8-4f77cb1a3253"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | integer | false | none | none |
institutionError | InstitutionError | false | none | none |
message | string | false | none | none |
source | string | false | none | none |
status | HttpStatus | false | none | none |
tracingId | string | false | none | none |
ApiListResponse
{
"data": "[]",
"links": [
{
"name": "",
"value": ""
}
],
"meta": {
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"raw": [
{
"duration": "",
"headers": [
{
"name": "",
"value": ""
}
],
"request": {
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
},
"result": "",
"resultCode": 100
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | string | false | none | An array of objects, depending on the endpoint |
links | [Map] | false | none | none |
meta | ResponseListMeta | false | none | An object containing a tracingId of the request |
raw | [RawResponse] | false | none | [An object returned when the raw parameter is sent] |
ApiResponse
{
"data": "{}",
"links": [
{
"name": "",
"value": ""
}
],
"meta": {
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
},
"raw": [
{
"duration": "",
"headers": [
{
"name": "",
"value": ""
}
],
"request": {
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
},
"result": "",
"resultCode": 100
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | string | false | none | An object, depending on the endpoint |
links | [Map] | false | none | none |
meta | ResponseMeta | false | none | An object containing a tracingId of the request |
raw | [RawResponse] | false | none | [An object returned when the raw parameter is sent] |
ApiResponseError
{
"error": {
"code": 401,
"institutionError": {
"errorMessage": "{\"Code\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Errors\":[{\"ErrorCode\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Field\":\"x-jws-signature\"}]}",
"httpStatusCode": 100
},
"message": "Full authentication is required to access this resource",
"source": "YAPILY",
"status": "BAD_REQUEST",
"tracingId": "e7b01315-cbc5-4d0b-91e8-4f77cb1a3253"
},
"monitoring": [
{
"lastTested": "",
"resourceEndpoint": "",
"span": "",
"status": "UP"
}
],
"raw": [
{
"duration": "",
"headers": [
{
"name": "",
"value": ""
}
],
"request": {
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
},
"result": "",
"resultCode": 100
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
error | ApiError | false | none | none |
monitoring | [MonitoringEndpointStatus] | false | none | none |
raw | [RawResponse] | false | none | [An object returned when the raw parameter is sent] |
Application
{
"active": true,
"authCallbacks": [
"https://test.example.com/callback"
],
"created": "2020-09-09T10:31:53.968+0000",
"institutions": [
{
"countries": [
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
],
"credentialsType": "OAUTH1",
"environmentType": "SANDBOX",
"features": [
"INITIATE_PRE_AUTHORISATION"
],
"fullName": "Yapily Mock Bank",
"id": "yapily-mock",
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "Yapily Mock"
}
],
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "My App 6238",
"updated": "2020-09-09T10:31:53.968+0000",
"uuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
active | boolean | false | none | none |
authCallbacks | [string] | false | none | none |
created | string | false | none | none |
institutions | [Institution] | false | none | none |
media | [Media] | false | none | none |
name | string | false | none | none |
updated | string | false | none | none |
uuid | string | false | none | none |
ApplicationCallback
{
"authCallbackURL": "authCallbackURL"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
authCallbackURL | string | false | none | none |
AuthorisationRequest
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationUserId | string | false | none | none |
callback | string | false | none | Max length 4096. |
forwardParameters | [string] | false | none | none |
institutionId | string | false | none | none |
oneTimeToken | boolean | false | none | none |
userUuid | string | false | none | none |
AuthorisationRequestResponse
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» authorisationUrl | string | false | none | none |
» qrCodeUrl | string | false | none | none |
AuthorisationStatus
"AWAITING_AUTHORIZATION"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | AWAITING_AUTHORIZATION |
anonymous | AWAITING_FURTHER_AUTHORIZATION |
anonymous | AWAITING_RE_AUTHORIZATION |
anonymous | AUTHORIZED |
anonymous | CONSUMED |
anonymous | REJECTED |
anonymous | REVOKED |
anonymous | FAILED |
anonymous | EXPIRED |
anonymous | UNKNOWN |
anonymous | INVALID |
anonymous | AWAITING_PRE_AUTHORIZATION |
anonymous | PRE_AUTHORIZED |
Balance
{
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"type": "CLOSING_AVAILABLE"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
balanceAmount | Amount | false | none | none |
type | AccountBalanceType | false | none | none |
Balances
{
"balances": [
{
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"creditLineIncluded": true,
"creditLines": [
{
"creditLineAmount": {
"amount": null,
"currency": null
},
"type": "AVAILABLE"
}
],
"dateTime": "2020-09-21T16:35:55Z",
"type": "CLOSING_AVAILABLE"
}
],
"mainBalanceAmount": {
"amount": 10,
"currency": "GBP"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
balances | [AccountBalance] | false | none | none |
mainBalanceAmount | Amount | false | none | none |
BulkPaymentAuthorisationRequest
{
"applicationUserId": "bojack@8tees.com",
"callback": "https://test.example.com/callback",
"forwardParameters": [
""
],
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"paymentRequest": {
"executionDateTime": "2020-10-17T00:00:00Z",
"originatorIdentificationNumber": "",
"payments": [
{
"amount": {},
"contextType": "[",
"internationalPayment": {},
"payee": {},
"payer": {},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "["
}
]
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | AuthorisationRequest | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» applicationUserId | string | false | none | none |
» callback | string | false | none | Max Length 4096. |
» forwardParameters | [string] | false | none | none |
» institutionId | string | false | none | none |
» oneTimeToken | boolean | false | none | none |
» paymentRequest | BulkPaymentRequest | false | none | none |
» userUuid | string | false | none | none |
BulkPaymentRequest
{
"executionDateTime": "2020-10-17T00:00:00Z",
"originatorIdentificationNumber": "",
"payments": [
{
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "["
},
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
executionDateTime | string | false | none | none |
originatorIdentificationNumber | string | false | none | none |
payments | [PaymentRequest] | false | none | none |
BulkUserDelete
{
"id": "",
"links": [
{
"name": "",
"value": ""
}
],
"startedAt": "",
"status": "IN_PROGRESS"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
links | [Map] | false | none | none |
startedAt | string | false | none | none |
status | DeleteTaskStatus | false | none | none |
BulkUserDeleteDetails
{
"invalidApplicationUserIds": "",
"invalidUserUuids": "",
"users": [
{
"creationDate": "2019-05-10T17:36:49.269+0000",
"deleteStatus": "SUCCESS",
"id": "c50844cb-1498-44aa-90d1-62eae8cdb3f6",
"userConsents": [
{
"creationDate": "2019-05-10T16:45:43.566+0000",
"deleteStatus": "SUCCESS",
"id": "a71fd46f-4144-478e-9a72-dd0d7a1158ab",
"institutionConsentId": "aac-1cce1cfc-1ab2-4ed6-8062-a0fd6c5c2122",
"institutionId": "yapily-mock"
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
invalidApplicationUserIds | [string] | false | none | none |
invalidUserUuids | [string] | false | none | none |
users | [UserDeleteResponse] | false | none | [An object returned from a successful user delete request] |
Categorisation
{
"category": {
"id": "",
"label": ""
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
category | Category | false | none | none |
Category
{
"id": "",
"label": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
label | string | false | none | none |
ChargeDetails
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
chargeAmount | Amount | false | none | none |
chargeTo | string | false | none | none |
chargeType | string | false | none | none |
Consent
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationUserId | string | false | none | none |
authorizedAt | string | false | none | none |
consentToken | string | false | none | none |
createdAt | string | false | none | none |
expiresAt | string | false | none | none |
featureScope | [FeatureEnum] | false | none | none |
id | string | false | none | none |
institutionId | string | false | none | none |
referenceId | string | false | none | none |
state | string | false | none | none |
status | AuthorisationStatus | false | none | none |
timeToExpire | string | false | none | none |
transactionFrom | string | false | none | none |
transactionTo | string | false | none | none |
userUuid | string | false | none | none |
ConsentAuthCodeRequest
{
"authCode": "fg67Hj",
"authState": "f3daec98152e420297cebdd301db6dde"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
authCode | string | true | none | none |
authState | string | true | none | none |
ConsentDeleteResponse
{
"creationDate": "2019-05-10T16:45:43.566+0000",
"deleteStatus": "SUCCESS",
"id": "a71fd46f-4144-478e-9a72-dd0d7a1158ab",
"institutionConsentId": "aac-1cce1cfc-1ab2-4ed6-8062-a0fd6c5c2122",
"institutionId": "yapily-mock"
}
An object returned from a UserDeleteResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creationDate | string | false | none | none |
deleteStatus | DeleteStatusEnum | false | none | none |
id | string | false | none | none |
institutionConsentId | string | false | none | none |
institutionId | string | false | none | none |
ConsentRedirectRequest
{
"code": "",
"error": "",
"state": "",
"twofoldRedirect": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
error | string | false | none | none |
state | string | false | none | none |
twofoldRedirect | boolean | false | none | none |
Country
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
countryCode2 | string | false | none | none |
displayName | string | false | none | none |
CreateConsentAccessToken
{
"accessToken": "",
"institutionId": "yapily-mock",
"refreshToken": "",
"scope": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accessToken | string | true | none | none |
institutionId | string | true | none | none |
refreshToken | string | false | none | none |
scope | string | false | none | none |
CredentialsType
"OAUTH1"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | OAUTH1 |
anonymous | OAUTH2 |
anonymous | OAUTH2_NOSECRET |
anonymous | OAUTH2_SIGNATURE |
anonymous | OPEN_BANKING_UK_MANUAL |
anonymous | OPEN_BANKING_UK_AUTO |
anonymous | OPEN_BANKING_IBM |
anonymous | OPEN_BANKING_AUTO |
anonymous | OPEN_BANKING_AUTO_EMAIL |
anonymous | OPEN_BANKING_MANUAL |
anonymous | API_KEY |
anonymous | OPEN_BANKING_NO_KEY |
anonymous | OPEN_BANKING_NO_TRANSPORT |
anonymous | TOKEN_IO |
CreditLine
{
"creditLineAmount": {
"amount": 10,
"currency": "GBP"
},
"type": "AVAILABLE"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creditLineAmount | Amount | false | none | none |
type | CreditLineType | false | none | none |
CreditLineType
"AVAILABLE"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | AVAILABLE |
anonymous | CREDIT |
anonymous | EMERGENCY |
anonymous | PRE_AGREED |
anonymous | TEMPORARY |
anonymous | OTHER |
anonymous | UNKNOWN |
CurrencyExchange
{
"exchangeRate": 1.34,
"sourceCurrency": "GBP",
"targetCurrency": "EUR",
"unitCurrency": "GBP"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
exchangeRate | integer | false | none | none |
sourceCurrency | string | false | none | none |
targetCurrency | string | false | none | none |
unitCurrency | string | false | none | none |
DeleteStatusEnum
"SUCCESS"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SUCCESS |
anonymous | FAILED |
DeleteTaskStatus
"IN_PROGRESS"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | IN_PROGRESS |
anonymous | COMPLETED |
anonymous | FAILED |
DeregistrationResult
{
"applicationId": "",
"institutionId": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationId | string | false | none | none |
institutionId | string | false | none | none |
Enrichment
{
"categorisation": {
"category": {
"id": "",
"label": ""
}
},
"transactionHash": {
"hash": "b0781fd71caa48c75039ec01c0ffb011.1"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
categorisation | Categorisation | false | none | none |
transactionHash | TransactionHash | false | none | none |
EnvironmentType
"SANDBOX"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SANDBOX |
anonymous | MOCK |
anonymous | LIVE |
ExchangeRateInformationResponse
{
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
exchangeRateExpiryDate | string | false | none | none |
FeatureDetails
{
"documentationUrl": "https://docs.yapily.com/#757fde49-a294-bbff-d5f9-2c21c5f57be0",
"endpoint": "https://api.yapily.com/account/{account-id}",
"feature": "INITIATE_PRE_AUTHORISATION"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
documentationUrl | string | false | none | none |
endpoint | string | false | none | none |
feature | FeatureEnum | false | none | none |
FeatureEnum
"INITIATE_PRE_AUTHORISATION"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | INITIATE_PRE_AUTHORISATION |
anonymous | INITIATE_ACCOUNT_REQUEST |
anonymous | ACCOUNT_REQUEST_DETAILS |
anonymous | ACCOUNTS |
anonymous | ACCOUNT |
anonymous | ACCOUNT_TRANSACTIONS |
anonymous | ACCOUNT_STATEMENTS |
anonymous | ACCOUNT_STATEMENT |
anonymous | ACCOUNT_STATEMENT_FILE |
anonymous | ACCOUNT_SCHEDULED_PAYMENTS |
anonymous | ACCOUNT_DIRECT_DEBITS |
anonymous | ACCOUNT_PERIODIC_PAYMENTS |
anonymous | ACCOUNT_TRANSACTIONS_WITH_MERCHANT |
anonymous | IDENTITY |
anonymous | ACCOUNTS_WITHOUT_BALANCE |
anonymous | ACCOUNT_WITHOUT_BALANCE |
anonymous | ACCOUNT_BALANCES |
anonymous | INITIATE_SINGLE_PAYMENT_SORTCODE |
anonymous | EXISTING_PAYMENT_INITIATION_DETAILS |
anonymous | CREATE_SINGLE_PAYMENT_SORTCODE |
anonymous | EXISTING_PAYMENTS_DETAILS |
anonymous | INITIATE_DOMESTIC_SINGLE_PAYMENT |
anonymous | CREATE_DOMESTIC_SINGLE_PAYMENT |
anonymous | INITIATE_DOMESTIC_SINGLE_INSTANT_PAYMENT |
anonymous | CREATE_DOMESTIC_SINGLE_INSTANT_PAYMENT |
anonymous | INITIATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT |
anonymous | CREATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT |
anonymous | INITIATE_DOMESTIC_SCHEDULED_PAYMENT |
anonymous | CREATE_DOMESTIC_SCHEDULED_PAYMENT |
anonymous | INITIATE_DOMESTIC_PERIODIC_PAYMENT |
anonymous | CREATE_DOMESTIC_PERIODIC_PAYMENT |
anonymous | PERIODIC_PAYMENT_FREQUENCY_EXTENDED |
anonymous | INITIATE_INTERNATIONAL_VARIABLE_RECURRING_PAYMENT |
anonymous | CREATE_INTERNATIONAL_VARIABLE_RECURRING_PAYMENT |
anonymous | INITIATE_INTERNATIONAL_SCHEDULED_PAYMENT |
anonymous | CREATE_INTERNATIONAL_SCHEDULED_PAYMENT |
anonymous | INITIATE_INTERNATIONAL_PERIODIC_PAYMENT |
anonymous | CREATE_INTERNATIONAL_PERIODIC_PAYMENT |
anonymous | INITIATE_INTERNATIONAL_SINGLE_PAYMENT |
anonymous | CREATE_INTERNATIONAL_SINGLE_PAYMENT |
anonymous | INITIATE_BULK_PAYMENT |
anonymous | CREATE_BULK_PAYMENT |
anonymous | TRANSFER |
anonymous | OPEN_DATA_PERSONAL_CURRENT_ACCOUNTS |
anonymous | OPEN_DATA_ATMS |
anonymous | READ_DOMESTIC_SINGLE_REFUND |
anonymous | READ_DOMESTIC_SCHEDULED_REFUND |
anonymous | READ_DOMESTIC_PERIODIC_PAYMENT_REFUND |
anonymous | READ_INTERNATIONAL_SINGLE_REFUND |
anonymous | READ_INTERNATIONAL_SCHEDULED_REFUND |
FeatureStatusEnum
"UP"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | UP |
anonymous | DOWN |
anonymous | WARNING |
anonymous | UNKNOWN |
anonymous | EXPIRED |
FilterAndSort
{
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
}
An object for filter and sort information
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
before | string | false | none | none |
cursor | string | false | none | none |
from | string | false | none | none |
limit | integer | false | none | none |
offset | integer | false | none | none |
sort | SortEnum | false | none | Valid options for the sort parameter |
FrequencyEnumExtended
"DAILY"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | DAILY |
anonymous | EVERY_WORKING_DAY |
anonymous | CALENDAR_DAY |
anonymous | WEEKLY |
anonymous | EVERY_TWO_WEEKS |
anonymous | MONTHLY |
anonymous | EVERY_TWO_MONTHS |
anonymous | QUARTERLY |
anonymous | SEMIANNUAL |
anonymous | ANNUAL |
FrequencyRequest
{
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
executionDay | integer | false | none | none |
intervalMonth | integer | false | none | none |
intervalWeek | integer | false | none | none |
type | FrequencyEnumExtended | false | none | none |
HttpStatus
"BAD_REQUEST"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | BAD_REQUEST |
anonymous | UNAUTHORIZED |
anonymous | PAYMENT_REQUIRED |
anonymous | FORBIDDEN |
anonymous | NOT_FOUND |
anonymous | METHOD_NOT_ALLOWED |
anonymous | NOT_ACCEPTABLE |
anonymous | PROXY_AUTHENTICATION_REQUIRED |
anonymous | REQUEST_TIMEOUT |
anonymous | CONFLICT |
anonymous | GONE |
anonymous | LENGTH_REQUIRED |
anonymous | PRECONDITION_FAILED |
anonymous | PAYLOAD_TOO_LARGE |
anonymous | URI_TOO_LONG |
anonymous | UNSUPPORTED_MEDIA_TYPE |
anonymous | REQUESTED_RANGE_NOT_SATISFIABLE |
anonymous | EXPECTATION_FAILED |
anonymous | I_AM_A_TEAPOT |
anonymous | INSUFFICIENT_SPACE_ON_RESOURCE |
anonymous | METHOD_FAILURE |
anonymous | DESTINATION_LOCKED |
anonymous | UNPROCESSABLE_ENTITY |
anonymous | LOCKED |
anonymous | FAILED_DEPENDENCY |
anonymous | UPGRADE_REQUIRED |
anonymous | PRECONDITION_REQUIRED |
anonymous | TOO_MANY_REQUESTS |
anonymous | REQUEST_HEADER_FIELDS_TOO_LARGE |
anonymous | UNAVAILABLE_FOR_LEGAL_REASONS |
anonymous | INTERNAL_SERVER_ERROR |
anonymous | NOT_IMPLEMENTED |
anonymous | BAD_GATEWAY |
anonymous | SERVICE_UNAVAILABLE |
anonymous | GATEWAY_TIMEOUT |
anonymous | HTTP_VERSION_NOT_SUPPORTED |
anonymous | VARIANT_ALSO_NEGOTIATES |
anonymous | INSUFFICIENT_STORAGE |
anonymous | LOOP_DETECTED |
anonymous | BANDWIDTH_LIMIT_EXCEEDED |
anonymous | NOT_EXTENDED |
anonymous | NETWORK_AUTHENTICATION_REQUIRED |
Identity
{
"addresses": [
{
"addressLine": "",
"buildingNumber": "123",
"city": "London",
"country": "United Kingdom",
"county": "London",
"postalCode": "A12 3BC",
"streetName": "123 Test Street",
"type": "BUSINESS"
}
],
"birthdate": "1970-01-01",
"email": "bojack@horsingaround.com",
"firstName": "Bojack",
"fullName": "Bojack Horseman",
"gender": "MALE",
"id": "abc123",
"lastName": "Horseman",
"phone": "02071234567"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addresses | [IdentityAddress] | false | none | none |
birthdate | string | false | none | none |
string | false | none | none | |
firstName | string | false | none | none |
fullName | string | false | none | none |
gender | string | false | none | none |
id | string | false | none | none |
lastName | string | false | none | none |
phone | string | false | none | none |
IdentityAddress
{
"addressLine": "",
"buildingNumber": "123",
"city": "London",
"country": "United Kingdom",
"county": "London",
"postalCode": "A12 3BC",
"streetName": "123 Test Street",
"type": "BUSINESS"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressLine | [string] | false | none | none |
buildingNumber | string | false | none | none |
city | string | false | none | none |
country | string | false | none | none |
county | string | false | none | none |
postalCode | string | false | none | none |
streetName | string | false | none | none |
type | AddressTypeEnum | false | none | none |
Institution
{
"countries": [
{
"countryCode2": "GB",
"displayName": "United Kingdom"
}
],
"credentialsType": "OAUTH1",
"environmentType": "SANDBOX",
"features": [
"INITIATE_PRE_AUTHORISATION"
],
"fullName": "Yapily Mock Bank",
"id": "yapily-mock",
"media": [
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
],
"name": "Yapily Mock"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
countries | [Country] | false | none | none |
credentialsType | CredentialsType | false | none | none |
environmentType | EnvironmentType | false | none | none |
features | [FeatureEnum] | false | none | none |
fullName | string | false | none | none |
id | string | false | none | none |
media | [Media] | false | none | none |
name | string | false | none | none |
InstitutionConsent
{
"institutionId": "yapily-mock"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
institutionId | string | false | none | none |
InstitutionError
{
"errorMessage": "{\"Code\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Errors\":[{\"ErrorCode\":\"UK.OBIE.Signature.Malformed\",\"Message\":\"invalid_iss_claim: Invalid iss claim. Got org_id/statement_id. Expected 001580000103UArAAM/rapTYmFWJcXfdo2EvksDUx\",\"Field\":\"x-jws-signature\"}]}",
"httpStatusCode": 100
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errorMessage | string | false | none | none |
httpStatusCode | integer | false | none | none |
InstitutionTypeEnum
"SANDBOX"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | SANDBOX |
anonymous | MOCK |
anonymous | LIVE |
InternationalPaymentRequest
{
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
IsoBankTransactionCode
{
"domainCode": {
"code": "",
"name": ""
},
"familyCode": {
"code": "",
"name": ""
},
"subFamilyCode": {
"code": "",
"name": ""
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
domainCode | IsoCodeDetails | false | none | none |
familyCode | IsoCodeDetails | false | none | none |
subFamilyCode | IsoCodeDetails | false | none | none |
IsoCodeDetails
{
"code": "",
"name": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
name | string | false | none | none |
Map
{
"name": "",
"value": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
value | string | false | none | none |
Media
{
"source": "https://images.yapily.com/image/5e81571a-d83e-43ff-be2e-d1fe3b2ef5a0?size=0",
"type": "icon"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
source | string | false | none | none |
type | string | false | none | none |
Merchant
{
"merchantCategoryCode": "5462",
"merchantName": "London Luxury Baker"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
merchantCategoryCode | string | false | none | none |
merchantName | string | false | none | none |
MonitoringEndpointStatus
{
"lastTested": "",
"resourceEndpoint": "",
"span": "",
"status": "UP"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
lastTested | string | false | none | none |
resourceEndpoint | string | false | none | none |
span | string | false | none | none |
status | FeatureStatusEnum | false | none | none |
NewApplicationUser
{
"applicationUserId": "bojack@9tees.com",
"referenceId": "myuserreference"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationUserId | string | false | none | none |
referenceId | string | false | none | none |
Next
{
"before": "",
"cursor": "",
"from": "",
"limit": 100
}
An object for filter and sort information
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
before | string | false | none | none |
cursor | string | false | none | none |
from | string | false | none | none |
limit | integer | false | none | none |
OneTimeTokenRequest
{
"oneTimeToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6ImJidmEtc2FuZGJveCIsIlVVSUQiOiJmMzNmNGU4ZC1jMDQ0LTQ2YTktOTlkMC0wYmRlMzIyYTJjOTIifQ.4Qv3NJI6av2nKi1U3aNmm71cIwJ3TvRsIlYDafQUVv_Khy_e-8oEpV_BoP4V1CII12oT-Yq4cPveHILz8BOwjg"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
oneTimeToken | string | false | none | none |
Pagination
{
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
}
An object containing pagination information in ResponseListMeta
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
next | Next | false | none | An object for filter and sort information |
self | FilterAndSort | false | none | An object for filter and sort information |
totalCount | integer | false | none | none |
Payee
{
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountIdentifications | [AccountIdentification] | false | none | none |
address | Address | false | none | none |
merchantCategoryCode | string | false | none | none |
merchantId | string | false | none | none |
name | string | false | none | none |
Payer
{
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountIdentifications | [AccountIdentification] | false | none | none |
address | Address | false | none | none |
name | string | false | none | none |
PaymentAuthorisationRequest
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"allowOverdraft": true,
"expiresAt": "2020-08-18T16:24:22.316Z",
"maxAmountPerRequest": 10,
"paymentRequest": {
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{}
],
"address": {
"addressLine": null,
"addressType": null,
"buildingNumber": null,
"country": null,
"county": null,
"department": null,
"postCode": null,
"streetName": null,
"subDepartment": null,
"townName": null
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": null,
"currency": null
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": null,
"intervalMonth": null,
"intervalWeek": null,
"type": null
},
"nextPaymentAmount": {
"amount": null,
"currency": null
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
},
"startsAt": "2020-08-18T16:24:22.316Z",
"totalMaxAmount": 10,
"totalMaxAmountFrequency": "DAILY"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | AuthorisationRequest | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» allowOverdraft | boolean | false | none | none |
» expiresAt | string | false | none | none |
» maxAmountPerRequest | integer(decimal) | false | none | none |
» paymentRequest | PaymentRequest | false | none | none |
» startsAt | string | false | none | none |
» totalMaxAmount | integer(decimal) | false | none | none |
» totalMaxAmountFrequency | AmountFrequency | false | none | none |
PaymentAuthorisationRequestResponse
{
"applicationUserId": "bojack@8tees.com",
"authorizedAt": "2020-09-13T15:57:46.450Z",
"consentToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJJTlNUSVRVVElPTiI6InlhcGlseS1tb2NrIiwiQ09OU0VOVCI6ImYxZTNiMDMxLWY1YmItNDZhNi04NGIzLWE1NTkwOWE2MzcyYSIsIkFQUExJQ0FUSU9OX1VTRVJfSUQiOiJib2phY2tAOHRlZXMuY29tIiwiVVNFUiI6ImZjNjVmYjZhLWI5OTktNDI3OC05NDNhLWU0ODY0MmE1OGM0OCJ9.TTP6eI5pxOQd-Gj7uUFRgoCwQRKA_i1qHaJCyRnV2lLO1icqtc6PlksXNlPbgZjfp5PjNFl7HVlUNJAOv08mxQ",
"createdAt": "2020-09-13T15:57:46.450Z",
"expiresAt": "2020-09-13T15:57:46.450Z",
"featureScope": [
"INITIATE_PRE_AUTHORISATION"
],
"id": "f1e3b031-f5bb-46a6-84b3-a55909a6372a",
"institutionId": "yapily-mock",
"referenceId": "myuserreference",
"state": "754f6022f47548b99284f3f1993e050e",
"status": "AWAITING_AUTHORIZATION",
"timeToExpire": "PT-375H-40M-21.397S",
"transactionFrom": "2020-09-13T15:57:46.450Z",
"transactionTo": "2020-09-13T15:57:46.450Z",
"userUuid": "fc65fb6a-b999-4278-943a-e48642a58c48",
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"charges": [
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"exchangeRateInformation": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | Consent | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» authorisationUrl | string | false | none | none |
» charges | [ChargeDetails] | false | none | none |
» exchangeRateInformation | ExchangeRateInformationResponse | false | none | none |
» qrCodeUrl | string | false | none | none |
PaymentContextType
"BILL"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | BILL |
anonymous | GOODS |
anonymous | SERVICES |
anonymous | OTHER |
anonymous | PERSON_TO_PERSON |
PaymentRequest
{
"amount": {
"amount": 10,
"currency": "GBP"
},
"contextType": "BILL",
"internationalPayment": {
"id": "277ca9eb968948d4b5f8bfa4b6b6b16f"
},
"payee": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentDateTime": "2019-12-26T14:42:53Z",
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"periodicPayment": {
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
},
"psuCorporateId": "",
"psuId": "",
"readRefundAccount": true,
"reference": "REFERENCE",
"type": "DOMESTIC_PAYMENT"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | Amount | false | none | none |
contextType | PaymentContextType | false | none | none |
internationalPayment | InternationalPaymentRequest | false | none | none |
payee | Payee | false | none | none |
payer | Payer | false | none | none |
paymentDateTime | string | false | none | none |
paymentIdempotencyId | string | false | none | none |
periodicPayment | PeriodicPaymentRequest | false | none | none |
psuCorporateId | string | false | none | none |
psuId | string | false | none | none |
readRefundAccount | boolean | false | none | none |
reference | string | false | none | none |
type | PaymentType | false | none | none |
PaymentResponse
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": "VALUE_OF_IDENTIFICATION",
"type": "SORT_CODE"
}
],
"address": {
"addressLine": "",
"addressType": "BUSINESS",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | integer(decimal) | false | none | none |
amountDetails | Amount | false | none | none |
bulkAmountSum | integer(decimal) | false | none | none |
chargeDetails | [ChargeDetails] | false | none | none |
createdAt | string | false | none | none |
currency | string | false | none | none |
currencyOfTransfer | string | false | none | none |
exchangeRate | ExchangeRateInformationResponse | false | none | none |
finalPaymentAmount | Amount | false | none | none |
finalPaymentDateTime | string | false | none | none |
firstPaymentAmount | Amount | false | none | none |
firstPaymentDateTime | string | false | none | none |
frequency | FrequencyRequest | false | none | none |
id | string | false | none | none |
institutionConsentId | string | false | none | none |
nextPaymentAmount | Amount | false | none | none |
nextPaymentDateTime | string | false | none | none |
numberOfPayments | integer | false | none | none |
payeeDetails | Payee | false | none | none |
payer | Payer | false | none | none |
paymentIdempotencyId | string | false | none | none |
paymentLifecycleId | string | false | none | none |
previousPaymentAmount | Amount | false | none | none |
previousPaymentDateTime | string | false | none | none |
priority | string | false | none | none |
purpose | string | false | none | none |
reference | string | false | none | none |
scheduledPaymentDateTime | string | false | none | none |
scheduledPaymentType | string | false | none | none |
status | PaymentStatus | false | none | none |
statusDetails | PaymentStatusDetails | false | none | none |
PaymentResponses
{
"payments": [
{
"amount": "10.00",
"amountDetails": {
"amount": 10,
"currency": "GBP"
},
"bulkAmountSum": 100,
"chargeDetails": [
{
"chargeAmount": {
"amount": null,
"currency": null
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"createdAt": "2019-09-26T15:38:33.401Z",
"currency": "GBP",
"currencyOfTransfer": "",
"exchangeRate": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "2019-09-26T15:38:33.401Z",
"firstPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"firstPaymentDateTime": "2019-09-26T15:38:33.401Z",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"id": "pv3-c8eece27-eb1a-4c27-a13c-2f805703dab2",
"institutionConsentId": "sdp-1-aa9d0941-43ff-4abb-8129-4d56b620b8ee",
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2019-09-26T15:38:33.401Z",
"numberOfPayments": 10,
"payeeDetails": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"merchantCategoryCode": "5462",
"merchantId": "12345678",
"name": "Bojack Horseman"
},
"payer": {
"accountIdentifications": [
{
"identification": null,
"type": null
}
],
"address": {
"addressLine": "",
"addressType": "[",
"buildingNumber": "123",
"country": "United Kingdom",
"county": "London",
"department": "",
"postCode": "A12 3BC",
"streetName": "123 Test Street",
"subDepartment": "",
"townName": "London"
},
"name": "Bojack Horseman"
},
"paymentIdempotencyId": "1d54cf71bfe44b1b8e67247aed455d96",
"paymentLifecycleId": "69d554dea74276e8b1b44efb17fc45d1",
"previousPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"previousPaymentDateTime": "",
"priority": "",
"purpose": "",
"reference": "REFERENCE",
"scheduledPaymentDateTime": "",
"scheduledPaymentType": "",
"status": "PENDING",
"statusDetails": {
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
payments | [PaymentResponse] | false | none | none |
PaymentStatus
"PENDING"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PENDING |
anonymous | FAILED |
anonymous | DECLINED |
anonymous | COMPLETED |
anonymous | COMPLETED_SETTLEMENT_IN_PROCESS |
anonymous | EXPIRED |
anonymous | UNKNOWN |
anonymous | ACTIVE |
anonymous | INACTIVE |
PaymentStatusDetails
{
"status": "PENDING",
"statusReason": "",
"statusReasonDescription": "",
"statusUpdateDate": "",
"multiAuthorisationStatus": {
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | PaymentStatus | false | none | none |
statusReason | string | false | none | none |
statusReasonDescription | string | false | none | none |
statusUpdateDate | string | false | none | none |
multiAuthorisationStatus | MultiAuthorisation | false | none | none |
MultiAuthorisation
{
"status": "",
"numberOfAuthorisationRequired": 1,
"numberOfAuthorisationReceived": 1,
"lastUpdatedDateTime": "",
"expirationDateTime": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | string | false | none | none |
numberOfAuthorisationRequired | integer | false | none | none |
numberOfAuthorisationReceived | integer | false | none | none |
lastUpdatedDateTime | string | false | none | none |
expirationDateTime | string | false | none | none |
PaymentType
"DOMESTIC_PAYMENT"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | DOMESTIC_PAYMENT |
anonymous | DOMESTIC_INSTANT_PAYMENT |
anonymous | DOMESTIC_VARIABLE_RECURRING_PAYMENT |
anonymous | DOMESTIC_SCHEDULED_PAYMENT |
anonymous | DOMESTIC_PERIODIC_PAYMENT |
anonymous | INTERNATIONAL_PAYMENT |
anonymous | INTERNATIONAL_SCHEDULED_PAYMENT |
anonymous | INTERNATIONAL_PERIODIC_PAYMENT |
anonymous | BULK_PAYMENT |
PeriodicPaymentRequest
{
"finalPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"finalPaymentDateTime": "",
"frequency": {
"executionDay": 1,
"intervalMonth": 1,
"intervalWeek": 1,
"type": "DAILY"
},
"nextPaymentAmount": {
"amount": 10,
"currency": "GBP"
},
"nextPaymentDateTime": "2018-01-10T00:00:00Z",
"numberOfPayments": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
finalPaymentAmount | Amount | false | none | none |
finalPaymentDateTime | string | false | none | none |
frequency | FrequencyRequest | false | none | none |
nextPaymentAmount | Amount | false | none | none |
nextPaymentDateTime | string | false | none | none |
numberOfPayments | integer | false | none | none |
PreAuthorisationRequest
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"scope": "AIS"
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | AuthorisationRequest | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» scope | PreAuthScope | true | none | none |
PreAuthScope
"AIS"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | AIS |
anonymous | PIS |
ProprietaryBankTransactionCode
{
"code": "EXCHANGE",
"issuer": "Revolut"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | string | false | none | none |
issuer | string | false | none | none |
RawRequest
{
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
method | string | false | none | none |
requestInstant | string | false | none | none |
templateUri | string | false | none | none |
url | string | false | none | none |
RawResponse
{
"duration": "",
"headers": [
{
"name": "",
"value": ""
}
],
"request": {
"method": "",
"requestInstant": "",
"templateUri": "",
"url": ""
},
"result": "",
"resultCode": 100
}
An object returned when the raw parameter is sent
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
duration | string | false | none | none |
headers | [Map] | false | none | none |
request | RawRequest | false | none | none |
result | string | false | none | none |
resultCode | integer | false | none | none |
RedirectRequestResponse
{
"authorisationUrl": "https://apis-i.redsys.es:20443/psd2/xs2a/api-oauth-xs2a/services/rest/unicajabanco/authorize?client_id=PSDES-BDE-927459&response_type=code&state=0485a5e6263442f4ac8591ea63ced49d&code_challenge=p9NWLpyT0kvGrDkXeQA6Msb949lqacoI9zrUN6nBang&code_challenge_method=S256&scope=AIS+PIS&redirect_uri=http%3A%2F%2Flocal-auth.yapily.com%3A8082%2F",
"charges": [
{
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
}
],
"exchangeRateInformation": {
"exchangeRateExpiryDate": "2020-05-04T14:31:04.872Z"
},
"qrCodeUrl": "https://images.yapily.com/image/cf06fd2e-7d50-4097-8392-ec9ed9ae3971/1599231316?size=0"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
authorisationUrl | string | false | none | none |
charges | [ChargeDetails] | false | none | none |
exchangeRateInformation | ExchangeRateInformationResponse | false | none | none |
qrCodeUrl | string | false | none | none |
RegistrationRequest
{
"clientId": "",
"clientName": "",
"clientSecret": "",
"clientUri": "",
"manual": true,
"signingCertificateId": "",
"signingKeyId": "",
"softwareId": "",
"ssaJwt": "",
"termsOfServiceUri": "",
"tppId": "",
"transportCertificateId": "",
"transportKeyId": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
clientId | string | false | none | none |
clientName | string | false | none | none |
clientSecret | string | false | none | none |
clientUri | string | false | none | none |
manual | boolean | false | none | none |
signingCertificateId | string | false | none | none |
signingKeyId | string | false | none | none |
softwareId | string | false | none | none |
ssaJwt | string | false | none | none |
termsOfServiceUri | string | false | none | none |
tppId | string | false | none | none |
transportCertificateId | string | false | none | none |
transportKeyId | string | false | none | none |
RegistrationResult
{
"applicationId": "",
"clientId": "",
"clientName": "",
"clientSecret": "",
"clientUri": "",
"institutionId": "",
"registrationResponse": "",
"signingCertificateId": "",
"signingKeyId": "",
"signingKeyStore": "",
"softwareId": "",
"ssaJwt": "",
"termsOfServiceUri": "",
"tppId": "",
"transportCertificateId": "",
"transportKeyId": "",
"transportKeyStore": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationId | string | false | none | none |
clientId | string | false | none | none |
clientName | string | false | none | none |
clientSecret | string | false | none | none |
clientUri | string | false | none | none |
institutionId | string | false | none | none |
registrationResponse | string | false | none | none |
signingCertificateId | string | false | none | none |
signingKeyId | string | false | none | none |
signingKeyStore | string | false | none | none |
softwareId | string | false | none | none |
ssaJwt | string | false | none | none |
termsOfServiceUri | string | false | none | none |
tppId | string | false | none | none |
transportCertificateId | string | false | none | none |
transportKeyId | string | false | none | none |
transportKeyStore | string | false | none | none |
ResponseListMeta
{
"count": 100,
"pagination": {
"next": {
"before": "",
"cursor": "",
"from": "",
"limit": 100
},
"self": {
"before": "",
"cursor": "",
"from": "",
"limit": 100,
"offset": 100,
"sort": "DATE_ASCENDING(\"date\")"
},
"totalCount": 100
},
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
}
An object containing a tracingId of the request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
count | integer | false | none | none |
pagination | Pagination | false | none | An object containing pagination information in ResponseListMeta |
tracingId | string | false | none | none |
ResponseMeta
{
"tracingId": "cfeba8da-d9a8-46c3-b9f6-80a52149a775"
}
An object containing a tracingId of the request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tracingId | string | false | none | none |
SSAResult
{
"applicationId": "",
"institutionId": "",
"ssaJwt": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationId | string | false | none | none |
institutionId | string | false | none | none |
ssaJwt | string | false | none | none |
SortCodePaymentAuthRequest
{
"applicationUserId": "bojack@9tees.com",
"callback": "https://tpp.application/callback",
"forwardParameters": "",
"institutionId": "yapily-mock",
"oneTimeToken": false,
"userUuid": "37138ee8-ab9a-496c-be98-07ae353fb876",
"paymentRequest": {
"accountNumber": "",
"amount": 10,
"country": "",
"currency": "GBP",
"merchantInfo": "",
"name": "",
"readRefundAccount": true,
"reference": "",
"senderAccountId": "",
"sortCode": "",
"type": ""
}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | AuthorisationRequest | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» paymentRequest | SortCodePaymentRequest | false | none | none |
SortCodePaymentRequest
{
"accountNumber": "",
"amount": 10,
"country": "",
"currency": "GBP",
"merchantInfo": "",
"name": "",
"readRefundAccount": true,
"reference": "",
"senderAccountId": "",
"sortCode": "",
"type": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountNumber | string | false | none | none |
amount | integer(decimal) | false | none | none |
country | string | false | none | none |
currency | string | false | none | none |
merchantInfo | string | false | none | none |
name | string | false | none | none |
readRefundAccount | boolean | false | none | none |
reference | string | false | none | none |
senderAccountId | string | false | none | none |
sortCode | string | false | none | none |
type | string | false | none | none |
SortEnum
"DATE_ASCENDING(\"date\")"
Valid options for the sort parameter
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Valid options for the sort parameter |
Enumerated Values
Property | Value |
---|---|
anonymous | DATE_ASCENDING("date") |
anonymous | DATE_DESCENDING("-date") |
StatementReference
{
"value": "They sent you money for carrots"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
value | string | false | none | none |
Status
"PENDING"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PENDING |
anonymous | FAILED |
anonymous | DECLINED |
anonymous | COMPLETED |
anonymous | UNKNOWN |
Transaction
{
"addressDetails": {
"addressLine": "123 Test Street, Test, AB1 2DC"
},
"amount": 10,
"balance": {
"balanceAmount": {
"amount": 10,
"currency": "GBP"
},
"type": "CLOSING_AVAILABLE"
},
"bookingDateTime": "2019-04-20T23:54:10.937Z",
"chargeDetails": {
"chargeAmount": {
"amount": 10,
"currency": "GBP"
},
"chargeTo": "",
"chargeType": "BULK_PAYMENT"
},
"currency": "GBP",
"currencyExchange": {
"exchangeRate": 1.34,
"sourceCurrency": "GBP",
"targetCurrency": "EUR",
"unitCurrency": "GBP"
},
"date": "2019-04-20T23:54:10.937Z",
"description": "Exchanged to EUR",
"enrichment": {
"categorisation": {
"category": {
"id": "",
"label": ""
}
},
"transactionHash": {
"hash": "b0781fd71caa48c75039ec01c0ffb011.1"
}
},
"id": "d6f8ee30-7804-4c62-9457-fe64fcd23fc2",
"isoBankTransactionCode": {
"domainCode": {
"code": "",
"name": ""
},
"familyCode": {
"code": "",
"name": ""
},
"subFamilyCode": {
"code": "",
"name": ""
}
},
"merchant": {
"merchantCategoryCode": "5462",
"merchantName": "London Luxury Baker"
},
"proprietaryBankTransactionCode": {
"code": "EXCHANGE",
"issuer": "Revolut"
},
"reference": "mytrxref",
"statementReferences": [
{
"value": "They sent you money for carrots"
}
],
"status": "BOOKED",
"supplementaryData": {
"name": "",
"value": ""
},
"transactionAmount": {
"amount": 10,
"currency": "GBP"
},
"transactionInformation": [
""
],
"valueDateTime": "2019-04-20T23:54:10.937Z"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressDetails | AddressDetails | false | none | none |
amount | integer(decimal) | false | none | none |
balance | Balance | false | none | none |
bookingDateTime | string | false | none | none |
chargeDetails | ChargeDetails | false | none | none |
currency | string | false | none | none |
currencyExchange | CurrencyExchange | false | none | none |
date | string | false | none | none |
description | string | false | none | none |
enrichment | Enrichment | false | none | none |
id | string | false | none | none |
isoBankTransactionCode | IsoBankTransactionCode | false | none | none |
merchant | Merchant | false | none | none |
proprietaryBankTransactionCode | ProprietaryBankTransactionCode | false | none | none |
reference | string | false | none | none |
statementReferences | [StatementReference] | false | none | none |
status | TransactionStatusEnum | false | none | none |
supplementaryData | Map | false | none | none |
transactionAmount | Amount | false | none | none |
transactionInformation | [string] | false | none | none |
valueDateTime | string | false | none | none |
TransactionHash
{
"hash": "b0781fd71caa48c75039ec01c0ffb011.1"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hash | string | false | none | none |
TransactionStatusEnum
"BOOKED"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | BOOKED |
anonymous | PENDING |
TransferRequest
{
"accountId": "abc123",
"amount": 10,
"currency": "GBP",
"reference": "reference",
"transferReferenceId": "referenceId"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accountId | string | false | none | none |
amount | integer(decimal) | false | none | none |
currency | string | false | none | none |
reference | string | false | none | none |
transferReferenceId | string | false | none | none |
TransferResponse
{
"balance": 10,
"createdAt": "2018-05-18T14:39:30.934Z",
"currency": "GBP",
"fromAccountId": "acc_1234567890abcdef",
"reference": "reference",
"status": "PENDING",
"toAccountId": "pot_9876543210zyxwvu"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
balance | integer(decimal) | false | none | none |
createdAt | string | false | none | none |
currency | string | false | none | none |
fromAccountId | string | false | none | none |
reference | string | false | none | none |
status | Status | false | none | none |
toAccountId | string | false | none | none |
UsageType
"PERSONAL"
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
anonymous | PERSONAL |
anonymous | BUSINESS |
anonymous | OTHER |
anonymous | UNKNOWN |
User
{
"applicationUserId": "bojack@8tees.com",
"applicationUuid": "d9581bcc-6359-48d2-bb96-dc0ac74b6f7a",
"institutionConsents": [
{
"institutionId": "yapily-mock"
}
],
"referenceId": "myuserreference",
"uuid": "fc65fb6a-b999-4278-943a-e48642a58c48"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationUserId | string | false | none | none |
applicationUuid | string | false | none | none |
institutionConsents | [InstitutionConsent] | false | none | none |
referenceId | string | false | none | none |
uuid | string | false | none | none |
UserDeleteRequest
{
"applicationUserIds": "bojack@9tees.com",
"userUuids": ""
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationUserIds | [string] | false | none | none |
userUuids | [string] | false | none | none |
UserDeleteResponse
{
"creationDate": "2019-05-10T17:36:49.269+0000",
"deleteStatus": "SUCCESS",
"id": "c50844cb-1498-44aa-90d1-62eae8cdb3f6",
"userConsents": [
{
"creationDate": "2019-05-10T16:45:43.566+0000",
"deleteStatus": "SUCCESS",
"id": "a71fd46f-4144-478e-9a72-dd0d7a1158ab",
"institutionConsentId": "aac-1cce1cfc-1ab2-4ed6-8062-a0fd6c5c2122",
"institutionId": "yapily-mock"
}
]
}
An object returned from a successful user delete request
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
creationDate | string | false | none | none |
deleteStatus | DeleteStatusEnum | false | none | none |
id | string | false | none | none |
userConsents | [ConsentDeleteResponse] | false | none | [An object returned from a UserDeleteResponse] |