Skip to main content
POST
/
accounts
Create account
curl --request POST \
  --url https://{subdomain}.truust.io/2.0/accounts \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My Company",
  "slug": "my_company",
  "country_code": "ES",
  "email": "owner@mycompany.com",
  "password": "Str0ng!Pass",
  "locale": "es"
}
'
import requests

url = "https://{subdomain}.truust.io/2.0/accounts"

payload = {
"name": "My Company",
"slug": "my_company",
"country_code": "ES",
"email": "owner@mycompany.com",
"password": "Str0ng!Pass",
"locale": "es"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'My Company',
slug: 'my_company',
country_code: 'ES',
email: 'owner@mycompany.com',
password: 'Str0ng!Pass',
locale: 'es'
})
};

fetch('https://{subdomain}.truust.io/2.0/accounts', 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://{subdomain}.truust.io/2.0/accounts",
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([
'name' => 'My Company',
'slug' => 'my_company',
'country_code' => 'ES',
'email' => 'owner@mycompany.com',
'password' => 'Str0ng!Pass',
'locale' => 'es'
]),
CURLOPT_HTTPHEADER => [
"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://{subdomain}.truust.io/2.0/accounts"

payload := strings.NewReader("{\n \"name\": \"My Company\",\n \"slug\": \"my_company\",\n \"country_code\": \"ES\",\n \"email\": \"owner@mycompany.com\",\n \"password\": \"Str0ng!Pass\",\n \"locale\": \"es\"\n}")

req, _ := http.NewRequest("POST", url, payload)

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://{subdomain}.truust.io/2.0/accounts")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"My Company\",\n \"slug\": \"my_company\",\n \"country_code\": \"ES\",\n \"email\": \"owner@mycompany.com\",\n \"password\": \"Str0ng!Pass\",\n \"locale\": \"es\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{subdomain}.truust.io/2.0/accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"My Company\",\n \"slug\": \"my_company\",\n \"country_code\": \"ES\",\n \"email\": \"owner@mycompany.com\",\n \"password\": \"Str0ng!Pass\",\n \"locale\": \"es\"\n}"

response = http.request(request)
puts response.read_body
{
  "self": "/2.0/accounts/me",
  "merchant_id": "<string>",
  "name": "My Company",
  "email": "jsmith@example.com",
  "currency": "EUR",
  "country_code": "ES",
  "business_url": "<string>",
  "business_phone": "<string>",
  "business_description": "<string>",
  "image_url": "<string>",
  "public_key": "<string>",
  "secret_key": "<string>",
  "value_shipping": 123,
  "is_active": true,
  "allowed_gateways": [
    "<string>"
  ],
  "gateways": [
    {}
  ],
  "default_gateway": "<string>",
  "created_at": "2023-11-07T05:31:56Z"
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
]
}
}

Body

application/json
name
string
required

Unique business name.

Maximum string length: 255
Example:

"My Company"

slug
string
required

Unique slugged name derived from name (e.g. "My Account" → "my_account").

Example:

"my_company"

country_code
string
required

ISO 3166-1 alpha-2 country code.

Maximum string length: 2
Example:

"ES"

email
string<email>
required
Maximum string length: 255
Example:

"owner@mycompany.com"

password
string
required

Strong password (lower + upper case + symbol + number).

Required string length: 8 - 255
Example:

"Str0ng!Pass"

image
string

Base64-encoded image or URL for the account logo.

locale
string

Notifications will be sent in this language (e.g. es, en).

Example:

"es"

business_url
string

URL of the business.

product_description
string

Description of the product or service.

fee_percent
number

Fee applied to orders (including platform's fee).

fee_amount
number

Fixed fee applied to orders (including platform's fee).

fee_platform_percent
number

Platform fee percentage applied to orders.

fee_platform_amount
number

Fixed platform fee applied to orders.

fee_credit
number

Credit fee applied to orders (including platform's fee).

fee_shipping_1
number

Shipping fee for small-sized packages.

fee_shipping_2
number

Shipping fee for medium-sized packages.

fee_shipping_3
number

Shipping fee for large-sized packages.

default_parcel_size
string

Default parcel size.

default_fee
number

Default fee.

default_gateway
enum<string>

Default payment gateway.

Available options:
ADDON,
ADDON_V2,
ADDON_ICE,
ADDON_HPP,
ADDON_APPLE_PAY,
AZUPAY,
BANKWIRE,
WALLET,
DCP,
EPX,
REDSYS_V2,
REDSYS_APPLE_PAY,
REDSYS_AUTH,
STRIPE,
DOCOMO,
SIBS_MBWAY,
SIBS_MULTIBANCO,
SEQURA,
UNNAX,
PAYPAL,
BIZUM,
INESPAY
allowed_gateways
string[]

List of allowed gateways besides the default gateway.

template_folder
string

Template folder for the Checkout.

custom_domain
string

Custom domain URL.

allow_insurance
enum<integer>

Allow orders to have an insurance option.

Available options:
0,
1
allow_shipping
enum<integer>

Allow orders to have a shipping option.

Available options:
0,
1
allow_select_parcel
enum<integer>

Allow the seller to select the parcel size.

Available options:
0,
1
allow_receipt
enum<integer>

Allow sending a receipt when a payment is performed.

Available options:
0,
1
allow_receipt_self
enum<integer>

Allow receiving a receipt in the account email when a payment is performed.

Available options:
0,
1
billing_address
string

Company's billing address.

billing_address_line_2
string

Company's billing address line 2.

billing_city
string
billing_state
string
billing_zip
string
billing_country
string
Maximum string length: 2
vat_id
string

Company's VAT identification number.

extra_billing_information
string

Extra billing information.

Company's legal address.

Maximum string length: 2
representative_name
string

Name of the company's representative.

representative_phone
string

Phone of the company's representative.

representative_email
string<email>

Email of the company's representative.

twitter_token
string

Twitter credentials to share orders.

twitter_secret
string

Twitter credentials to share orders.

facebook_id
string

Facebook credentials to share orders.

facebook_token
string

Facebook credentials to share orders.

parent_id
integer

Parent account ID. Only for subaccounts.

addon_key
string

Payment gateway credential.

addon_secret
string

Payment gateway credential.

addon_account
string

Payment gateway credential.

addon_rebate
string

Payment gateway credential.

psd2_enabled
enum<integer>

Whether the account is PSD2 enabled.

Available options:
0,
1
receipt_subject
string

Subject of the email sent to the customer (selected pricing plans only).

receipt_message
string

Message of the email sent to the customer (selected pricing plans only).

payment_success_message
string

Message shown to customers on successful payment (selected pricing plans only).

Response

Account created

self
string
Example:

"/2.0/accounts/me"

merchant_id
string

Unique merchant identifier (addon_key).

name
string
Example:

"My Company"

email
string<email>
currency
string
Example:

"EUR"

country_code
string
Example:

"ES"

business_url
string | null
business_phone
string | null
business_description
string | null
image_url
string | null
public_key
string
secret_key
string

Secret API key. Only visible to the account owner.

allow_shipping
enum<integer>
Available options:
0,
1
value_shipping
number
is_active
boolean
psd2_enabled
enum<integer>
Available options:
0,
1
allowed_gateways
string[]
gateways
object[] | null

List of configured payment gateway objects for the account.

default_gateway
string | null
created_at
string<date-time> | null