Mobile Api

Countries

Read the country list used by registration, KYC, and card flows.

Flow Summary

The current country-data flow is:

Step 1. Load the country list
GET /api/v1/countries

This route is not listed in the current public-route whitelist, so treat it as a protected route unless your middleware setup explicitly exposes it.

Authorization: Bearer <access_token>

Language Behavior

  • The handler reads Accept-Language
  • If the header is empty, it defaults to English
  • Only exact zh switches the returned name field to Chinese
  • Any other value still returns the English name

1. List Countries

GET /api/v1/countries

Returns the current country list from the countries table.

Response fields

Each country item includes:

  • id
  • name
  • code
  • dial_code
  • logo

Important backend behavior

  • The repository only returns rows where deleted_at IS NULL
  • When Accept-Language: zh, the backend uses name_zh if present
  • If name_zh is empty, it falls back to the normal name

Success response shape

{
  "status_code": 200,
  "message": "Success",
  "data": [
    {
      "id": 114,
      "name": "Cambodia",
      "code": "KH",
      "dial_code": "855",
      "logo": "https://..."
    }
  ]
}

Integration Notes

  1. Use this for country pickers in registration, KYC, and card-request forms.
  2. Do not hardcode the country list in the app if you want logo and localized-name support to stay in sync with the backend.
Copyright © 2026