Skip to main content
POST
/
accounts
/
{account_id}
/
automations
Create an Automation
curl --request POST \
  --url https://api.brale.xyz/accounts/{account_id}/automations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "name": "XYZ Onramp",
  "destination_address": {
    "address_id": "2VcUIIsgARwVbEGlIYbhg6fGG57",
    "value_type": "SBC",
    "transfer_type": "solana"
  }
}
'
{
  "id": "2VcUIIsgARwVbEGlIYbhg6fGG57"
}
Use the playground below to try this endpoint directly, or review the OpenAPI details in the right panel.

Branded Automations

You can optionally include a brand object in the request body to control which business name appears as the beneficiary on funding instructions.
FieldTypeRequiredDescription
brandobjectNoControls the beneficiary name on the Automation’s funding instructions.
brand.account_idstringYes (if brand is provided)The account whose business name and address appear as the beneficiary. Can be the caller’s own account or a managed account.
Default behavior is unchanged. If you omit brand, the beneficiary on funding instructions defaults to Brale. If you include brand.account_id, the beneficiary reflects that account’s business name instead.

Example: branded automation request

{
  "name": "XYZ Onramp",
  "destination_address": {
    "address_id": "2MhCCIHulVdXrHiEuQDJvnKbSkl",
    "value_type": "SBC",
    "transfer_type": "solana"
  },
  "brand": { "account_id": "34lCJZ2bxbPAzB3ou67Md01veUo" }
}
Once the Automation becomes active, source.funding_instructions.beneficiary_name in the response will reflect the branded account’s business name. For more details on how branded Automations work, see the Automations concept page.

Authorizations

Authorization
string
header
required

Use the Bearer token returned from the Auth endpoint via OAuth2 client_credentials flow. Include the token in the "Authorization: Bearer " header.

Headers

Idempotency-Key
string
required

A unique string used to prevent duplicate operations. Each POST request must use a new idempotency key. Use a UUIDv4 string. Example: idemp-123e4567-e89b-12d3-a456-426614174000

Path Parameters

account_id
string<ksuid>
required

The ID of the account

Pattern: ^[a-zA-Z0-9]{26}$
Example:

"2VcUIIsgARwVbEGlIYbhg6fGG57"

Body

application/json
name
string
required
Example:

"XYZ Onramp"

destination_address
AutomationDestinationAddress · object
required
brand
AutomationBrand · object

Optional. Controls the beneficiary name on funding instructions. Pass the account_id of your own account or a managed account whose business name should appear as the beneficiary. If omitted, Brale is the default beneficiary.

Response

201 - */*

Automation successfully created

id
string<ksuid>
Pattern: ^[a-zA-Z0-9]{26}$
Example:

"2VcUIIsgARwVbEGlIYbhg6fGG57"