Create Account
curl --request POST \
--url https://test-api-kore.kravata.co/api/v1/admin/account/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My savings account",
"type": "SAVING",
"number": "1234567890",
"currency": "COP",
"paymentMethod": "ACH",
"accountOwnerType": "OWN",
"bankId": 211
}
'import requests
url = "https://test-api-kore.kravata.co/api/v1/admin/account/{user_id}"
payload = {
"name": "My savings account",
"type": "SAVING",
"number": "1234567890",
"currency": "COP",
"paymentMethod": "ACH",
"accountOwnerType": "OWN",
"bankId": 211
}
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({
name: 'My savings account',
type: 'SAVING',
number: '1234567890',
currency: 'COP',
paymentMethod: 'ACH',
accountOwnerType: 'OWN',
bankId: 211
})
};
fetch('https://test-api-kore.kravata.co/api/v1/admin/account/{user_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "USERTEST",
"type": "SAVING",
"number": "324223423",
"currency": "COP",
"id": "8fc7c60a-fd7c-4c23-a282-5fc1c1fc3a07",
"userId": "67960e40-0b5a-465d-8d78-610d7eff2785",
"bankName": "",
"registerDate": "2026-07-03T18:15:56.477613",
"status": "APPROVED",
"accountMetadata": []
}Accounts
Create Account
By consuming this endpoint, you can register bank accounts for both you and your users by providing the required bank account information.
Request
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | Header | Yes | The access token that authenticates the request. |
| userId | UUID | Yes | The unique identifier of either your assigned ID or one of your users, depending on who is the owner of the account. You can obtain the ID through the GET /admin/users endpoint. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | A custom alias to easily identify the bank account. |
| number | String | Yes | The specific bank account number to be registered. For breb, accountNumber is the Bre-B key, not a traditional bank account number. |
| type | String | Yes | Type of bank account. Supported values: “SAVING” or “CHECKING”. |
| bankId | Numeric | Required if the paymentMethod is not BREB. | Unique bank identifier from GET /banks. Required for corriente and ahorros. Optional for Bre-B: if omitted, the platform resolves it automatically from the Bre-B key validation. You may still send bankId explicitly for breb if you already know it. |
| currency | String | Required if the currency is not COP. | The 3-letter currency code (ISO 4217). E.g., “COP”, “MXN”, “USD” |
| paymentMethod | String | No | The channel used to move the funds of the operation. Accepts five values: “BREB”, Colombian Bre-B instant payment system. “ACH”, ACH transfer in USA or Colombia. “WIRE”, domestic transfer in the USA. “SWIFT”, international transfer, only for USD. “ACH_WIRE”, for U.S. accounts that support both ACH and wire transfers. |
| accountOwnerType | String | YES | Defines who owns the bank account being registered, relative to the user indicated in the path. Accepts three values: “OWN”, the account belongs to the user indicated in the path (userId). “PERSON”, the account belongs to a third-party natural person. “COMPANY”, the account belongs to a third-party legal entity. |
| accountMetadata | Object | Required if the currency is not COP. | Additional regional details. Must include “CLABE” for MX or “ABA” for USD transactions. You may also include an optional ‘MEMO’ as a custom reference for the bank transfer. |
POST
/
api
/
v1
/
admin
/
account
/
{user_id}
Create Account
curl --request POST \
--url https://test-api-kore.kravata.co/api/v1/admin/account/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My savings account",
"type": "SAVING",
"number": "1234567890",
"currency": "COP",
"paymentMethod": "ACH",
"accountOwnerType": "OWN",
"bankId": 211
}
'import requests
url = "https://test-api-kore.kravata.co/api/v1/admin/account/{user_id}"
payload = {
"name": "My savings account",
"type": "SAVING",
"number": "1234567890",
"currency": "COP",
"paymentMethod": "ACH",
"accountOwnerType": "OWN",
"bankId": 211
}
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({
name: 'My savings account',
type: 'SAVING',
number: '1234567890',
currency: 'COP',
paymentMethod: 'ACH',
accountOwnerType: 'OWN',
bankId: 211
})
};
fetch('https://test-api-kore.kravata.co/api/v1/admin/account/{user_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "USERTEST",
"type": "SAVING",
"number": "324223423",
"currency": "COP",
"id": "8fc7c60a-fd7c-4c23-a282-5fc1c1fc3a07",
"userId": "67960e40-0b5a-465d-8d78-610d7eff2785",
"bankName": "",
"registerDate": "2026-07-03T18:15:56.477613",
"status": "APPROVED",
"accountMetadata": []
}Authorizations
Access token from POST /api/v1/client/token.
Path Parameters
Body
application/json

