curl --request POST \
--url https://api.yapily.com/accounts/{accountId}/transactions/categorisation \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'consent: <consent>' \
--data '
{
"countryCode": "GB",
"categorisationType": "consumer",
"from": "2019-08-24T14:15:22Z",
"before": "2019-08-24T14:15:22Z"
}
'import requests
url = "https://api.yapily.com/accounts/{accountId}/transactions/categorisation"
payload = {
"countryCode": "GB",
"categorisationType": "consumer",
"from": "2019-08-24T14:15:22Z",
"before": "2019-08-24T14:15:22Z"
}
headers = {
"consent": "<consent>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
consent: '<consent>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
countryCode: 'GB',
categorisationType: 'consumer',
from: '2019-08-24T14:15:22Z',
before: '2019-08-24T14:15:22Z'
})
};
fetch('https://api.yapily.com/accounts/{accountId}/transactions/categorisation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yapily.com/accounts/{accountId}/transactions/categorisation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'countryCode' => 'GB',
'categorisationType' => 'consumer',
'from' => '2019-08-24T14:15:22Z',
'before' => '2019-08-24T14:15:22Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"consent: <consent>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yapily.com/accounts/{accountId}/transactions/categorisation"
payload := strings.NewReader("{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("consent", "<consent>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yapily.com/accounts/{accountId}/transactions/categorisation")
.header("consent", "<consent>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yapily.com/accounts/{accountId}/transactions/categorisation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["consent"] = '<consent>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"tracingId": "string"
},
"data": {
"categorisationId": "ed8ea63f-7a1e-05d4-3633-a8a9175b50da"
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 400,
"status": "BAD_REQUEST",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "BAD_REQUEST",
"code": 10600,
"message": "The server could not understand the request due to invalid syntax"
}
]
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 401,
"status": "UNAUTHORIZED",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "CREDENTIALS",
"code": 10700,
"message": "Authorization header invalid or credentials not authenticated"
}
]
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 500,
"status": "INTERNAL SERVER ERROR",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "INTERNAL_SERVER_ERROR",
"code": 11000,
"message": "Unexpected server error"
}
]
}
}Transactions and Enrichment
Trigger categorisation for transactions from AIS (see Get Transactions endpoint) in the specified time range.
curl --request POST \
--url https://api.yapily.com/accounts/{accountId}/transactions/categorisation \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'consent: <consent>' \
--data '
{
"countryCode": "GB",
"categorisationType": "consumer",
"from": "2019-08-24T14:15:22Z",
"before": "2019-08-24T14:15:22Z"
}
'import requests
url = "https://api.yapily.com/accounts/{accountId}/transactions/categorisation"
payload = {
"countryCode": "GB",
"categorisationType": "consumer",
"from": "2019-08-24T14:15:22Z",
"before": "2019-08-24T14:15:22Z"
}
headers = {
"consent": "<consent>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
consent: '<consent>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
countryCode: 'GB',
categorisationType: 'consumer',
from: '2019-08-24T14:15:22Z',
before: '2019-08-24T14:15:22Z'
})
};
fetch('https://api.yapily.com/accounts/{accountId}/transactions/categorisation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yapily.com/accounts/{accountId}/transactions/categorisation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'countryCode' => 'GB',
'categorisationType' => 'consumer',
'from' => '2019-08-24T14:15:22Z',
'before' => '2019-08-24T14:15:22Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"consent: <consent>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yapily.com/accounts/{accountId}/transactions/categorisation"
payload := strings.NewReader("{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("consent", "<consent>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yapily.com/accounts/{accountId}/transactions/categorisation")
.header("consent", "<consent>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yapily.com/accounts/{accountId}/transactions/categorisation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["consent"] = '<consent>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"countryCode\": \"GB\",\n \"categorisationType\": \"consumer\",\n \"from\": \"2019-08-24T14:15:22Z\",\n \"before\": \"2019-08-24T14:15:22Z\"\n}"
response = http.request(request)
puts response.read_body{
"meta": {
"tracingId": "string"
},
"data": {
"categorisationId": "ed8ea63f-7a1e-05d4-3633-a8a9175b50da"
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 400,
"status": "BAD_REQUEST",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "BAD_REQUEST",
"code": 10600,
"message": "The server could not understand the request due to invalid syntax"
}
]
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 401,
"status": "UNAUTHORIZED",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "CREDENTIALS",
"code": 10700,
"message": "Authorization header invalid or credentials not authenticated"
}
]
}
}{
"error": {
"tracingId": "0c2d0973bdd24224a65e5d0f7d1b6154",
"code": 500,
"status": "INTERNAL SERVER ERROR",
"supportUrl": "https://support.yapily.com/",
"source": "YAPILY",
"issues": [
{
"type": "INTERNAL_SERVER_ERROR",
"code": 11000,
"message": "Unexpected server error"
}
]
}
}Authorizations
Use HTTP Basic Authentication with your Application ID as username and Application Secret as password. Manage credentials in the Yapily Console. See Authentication for details.
Headers
Mandatory. The consent-token containing the user's authorisation to make the request.
Conditional. Represents the user's login ID for the Institution to a personal account.
See PSU identifiers to see if this header is required.
Conditional. Represents the user's login ID for the Institution to a business account.
See PSU identifiers to see if this header is required.
Conditional. The IP address of the PSU.
See PSU identifiers to see if this header is required.
The sub-application ID to which event type is being subscribed to
Path Parameters
Unique identifier for account
Body
Mandatory. Two-letter country code in ISO 3166-1 alpha-2 format (e.g. GB)
Mandatory. Allowed values are consumer and business.
Optional. Returned transactions will be on or after this date (yyyy-MM-dd'T'HH:mm:ss.SSSZ).
Optional. Returned transactions will be on or before this date (yyyy-MM-dd'T'HH:mm:ss.SSSZ).
Was this page helpful?