Create IBAN
curl --request POST \
--url https://api.otim.com/v0/ibans \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entityId": "<string>",
"accountId": "<string>"
}
'import requests
url = "https://api.otim.com/v0/ibans"
payload = {
"entityId": "<string>",
"accountId": "<string>"
}
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({entityId: '<string>', accountId: '<string>'})
};
fetch('https://api.otim.com/v0/ibans', 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.otim.com/v0/ibans",
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([
'entityId' => '<string>',
'accountId' => '<string>'
]),
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://api.otim.com/v0/ibans"
payload := strings.NewReader("{\n \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\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://api.otim.com/v0/ibans")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.otim.com/v0/ibans")
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 \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "iban_01JA1B2C3D4E5F6G7H8J9K0L",
"entityId": "ent_01JA1B2C3D4E5F6G7H8J9K0L",
"accountId": "acc_01JA1B2C3D4E5F6G7H8J9K0L",
"iban": "GB29 NWBK 6016 1331 9268 19",
"bic": "NWBKGB2L",
"bankName": "Otim Financial Services",
"currency": "EUR",
"status": "active",
"createdAt": "2025-01-15T12:00:00Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}API
Create IBAN
Issues a new IBAN for a verified Entity. The IBAN is linked to an Account, and any fiat deposited to it will be automatically converted and routed into that Account. The Entity must have completed verification (KYC/KYB) before an IBAN can be issued.
POST
/
ibans
Create IBAN
curl --request POST \
--url https://api.otim.com/v0/ibans \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entityId": "<string>",
"accountId": "<string>"
}
'import requests
url = "https://api.otim.com/v0/ibans"
payload = {
"entityId": "<string>",
"accountId": "<string>"
}
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({entityId: '<string>', accountId: '<string>'})
};
fetch('https://api.otim.com/v0/ibans', 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.otim.com/v0/ibans",
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([
'entityId' => '<string>',
'accountId' => '<string>'
]),
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://api.otim.com/v0/ibans"
payload := strings.NewReader("{\n \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\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://api.otim.com/v0/ibans")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.otim.com/v0/ibans")
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 \"entityId\": \"<string>\",\n \"accountId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "iban_01JA1B2C3D4E5F6G7H8J9K0L",
"entityId": "ent_01JA1B2C3D4E5F6G7H8J9K0L",
"accountId": "acc_01JA1B2C3D4E5F6G7H8J9K0L",
"iban": "GB29 NWBK 6016 1331 9268 19",
"bic": "NWBKGB2L",
"bankName": "Otim Financial Services",
"currency": "EUR",
"status": "active",
"createdAt": "2025-01-15T12:00:00Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
API key prefixed with sk_.
Body
application/json
Response
IBAN created.
Example:
"iban_01JA1B2C3D4E5F6G7H8J9K0L"
Example:
"ent_01JA1B2C3D4E5F6G7H8J9K0L"
Example:
"acc_01JA1B2C3D4E5F6G7H8J9K0L"
Example:
"GB29 NWBK 6016 1331 9268 19"
Example:
"NWBKGB2L"
Example:
"Otim Financial Services"
The fiat currency this IBAN accepts.
Example:
"EUR"
Available options:
active, inactive Example:
"active"
Example:
"2025-01-15T12:00:00Z"