> For the complete documentation index, see [llms.txt](https://docs.nexusglobalpayments.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexusglobalpayments.org/apis/countries.md).

# Countries

## Countries

## Retrieve All Countries in Nexus

> Returns all countries available on the Nexus network, along with key reference data for sending payments to those countries, such as minimum and maximum transaction amounts per currency, currency names and decimal places, requirements for message elements, the country level SLA with maximum execution timeouts as ISO 8601 durations, and the supported instruction priorities. Where a country has more than one IPS, the sla carries the most relaxed timeout across those IPSs and supportedInstructionPriorities carries the union of priorities across those IPSs. Used by: Payment Service Providers (PSPs)

```json
{"openapi":"3.1.0","info":{"title":"Nexus APIs","version":"0.3.1"},"tags":[{"name":"Countries & Currencies","description":"Basic reference data"}],"servers":[{"url":"http://localhost:8080","description":"Local development"},{"url":"https://nexus-ai-simulator-683365449922.asia-southeast1.run.app","description":"Nexus simulator"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CountryDto":{"type":"object","description":"Reference data for a country on the Nexus network, including per currency limits, required message elements, the country level SLA and supported instruction priorities.","properties":{"countryId":{"type":"integer","description":"ISO 3166 numeric country code."},"countryCode":{"type":"string","description":"ISO 3166 alpha 2 country code."},"name":{"type":"string"},"currencies":{"type":"array","items":{"$ref":"#/components/schemas/CountryCurrencyDto"}},"requiredMessageElements":{"type":"object","description":"Message elements that the country requires per API or message type, keyed by message name such as getQuotes or pacs008.","additionalProperties":{"type":"array","items":{"type":"string"}}},"sla":{"$ref":"#/components/schemas/CountrySlaDto"},"supportedInstructionPriorities":{"type":"array","description":"The union of instruction priorities available in this country across all of its IPSs. If one IPS supports NORM and HIGH and another supports only NORM, the country advertises both NORM and HIGH.","items":{"type":"string","enum":["NORM","HIGH"]}}},"required":["countryId","countryCode","name","currencies","sla","supportedInstructionPriorities"]},"CountryCurrencyDto":{"type":"object","description":"A currency accepted for payments into the country, with transaction limits.","properties":{"currencyCode":{"type":"string","description":"ISO 4217 currency code, three uppercase letters."},"currencyName":{"type":"string","description":"ISO 4217 currency name."},"decimalPlaces":{"type":"integer","description":"Number of decimal places used by the currency."},"minAmount":{"type":"string","description":"Minimum transaction amount in this currency. Omitted when the country does not set a minimum."},"maxAmount":{"type":"string","description":"Maximum transaction amount in this currency."}},"required":["currencyCode","currencyName","decimalPlaces","maxAmount"]},"CountrySlaDto":{"type":"object","description":"Country level maximum execution timeouts as ISO 8601 durations. Where a country has more than one IPS with different SLAs, the country level value carries the most relaxed timeout, meaning the longest, across those IPSs. The source side timer therefore waits for the slowest destination IPS before triggering the source timeout, giving the transaction the maximum chance to succeed before any timeout path is taken.","properties":{"normalPaymentMaxExecutionTimeout":{"type":"string","format":"duration","description":"Maximum end to end execution time for NORM priority payments."},"highPaymentMaxExecutionTimeout":{"type":"string","format":"duration","description":"Maximum end to end execution time for HIGH priority payments. Present only when the country supports the HIGH priority."}},"required":["normalPaymentMaxExecutionTimeout"]},"ErrorResultDto":{"type":"object","description":"Structured business rejection returned for all error responses. This response is only returned for rejection cases; the statusCode is always RJCT.","properties":{"statusCode":{"type":"string","enum":["RJCT"],"description":"Business level status code indicating the outcome. Always RJCT (Rejected)."},"reasonCode":{"type":"string","pattern":"^(TE|AE|BE)[A-Z0-9]*$","description":"Categorised reason code with a prefix indicating the error category: TE for Technical Error, AE for Authentication Error, BE for Business Error."},"name":{"type":"string","description":"Machine readable business error name from the error catalogue."},"description":{"type":"string","description":"Human readable error description."}},"required":["statusCode","reasonCode","name","description"]}}},"paths":{"/v1/countries":{"get":{"summary":"Retrieve All Countries in Nexus","description":"Returns all countries available on the Nexus network, along with key reference data for sending payments to those countries, such as minimum and maximum transaction amounts per currency, currency names and decimal places, requirements for message elements, the country level SLA with maximum execution timeouts as ISO 8601 durations, and the supported instruction priorities. Where a country has more than one IPS, the sla carries the most relaxed timeout across those IPSs and supportedInstructionPriorities carries the union of priorities across those IPSs. Used by: Payment Service Providers (PSPs)","responses":{"200":{"description":"A list of countries with payment details.","content":{"application/json":{"schema":{"type":"object","properties":{"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryDto"}}},"required":["countries"]}}}},"400":{"description":"Invalid request. Reason code TE001 INVALID_REQUEST.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"401":{"description":"Authentication failed. Applicable reason codes: AE001 AUTH_TOKEN_MISSING, AE002 AUTH_TOKEN_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"403":{"description":"Authorization failed. The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor. Reason code AE004 ACCESS_DENIED.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"429":{"description":"Rate limit exceeded. Returned by the API gateway and carries no structured Nexus body. The Retry-After response header indicates when to retry."},"500":{"description":"An unhandled exception or infrastructure failure occurred. Reason code TE099 INTERNAL_ERROR. The caller may retry with exponential backoff.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}}},"tags":["Countries & Currencies"],"operationId":"listCountries"}}}}
```

## Retrieve a Single Country

> Returns a specified country based on the 2 letter countryCode provided, along with key reference data for sending payments to that country, such as minimum and maximum transaction amounts per currency, currency names and decimal places, requirements for message elements, the country level SLA with maximum execution timeouts as ISO 8601 durations, and the supported instruction priorities. Used by: Payment Service Providers (PSPs)

```json
{"openapi":"3.1.0","info":{"title":"Nexus APIs","version":"0.3.1"},"tags":[{"name":"Countries & Currencies","description":"Basic reference data"}],"servers":[{"url":"http://localhost:8080","description":"Local development"},{"url":"https://nexus-ai-simulator-683365449922.asia-southeast1.run.app","description":"Nexus simulator"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"CountryDto":{"type":"object","description":"Reference data for a country on the Nexus network, including per currency limits, required message elements, the country level SLA and supported instruction priorities.","properties":{"countryId":{"type":"integer","description":"ISO 3166 numeric country code."},"countryCode":{"type":"string","description":"ISO 3166 alpha 2 country code."},"name":{"type":"string"},"currencies":{"type":"array","items":{"$ref":"#/components/schemas/CountryCurrencyDto"}},"requiredMessageElements":{"type":"object","description":"Message elements that the country requires per API or message type, keyed by message name such as getQuotes or pacs008.","additionalProperties":{"type":"array","items":{"type":"string"}}},"sla":{"$ref":"#/components/schemas/CountrySlaDto"},"supportedInstructionPriorities":{"type":"array","description":"The union of instruction priorities available in this country across all of its IPSs. If one IPS supports NORM and HIGH and another supports only NORM, the country advertises both NORM and HIGH.","items":{"type":"string","enum":["NORM","HIGH"]}}},"required":["countryId","countryCode","name","currencies","sla","supportedInstructionPriorities"]},"CountryCurrencyDto":{"type":"object","description":"A currency accepted for payments into the country, with transaction limits.","properties":{"currencyCode":{"type":"string","description":"ISO 4217 currency code, three uppercase letters."},"currencyName":{"type":"string","description":"ISO 4217 currency name."},"decimalPlaces":{"type":"integer","description":"Number of decimal places used by the currency."},"minAmount":{"type":"string","description":"Minimum transaction amount in this currency. Omitted when the country does not set a minimum."},"maxAmount":{"type":"string","description":"Maximum transaction amount in this currency."}},"required":["currencyCode","currencyName","decimalPlaces","maxAmount"]},"CountrySlaDto":{"type":"object","description":"Country level maximum execution timeouts as ISO 8601 durations. Where a country has more than one IPS with different SLAs, the country level value carries the most relaxed timeout, meaning the longest, across those IPSs. The source side timer therefore waits for the slowest destination IPS before triggering the source timeout, giving the transaction the maximum chance to succeed before any timeout path is taken.","properties":{"normalPaymentMaxExecutionTimeout":{"type":"string","format":"duration","description":"Maximum end to end execution time for NORM priority payments."},"highPaymentMaxExecutionTimeout":{"type":"string","format":"duration","description":"Maximum end to end execution time for HIGH priority payments. Present only when the country supports the HIGH priority."}},"required":["normalPaymentMaxExecutionTimeout"]},"ErrorResultDto":{"type":"object","description":"Structured business rejection returned for all error responses. This response is only returned for rejection cases; the statusCode is always RJCT.","properties":{"statusCode":{"type":"string","enum":["RJCT"],"description":"Business level status code indicating the outcome. Always RJCT (Rejected)."},"reasonCode":{"type":"string","pattern":"^(TE|AE|BE)[A-Z0-9]*$","description":"Categorised reason code with a prefix indicating the error category: TE for Technical Error, AE for Authentication Error, BE for Business Error."},"name":{"type":"string","description":"Machine readable business error name from the error catalogue."},"description":{"type":"string","description":"Human readable error description."}},"required":["statusCode","reasonCode","name","description"]}}},"paths":{"/v1/countries/{countryCode}":{"get":{"summary":"Retrieve a Single Country","description":"Returns a specified country based on the 2 letter countryCode provided, along with key reference data for sending payments to that country, such as minimum and maximum transaction amounts per currency, currency names and decimal places, requirements for message elements, the country level SLA with maximum execution timeouts as ISO 8601 durations, and the supported instruction priorities. Used by: Payment Service Providers (PSPs)","parameters":[{"name":"countryCode","in":"path","description":"The ISO 3166 alpha-2 country code","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Country information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountryDto"}}}},"400":{"description":"Invalid country code. Reason code BE001 COUNTRY_CODE_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"401":{"description":"Authentication failed. Applicable reason codes: AE001 AUTH_TOKEN_MISSING, AE002 AUTH_TOKEN_INVALID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"403":{"description":"Authorization failed. The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor. Reason code AE004 ACCESS_DENIED.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"404":{"description":"Country not found. Reason code BE002 COUNTRY_NOT_FOUND.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}},"429":{"description":"Rate limit exceeded. Returned by the API gateway and carries no structured Nexus body. The Retry-After response header indicates when to retry."},"500":{"description":"An unhandled exception or infrastructure failure occurred. Reason code TE099 INTERNAL_ERROR. The caller may retry with exponential backoff.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResultDto"}}}}},"tags":["Countries & Currencies"],"operationId":"getCountry"}}}}
```
