Countries
Country specifications let your integration present only the currencies, payment methods, payout schedules, account types, identity documents, and bank choices available in a market. Fetch this public reference data instead of copying a country matrix into your application, so a capability change does not require a client release.
This is a public endpoint—no authentication required. You can call it from client-side code to build dynamic country selectors and validation rules.
Operations
The CountrySpecification object
Each country specification describes the Inttegro capabilities currently configured for one country. The countries response property is a map keyed by lowercase ISO 3166-1 alpha-2 country code. All properties below are present except banks, which is omitted for countries without a bank directory.
Properties
banksobjectClick or tap to expandCountry-specific bank reference data, when available. Ghana returns a
bank_account_typeofghana_bank_account, acode_schemeofsort_code, and anitemsarray of banks. Each bank includesid,name, optionalswift_code,sort_code_prefix, and a requiredbranchesarray. Each branch containsid,name, andsort_code.swift_codeandsort_code_prefixare omitted when unavailable.
Get country specifications
Retrieve the current specification snapshot for every configured country. A successful response returns 200 with a required countries map.
This endpoint requires no authentication and can be called from client-side code. Send no body or an empty JSON object. Invalid JSON, a non-object body, or unknown request attributes returns 400 with the standard error envelope.
Treat the values as capability identifiers, not display copy. Refresh them when starting a country-dependent flow and validate the final choice again when creating the corresponding resource; availability can change between the two requests.
AI clients can use get_country_specifications for this operation. MCP read tools return minimized business data and do not change Inttegro state.
Request body
No request body is required. Send an empty object or omit the body entirely.
Request
- cURL
- TypeScript
- Go
- Python
- PHP
- Ruby
- Java
- C#
curl https://api.inttegro.com/spec/countries \
-X POST \
-H "Content-Type: application/json"
import * as Inttegro from '@inttegro/inttegro-sdk'
const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.spec.countries()
package main
import (
"context"
"log"
"os"
inttegro "github.com/zebodotdev/inttegro-sdk-go/v4"
)
func main() {
ctx := context.Background()
client := inttegro.NewClient(os.Getenv("INTTEGRO_API_KEY"))
result, err := client.Spec.Countries(ctx)
if err != nil {
log.Fatal(err)
}
_ = result
}
import os
import inttegro
client = inttegro.InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])
result = client.spec.countries()
<?php
use Inttegro\Client;
$client = new Client($_ENV['INTTEGRO_API_KEY']);
$result = $client->spec->countries();
require "inttegro"
client = Inttegro::Client.new(api_key: ENV.fetch("INTTEGRO_API_KEY"))
result = client.spec.countries
import com.inttegro.Client;
public class Example {
public static void main(String[] args) throws Exception {
var client = new Client(System.getenv("INTTEGRO_API_KEY"));
var result = client.spec().countries();
}
}
using Inttegro;
using var inttegro = new InttegroClient(
Environment.GetEnvironmentVariable("INTTEGRO_API_KEY")!
);
var result = await inttegro.Spec.CountriesAsync();
Related resources
- Set up financial account - Use country specifications to show appropriate account types
- Accept a payment - Filter payment methods by country availability
- Financial Accounts - Complete API reference for financial accounts