Skip to main content

Documentation Index

Fetch the complete documentation index at: https://uqpay-ecc4f4d8.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through authenticating with the UQPAY API and making your first request — all from the command line.

Prerequisites

Before you begin, make sure you have:

Authenticate and call the API

1

Get an access token

Call the Access Token endpoint with your API credentials to get a bearer token.
curl -X POST https://api-sandbox.uqpaytech.com/api/v1/connect/token \
  -H "x-client-id: YOUR_CLIENT_ID" \
  -H "x-api-key: YOUR_API_KEY"
{
  "auth_token": "2YotnFZFEjr1zCsicMWpAA...",
  "expired_at": 1757449854
}
Copy the auth_token value — you need it for the next step.
The access token is valid for 30 minutes in production. You can reuse it across multiple API calls until it expires.Token concurrency depends on the business line — Account Center and Card Issuance allow multiple tokens to coexist, while Global Account, Global Acquiring, and Stablecoin Account invalidate the previous token each time a new one is issued. See the Access Token reference for details.
2

Make your first API call

Use the token to call the List Connected Accounts endpoint. This returns the accounts connected to your platform.
curl -X GET "https://api-sandbox.uqpaytech.com/api/v1/accounts?page_size=10&page_number=1" \
  -H "x-auth-token: Bearer YOUR_AUTH_TOKEN"
The x-auth-token header value must be Bearer followed by the token, with a single space between Bearer and the JWT. The most common 401 errors come from one of:
  • sending the bare JWT without the Bearer prefix,
  • sending Bearer<token> with no space,
  • putting the token under Authorization instead of x-auth-token.
The header name is x-auth-token, not Authorization.
{
  "total_pages": 1,
  "total_items": 1,
  "data": [
    {
      "account_id": "f5bb6498-552e-40a5-b14b-616aa04ac1c1",
      "short_reference_id": "P220406-LLCVLRM",
      "business_code": ["BANKING"],
      "account_name": "UQPAY PTE LTD.",
      "entity_type": "COMPANY",
      "status": "ACTIVE",
      "verification_status": "APPROVED",
      "country": "SG",
      "contact_details": {
        "email": "[email protected]"
      }
    }
  ]
}
If you see a response with data, your integration is working.

Set up webhooks

UQPAY uses webhooks to notify your application when events happen asynchronously — for example, when a payment succeeds or a payout completes. Setting up a webhook endpoint ensures you don’t need to poll the API for status updates.
  1. Configure a notification URL in the dashboard and subscribe to the event types relevant to your integration.
  2. Review the Webhooks Overview for payload structure, retry logic, and signature verification.
You can set up webhooks at any time, but doing it early means you won’t miss any events during development.

Next steps

You are now authenticated and can call any UQPAY API. Explore the product that fits your use case:

Global Acquiring

Accept card and e-wallet payments.

Global Account

Collect funds, send payouts, and exchange currencies.

Card Issuance

Issue and manage virtual or physical cards.

Stablecoin Account

On/off-ramp between fiat and stablecoins.