# catalogs/countries

## Purpose
Returns the list of available destination countries for outbound transactions. Each country includes its ISO 3166-1 alpha-3 code and name.
## When to Use
Use this endpoint when you need to:
- Populate a destination country selector in the UI
- Obtain the list of countries available for the partner
- Validate a country code before requesting states or a quote

## What Happens Next
After selecting a country, use the `deliveryCountryISO` value to:
- Fetch states: `GET /catalogs/countries/{deliveryCountryISO}/states`
- Fetch currencies: `GET /catalogs/countries/{deliveryCountryISO}/currencies`
- Fetch delivery methods: `GET /catalogs/countries/{deliveryCountryISO}/deliver-methods`

## Authentication
Requires `x-client-id` and `x-secret-key` headers for partner authentication.
## Notes
- Returns only countries enabled for the partner's configuration
- The `deliveryCountryISO` field uses ISO 3166-1 alpha-3 codes (3 uppercase letters)
- Results are sorted alphabetically by country name

## Common Errors
- **401000** - Invalid credentials (verify x-client-id and x-secret-key headers)
- **403001** - Partner not authorized for this endpoint
- **500000** - Internal server error

Endpoint: GET /catalogs/countries
Version: 1.0.0

## Query parameters:

  - `validations` (string)
    Return validation schema instead of executing the request

Error codes: type=400002, allowedValues=400010

## Header parameters:

  - `x-client-id` (string, required)
    Unique identifier assigned to the integrating client.

Error codes: required=400001, type=400002, minLength=400003, maxLength=400004

  - `x-secret-key` (string, required)
    Secret authentication key associated with the client.

Error codes: required=400001, type=400002, minLength=400003, maxLength=400004

## Response 200 fields (application/json):

  - `deliveryCountryISO` (string)
    ISO 3166-1 alpha-3 country code (e.g., MEX, COL, GTM)

  - `countryName` (string)
    Country name in English

## Response 401 fields (application/json):

  - `errors` (array)
    Error catalog for 401 (click to expand)CodeDescription401000Invalid credentials — x-client-id or x-secret-key are incorrect or missing.

  - `errors.status` (string)

  - `errors.code` (integer)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)
    Error catalog for 403 (click to expand)CodeDescription403001Partner is not authorized to access this catalog endpoint.

  - `errors.status` (string)

  - `errors.code` (integer)

  - `errors.message` (string)

  - `errors.details` (string)

## Response 500 fields (application/json):

  - `errors` (array)
    Error catalog for 500 (click to expand)CodeDescription500000Unexpected internal error. Retry the request.

  - `errors.status` (string)

  - `errors.code` (integer)

  - `errors.message` (string)

