Skip to documentation
Developers
Dashboard ↗
Documentation / Reference
Sandbox Only

REST API reference

Generated from our source-controlled contract for the implemented external API.

Build in sandbox. These guides describe the current implementation. Live payments and payouts are disabled; planned capabilities are labelled explicitly.

A deliberately small external API

The operations below are the currently implemented scoped integration surface. Download OpenAPI JSON for tooling. Dashboard sessions, public hosted-checkout capabilities and provider webhooks are separate authentication surfaces, not interchangeable API-key endpoints.

Formats and ownership

Product/order IDs are UUIDs. Money is represented as integer minor-unit strings in stored catalog/order records, not floating-point decimals. List responses are arrays with a current limit of 50. Prices and policy calculations stay server-side.

GET/api/v1/integration/ping

Check sandbox API access

Returns merchant identifier, environment and key scopes. The endpoint does not require a specific scope beyond a valid active sandbox key.

Authentication: server-side sandbox bearer key · Scope: any active key scope

json
{
  "merchantId": "11111111-1111-4111-8111-111111111111",
  "scopes": [
    "checkout:links"
  ],
  "environment": "SANDBOX",
  "liveEnabled": false
}

Errors: 400 invalid input · 401 invalid key · 403 access/scope · 404 owned product not found · 429 rate limit.

GET/api/v1/integration/products

List your products

Returns up to 50 tenant-owned catalog identities: id, publicCode, status, currency and version. Product content and prices are managed in the dashboard; this endpoint does not return them.

Authentication: server-side sandbox bearer key · Scope: catalog:read

json
[
  {
    "id": "11111111-1111-4111-8111-111111111111",
    "publicCode": "AbCdEfGh1234",
    "status": "PUBLISHED",
    "currency": "USD",
    "version": 1
  }
]

Errors: 400 invalid input · 401 invalid key · 403 access/scope · 404 owned product not found · 429 rate limit.

GET/api/v1/integration/orders

List your orders

Returns up to 50 tenant-owned sandbox orders with integer minor-unit amount strings.

Authentication: server-side sandbox bearer key · Scope: orders:read

json
[
  {
    "id": "22222222-2222-4222-8222-222222222222",
    "productId": "11111111-1111-4111-8111-111111111111",
    "state": "PAID",
    "currency": "USD",
    "amountMinor": "1000",
    "refundedMinor": "0",
    "createdAt": "2026-10-17T12:00:00.000Z"
  }
]

Errors: 400 invalid input · 401 invalid key · 403 access/scope · 404 owned product not found · 429 rate limit.

INTERACTIVE REQUEST BUILDER

Your product. One request.

Generate an example locally. This tool never sends requests or asks for your API key.

bash
curl --fail-with-body https://api.unalaunch.com/api/v1/integration/checkout-links \
  -H "Authorization: Bearer $UNA_SANDBOX_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"productId":"YOUR_PRODUCT_UUID"}'