Quickstart

Prerequisites, environments, and your first request.

Prerequisites

Before you start the integration, make sure you have completed the following:

  • Create API keys: Sign in to the Dashboard, go to Integrations → Keys, and click Add Key to get client_id and client_secret. Your tenant_id is shown in the Tenant ID column of the key list
  • Configure the IP allowlist: Use Edit IP Allowlist on the key to enter the egress IP addresses of your servers. IPv4, IPv6, and CIDR are supported; separate multiple entries with commas. Leaving it empty allows requests from any IP, so we recommend configuring it for production
  • Configure Webhooks: Go to Integrations → Webhooks, click Add Endpoint, and enter a publicly accessible HTTPS callback URL
  • Generate idempotency keys: Every POST request must include a unique Idempotency-Key

Environments

EnvironmentBase URLDescription
Testhttps://api.test.stabofx.comFor development and testing
Productionhttps://api.stabo.ioLive production environment

The examples below use the test environment. When you go live, replace the Base URL with the production URL.

Business API examples use the same placeholders. In the Java, Python, and Node examples, BASE_URL is the Base URL from the table above. accessToken (access_token in Python) and {accessToken} in the curl examples are the Access Token that you get in Authentication.

Your first request

The following example walks through a complete call flow.

Get an Access Token

curl -X POST "https://api.test.stabofx.com/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -H "X-Tenant-ID: your_tenant_id" \
  -H "X-Tenant-Type: COMPANY" \
  -d "grant_type=client_credentials&client_id=your_client_id&client_secret=your_client_secret&scope=company:TENANT:admin"

For Java, Python, and Node examples, see Authentication.

Call a business API

This example creates a Checkout Payment Intent. Amounts are decimal strings in the standard currency unit. "20.00" means 20.00 USD.

curl -X POST "https://api.test.stabofx.com/openapi/v1/payment-intents" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pi_20260511_0001" \
  -d '{
    "amount": "20.00",
    "currency": "USD",
    "referenceNo": "ORD-20260511-0001",
    "description": "Order #20260511-0001",
    "customer": "cus_123456",
    "brand": "Acme Coffee",
    "successUrl": "https://merchant.example.com/success",
    "cancelUrl": "https://merchant.example.com/cancel",
    "expiryMinutes": 30,
    "metadata": {
      "orderId": "ORD-20260511-0001",
      "merchantUserId": "user_123456"
    }
  }'

Next steps:

On this page