curl --request POST \
--url https://platform.spritz.finance/v1/users/me/compliance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placeOfBirth": {
"country": "DEU",
"city": "Berlin"
},
"nationalities": [
"DEU"
]
}
'import requests
url = "https://platform.spritz.finance/v1/users/me/compliance"
payload = {
"placeOfBirth": {
"country": "DEU",
"city": "Berlin"
},
"nationalities": ["DEU"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({placeOfBirth: {country: 'DEU', city: 'Berlin'}, nationalities: ['DEU']})
};
fetch('https://platform.spritz.finance/v1/users/me/compliance', 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://platform.spritz.finance/v1/users/me/compliance",
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([
'placeOfBirth' => [
'country' => 'DEU',
'city' => 'Berlin'
],
'nationalities' => [
'DEU'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://platform.spritz.finance/v1/users/me/compliance"
payload := strings.NewReader("{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://platform.spritz.finance/v1/users/me/compliance")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.spritz.finance/v1/users/me/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"complianceFieldsComplete": true,
"bridgeCustomerUpdated": true
}{
"title": "Unauthorized",
"status": 401,
"type": "urn:problem-type:auth:unauthorized",
"detail": "Bearer token required",
"instance": "<string>",
"realm": "API",
"scope": "read:users"
}{
"title": "<string>",
"status": 404,
"resourceType": "user",
"resourceId": "<string>",
"type": "about:blank",
"detail": "<string>",
"instance": "<string>"
}{
"title": "Unauthorized",
"status": 400,
"type": "urn:problem-type:auth:unauthorized",
"detail": "<string>",
"instance": "/errors/1234567890",
"code": "transaction_limit",
"field": "amountUsd",
"retryable": true,
"retryAfter": 5,
"suggestedAction": "auto_ramp",
"clearsAt": "2023-11-07T05:31:56Z",
"availableAt": "2023-11-07T05:31:56Z",
"permanent": true
}Submit regional compliance fields
Submits the additional compliance fields required for the authenticated user’s region.
All required fields must be supplied together — partial submissions are rejected with field-level errors rather than being stored.
If the user has accepted the provider’s terms, submitting these fields creates or updates the provider customer immediately and bridgeCustomerUpdated is true. Otherwise, the fields are stored and included when the customer is created.
curl --request POST \
--url https://platform.spritz.finance/v1/users/me/compliance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"placeOfBirth": {
"country": "DEU",
"city": "Berlin"
},
"nationalities": [
"DEU"
]
}
'import requests
url = "https://platform.spritz.finance/v1/users/me/compliance"
payload = {
"placeOfBirth": {
"country": "DEU",
"city": "Berlin"
},
"nationalities": ["DEU"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({placeOfBirth: {country: 'DEU', city: 'Berlin'}, nationalities: ['DEU']})
};
fetch('https://platform.spritz.finance/v1/users/me/compliance', 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://platform.spritz.finance/v1/users/me/compliance",
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([
'placeOfBirth' => [
'country' => 'DEU',
'city' => 'Berlin'
],
'nationalities' => [
'DEU'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://platform.spritz.finance/v1/users/me/compliance"
payload := strings.NewReader("{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://platform.spritz.finance/v1/users/me/compliance")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.spritz.finance/v1/users/me/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"placeOfBirth\": {\n \"country\": \"DEU\",\n \"city\": \"Berlin\"\n },\n \"nationalities\": [\n \"DEU\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"complianceFieldsComplete": true,
"bridgeCustomerUpdated": true
}{
"title": "Unauthorized",
"status": 401,
"type": "urn:problem-type:auth:unauthorized",
"detail": "Bearer token required",
"instance": "<string>",
"realm": "API",
"scope": "read:users"
}{
"title": "<string>",
"status": 404,
"resourceType": "user",
"resourceId": "<string>",
"type": "about:blank",
"detail": "<string>",
"instance": "<string>"
}{
"title": "Unauthorized",
"status": 400,
"type": "urn:problem-type:auth:unauthorized",
"detail": "<string>",
"instance": "/errors/1234567890",
"code": "transaction_limit",
"field": "amountUsd",
"retryable": true,
"retryAfter": 5,
"suggestedAction": "auto_ramp",
"clearsAt": "2023-11-07T05:31:56Z",
"availableAt": "2023-11-07T05:31:56Z",
"permanent": true
}Authorizations
User bearer credential: either a Cognito JWT or an ak_ user API key. Backend integrators using HMAC must include the user API key alongside the three HMAC headers on user-scoped endpoints.
Body
Regional compliance fields for the authenticated user.
- Option 1
- Option 2
Regional compliance fields for the authenticated user.
Where the user was born.
Show child attributes
Show child attributes
Every nationality the user holds, not just their primary one.
1ISO 3166-1 alpha-3 country code.
3["DEU"]
What the user intends to use the account for.
charitable_donations, ecommerce_retail_payments, investment_purposes, operating_a_company, payments_to_friends_or_family_abroad, personal_or_living_expenses, protect_wealth, purchase_goods_and_services, receive_payment_for_freelancing, receive_salary Response
Result of a compliance field submission.
Result of a compliance field submission.