Inyo

Schemas

The Schema endpoints return country-specific field definitions for accounts, payouts, and persons. Query these before creating resources to determine which fields are required, optional, and what validation rules apply.

Use schemas to:

  • Build dynamic forms that adapt to country-specific requirements
  • Validate input before submitting to creation endpoints
  • Display the correct fields for each payout corridor

Account Schema

Returns the required and optional fields for creating a bank account in a given country.

Endpoint

GET https://{FQDN}/schema/account

Headers:

HeaderValue
AuthorizationBearer {accessToken}

Query Parameters

ParameterTypeRequiredDescription
countryCodestringCountry code (e.g., "BR", "US", "SG")

Example Request

curl -X GET 'https://{FQDN}/schema/account?countryCode=BR' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'

Response (200)

{
  "countryCode": "BR",
  "fields": [
    {
      "name": "accountNumber",
      "type": "string",
      "required": true,
      "label": "Account Number",
      "maxLength": 20
    },
    {
      "name": "branchCode",
      "type": "string",
      "required": true,
      "label": "Branch Code",
      "maxLength": 6
    },
    {
      "name": "accountType",
      "type": "enum",
      "required": true,
      "label": "Account Type",
      "values": ["CHECKING", "SAVINGS"]
    },
    {
      "name": "bankCode",
      "type": "string",
      "required": true,
      "label": "Bank Code",
      "maxLength": 5
    }
  ]
}

Payout Schema

Returns the required and optional fields for creating a payout in a given country.

Endpoint

GET https://{FQDN}/schema/payout

Headers:

HeaderValue
AuthorizationBearer {accessToken}

Query Parameters

ParameterTypeRequiredDescription
countryCodestringCountry code (e.g., "BR", "US", "PH")

Example Request

curl -X GET 'https://{FQDN}/schema/payout?countryCode=PH' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'

Response (200)

{
  "countryCode": "PH",
  "fields": [
    {
      "name": "destinationType",
      "type": "enum",
      "required": true,
      "label": "Destination Type",
      "values": ["BANK_ACCOUNT", "WALLET", "INSTAPAY"]
    },
    {
      "name": "bankCode",
      "type": "string",
      "required": false,
      "label": "Bank Code",
      "dependsOn": "destinationType=BANK_ACCOUNT"
    },
    {
      "name": "accountNumber",
      "type": "string",
      "required": false,
      "label": "Account Number",
      "dependsOn": "destinationType=BANK_ACCOUNT"
    },
    {
      "name": "walletId",
      "type": "string",
      "required": false,
      "label": "Wallet ID",
      "dependsOn": "destinationType=WALLET"
    }
  ]
}

Person Schema

Returns the required and optional fields for creating a payment person (KYC) in a given country.

Endpoint

GET https://{FQDN}/schema/person

Headers:

HeaderValue
AuthorizationBearer {accessToken}

Query Parameters

ParameterTypeRequiredDescription
countryCodestringCountry code (e.g., "BR", "US", "IN")

Example Request

curl -X GET 'https://{FQDN}/schema/person?countryCode=IN' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'

Response (200)

{
  "countryCode": "IN",
  "fields": [
    {
      "name": "firstName",
      "type": "string",
      "required": true,
      "label": "First Name",
      "maxLength": 50
    },
    {
      "name": "lastName",
      "type": "string",
      "required": true,
      "label": "Last Name",
      "maxLength": 50
    },
    {
      "name": "identificationType",
      "type": "enum",
      "required": true,
      "label": "ID Type",
      "values": ["PAN", "AADHAAR", "PASSPORT"]
    },
    {
      "name": "identification",
      "type": "string",
      "required": true,
      "label": "ID Number",
      "maxLength": 20
    },
    {
      "name": "phoneNumber",
      "type": "string",
      "required": true,
      "label": "Phone Number"
    }
  ]
}

Response Fields

FieldTypeDescription
countryCodestringThe queried country code
fieldsarrayArray of field definitions
fields[].namestringField name to use in API requests
fields[].typestringData type: "string", "enum", "number", "boolean"
fields[].requiredbooleanWhether the field is mandatory
fields[].labelstringHuman-readable label for form display
fields[].maxLengthintegerMaximum character length (when applicable)
fields[].valuesarrayAllowed values (for enum type fields)
fields[].dependsOnstringConditional requirement (e.g., "destinationType=BANK_ACCOUNT")

What's Next

  • Payment Person — Create and validate persons using the schema fields
  • Banks — Look up bank codes to populate bank selection fields
  • Check Account — Validate account details before transacting