Revolut · Schema

CreateCounterpartyRequest

CompanyFintechPaymentsBankingOpen BankingMerchant AcquiringCryptocurrencyCardsConsumer Banking

Properties

Name Type Description
profile_type string The type of the Revolut profile. Indicates whether the counterparty is a personal or business account. Provide it when adding a Revolut counterparty via Revtag.
revtag string The [Revtag](https://help.revolut.com/help/transfers/internal-transfers/username-payments/revtags/) of the counterparty to add.
name string The name of the counterparty, provided when the counterparty is being added via **Revtag**. If specified, `individual_name` and `company_name` must be empty. :::note The name that you provide must mat
company_name string The name of the counterparty, provided when the counterparty is a **company** (business account type) and is **not** being added via Revtag. If specified, `individual_name` and `name` must be empty. :
individual_name object
bank_country object
currency object
account_no string The bank account number of the counterparty.
iban string The IBAN number of the counterparty's account. This field is displayed for IBAN countries.
sort_code string The sort code of the counterparty's account. This field is required for GBP accounts.
routing_number string The routing number of the counterparty's account. This field is required for USD accounts.
bic string The BIC number of the counterparty's account. This field is required for non-SEPA IBAN/SWIFT.
clabe string The CLABE number of the counterparty's account. This field is required for SWIFT MX.
ifsc string The IFSC number of the counterparty's account. This field is required for INR accounts.
bsb_code string The BSB number of the counterparty's account. This field is required for AUD accounts.
address object
route string Routing method for US USD transfers. When omitted, defaults to `ach` for US-registered businesses and `fedwire` for non-US businesses. Required when `bank_country` is `US` and the desired routing meth
bank_number string Brazilian bank identification code (COMPE). Required for BR counterparties.
branch_code string Brazilian branch (agência) code. Required for BR counterparties.
account_type string Bank account type. Defaults to `checking` for US ACH transfers when omitted. Required for BR, CO, and CL counterparties.
tax_id string Tax identification number. Required and routed based on `bank_country` and recipient type: - **BR**: - **Individual**: CPF (Cadastro de Pessoas Físicas). Accepted formats: `^\d{11}$` or `^\d{3}\.\d{3}
national_id string National identification number. Required when `bank_country` is `CO` and `profile_type` is `personal`, must specify Colombian Cédula de Ciudadanía.
phone string The phone number of the counterparty in [E.164](https://en.wikipedia.org/wiki/E.164) format. - For internal (Revolut) counterparties: the recipient's Revolut phone number used to look them up. - For e
business_registration_id string Company registration number. Required for business LK counterparties (`profile_type`: `business`).
View JSON Schema on GitHub

JSON Schema

revolut-create-counterparty-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-create-counterparty-request-schema.json",
  "title": "CreateCounterpartyRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/revolut-counterparties-api-openapi.yml#/components/schemas/CreateCounterpartyRequest",
  "type": "object",
  "properties": {
    "profile_type": {
      "type": "string",
      "enum": [
        "personal",
        "business"
      ],
      "description": "The type of the Revolut profile.\nIndicates whether the counterparty is a personal or business account.\nProvide it when adding a Revolut counterparty via Revtag."
    },
    "revtag": {
      "type": "string",
      "description": "The [Revtag](https://help.revolut.com/help/transfers/internal-transfers/username-payments/revtags/) of the counterparty to add."
    },
    "name": {
      "type": "string",
      "description": "The name of the counterparty, provided when the counterparty is being added via **Revtag**.\n\nIf specified, `individual_name` and `company_name` must be empty.\n\n:::note\nThe name that you provide must match or closely match the actual name associated with the account that you're trying to add.\nOtherwise, the creation fails and a `404` error is returned.\n:::\n"
    },
    "company_name": {
      "type": "string",
      "description": "The name of the counterparty, provided when the counterparty is a **company** (business account type) and is **not** being added via Revtag.\n\nIf specified, `individual_name` and `name` must be empty.\n\n:::warning\nThe `company_name` must contain at least 2 letters (not just characters).\nFor example, names like `12` will fail validation because they are two characters but not two letters.\n:::"
    },
    "individual_name": {
      "$ref": "#/$defs/IndividualName"
    },
    "bank_country": {
      "$ref": "#/$defs/BankCountryCode"
    },
    "currency": {
      "$ref": "#/$defs/Currency"
    },
    "account_no": {
      "type": "string",
      "description": "The bank account number of the counterparty."
    },
    "iban": {
      "type": "string",
      "description": "The IBAN number of the counterparty's account. This field is displayed for IBAN countries."
    },
    "sort_code": {
      "type": "string",
      "description": "The sort code of the counterparty's account. This field is required for GBP accounts."
    },
    "routing_number": {
      "type": "string",
      "description": "The routing number of the counterparty's account. This field is required for USD accounts."
    },
    "bic": {
      "type": "string",
      "description": "The BIC number of the counterparty's account. This field is required for non-SEPA IBAN/SWIFT."
    },
    "clabe": {
      "type": "string",
      "description": "The CLABE number of the counterparty's account. This field is required for SWIFT MX."
    },
    "ifsc": {
      "type": "string",
      "description": "The IFSC number of the counterparty's account. This field is required for INR accounts."
    },
    "bsb_code": {
      "type": "string",
      "description": "The BSB number of the counterparty's account. This field is required for AUD accounts."
    },
    "address": {
      "$ref": "#/$defs/BeneficiaryAddress"
    },
    "route": {
      "type": "string",
      "enum": [
        "ach",
        "fedwire",
        "swift"
      ],
      "description": "Routing method for US USD transfers. When omitted, defaults to `ach` for US-registered businesses and `fedwire` for non-US businesses. \n\nRequired when `bank_country` is `US` and the desired routing method differs from the default."
    },
    "bank_number": {
      "type": "string",
      "minLength": 3,
      "maxLength": 3,
      "description": "Brazilian bank identification code (COMPE). Required for BR counterparties."
    },
    "branch_code": {
      "type": "string",
      "minLength": 4,
      "maxLength": 4,
      "description": "Brazilian branch (agência) code. Required for BR counterparties."
    },
    "account_type": {
      "type": "string",
      "enum": [
        "checking",
        "savings"
      ],
      "description": "Bank account type. Defaults to `checking` for US ACH transfers when omitted. \n\nRequired for BR, CO, and CL counterparties."
    },
    "tax_id": {
      "type": "string",
      "maxLength": 20,
      "description": "Tax identification number.\n\nRequired and routed based on `bank_country` and recipient type:\n- **BR**:\n  - **Individual**: CPF (Cadastro de Pessoas Físicas). Accepted formats: `^\\d{11}$` or `^\\d{3}\\.\\d{3}\\.\\d{3}-\\d{2}$`.\n  - **Company**: CNPJ (Cadastro Nacional da Pessoa Jurídica). Accepted formats: `^\\d{14}$` or `^\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}-\\d{2}$`.\n- **CO (company)**: NIT (Número de Identificación Tributaria). Accepted format: `^\\d{10}$`.\n- **CL (individual, company)**: RUT (Rol Único Tributario)."
    },
    "national_id": {
      "type": "string",
      "description": "National identification number. Required  when `bank_country` is `CO` and `profile_type` is `personal`, must specify Colombian Cédula de Ciudadanía."
    },
    "phone": {
      "type": "string",
      "maxLength": 20,
      "description": "The phone number of the counterparty in [E.164](https://en.wikipedia.org/wiki/E.164) format.\n\n- For internal (Revolut) counterparties: the recipient's Revolut phone number used to look them up.\n- For external counterparties in CO, KR, and LK: the bank account phone number. Required when `bank_country` is `CO`, `KR`, or `LK`.\n\nCountry-specific formats:\n- **CO**: `+57` followed by 10 digits (`^\\+?57\\d{10}$`)\n- **KR**: `+82` followed by 10 digits (`^\\+?82\\d{10}$`)\n- **LK**: `+94` followed by 10 digits (`^\\+?94\\d{10}$`)"
    },
    "business_registration_id": {
      "type": "string",
      "maxLength": 64,
      "description": "Company registration number. Required for business LK counterparties (`profile_type`: `business`)."
    }
  },
  "$defs": {
    "BankCountryCode": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "description": "The country of the bank, provided as a 2-letter [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) code."
    },
    "BeneficiaryAddress": {
      "type": "object",
      "description": "The address of the counterparty.",
      "properties": {
        "street_line1": {
          "type": "string",
          "description": "Street line 1 information."
        },
        "street_line2": {
          "type": "string",
          "description": "Street line 2 information."
        },
        "region": {
          "type": "string",
          "description": "The name of the region (state or province), for example, Ontario for Canada."
        },
        "city": {
          "type": "string",
          "description": "The name of the city."
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "description": "The country of the counterparty, as a 2-letter [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) code."
        },
        "postcode": {
          "type": "string",
          "description": "The postcode of the counterparty address."
        }
      },
      "required": [
        "country",
        "postcode"
      ]
    },
    "Currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case."
    },
    "IndividualName": {
      "type": "object",
      "description": "The name of the counterparty, provided when the counterparty is an **individual** (personal account type) and is **not** being added via Revtag.\n\nIf specified, `company_name` and `name` must be empty.",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "The first name of the individual counterparty."
        },
        "last_name": {
          "type": "string",
          "description": "The last name of the individual counterparty."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/revolut-create-counterparty-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.