IF · Schema
AccountCreateRequest
CompanyFinancial ServicesEmbedded FinanceBanking as a ServicePaymentsCardsForeign ExchangeComplianceOpen Banking
Properties
| Name | Type | Description |
|---|---|---|
| workflow | object | |
| data | object | |
| connect | object | |
| metadata | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/if/main/json-schema/if-account-create-request-schema.json",
"title": "AccountCreateRequest",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/if-account-api-openapi.yml#/components/schemas/AccountCreateRequest",
"required": [
"connect",
"data",
"metadata",
"workflow"
],
"type": "object",
"properties": {
"workflow": {
"$ref": "#/$defs/AccountCreateWorkflowContainer"
},
"data": {
"$ref": "#/$defs/AccountCreateDataContainer"
},
"connect": {
"$ref": "#/$defs/AccountCreateConnectContainer"
},
"metadata": {
"$ref": "#/$defs/AccountCreateMetadataContainer"
}
},
"$defs": {
"Account": {
"required": [
"accountHolderIdentityType",
"clientId",
"country",
"currency",
"id",
"ledgerNumber",
"mainAccountId",
"routingCodes",
"serviceProvider",
"status"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "id of account",
"format": "uuid",
"readOnly": true
},
"clientId": {
"type": "string",
"description": "id of client",
"format": "uuid"
},
"status": {
"$ref": "#/$defs/AccountStatus"
},
"country": {
"maxLength": 2,
"minLength": 2,
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"readOnly": true
},
"currency": {
"maxLength": 3,
"minLength": 3,
"type": "string",
"description": "ISO 4217 currency code"
},
"alias": {
"maxLength": 30,
"type": "string",
"description": "alias of account, refer to Accounts section in Guides for details"
},
"routingCodes": {
"$ref": "#/$defs/RoutingCodeMap"
},
"iban": {
"maxLength": 31,
"minLength": 15,
"pattern": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{4}([a-zA-Z0-9]?){3,19}$|^[A-Z]{2}\\d{5}[0-9A-Z]{13}$",
"type": [
"string",
"null"
],
"description": "iban assigned to account",
"readOnly": true
},
"accountNumber": {
"maxLength": 20,
"minLength": 8,
"pattern": "^[0-9]{8,20}$",
"type": [
"string",
"null"
],
"description": "account number assigned to account",
"readOnly": true
},
"accountHolderName": {
"type": "string"
},
"ledgerNumber": {
"maxLength": 8,
"minLength": 8,
"pattern": "^[0-9]{8,8}$",
"type": "string",
"description": "unique ledger number of account generated internally",
"readOnly": true
},
"availableBalance": {
"type": "number",
"description": "available balance of account",
"format": "double",
"readOnly": true
},
"receivableBalance": {
"type": "number",
"description": "receivable balance of account",
"format": "double",
"readOnly": true
},
"payableBalance": {
"type": "number",
"description": "payable balance of account",
"format": "double",
"readOnly": true
},
"accountHolderIdentityType": {
"$ref": "#/$defs/LegalEntityType"
},
"connection": {
"$ref": "#/$defs/AccountConnectionResource"
},
"serviceProvider": {
"type": "string",
"description": "service provider which this account connected to",
"readOnly": true
},
"mainAccountId": {
"type": "string",
"description": "the main account id which the given account is linked to",
"format": "uuid",
"readOnly": true
},
"attributes": {
"$ref": "#/$defs/AttributeMap"
}
}
},
"AccountConnectionResource": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"serviceProvider": {
"type": "string"
},
"reference": {
"type": "string"
},
"state": {
"$ref": "#/$defs/ServiceProviderConnectionState"
},
"status": {
"$ref": "#/$defs/ThirdPartyAccountStatus"
},
"method": {
"$ref": "#/$defs/ConnectMethod"
},
"error": {
"$ref": "#/$defs/ConnectionErrorResource"
}
},
"description": "Account Connection Resource Object",
"readOnly": true
},
"AccountCreateConnectContainer": {
"required": [
"type"
],
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "service provider selection type",
"enum": [
"explicit"
]
},
"serviceProvider": {
"type": "string",
"description": "account is connected to this service provider"
},
"method": {
"$ref": "#/$defs/ConnectMethod"
}
}
},
"AccountCreateDataContainer": {
"required": [
"account"
],
"type": "object",
"properties": {
"account": {
"$ref": "#/$defs/Account"
},
"sourceId": {
"type": "string",
"description": "id of the account to be migrated, required if workflow is migration",
"writeOnly": true
}
}
},
"AccountCreateMetadataContainer": {
"type": "object"
},
"AccountCreateWorkflowContainer": {
"required": [
"code"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "workflow code",
"enum": [
"client.issuing",
"client.sub-account",
"client.migration"
]
}
}
},
"AccountStatus": {
"type": "string",
"description": "status of account",
"readOnly": true,
"enum": [
"pending",
"active",
"inactive",
"suspended",
"closed",
"declined"
]
},
"AttributeMap": {
"type": "object",
"description": "attributes of account"
},
"ConnectMethod": {
"type": "string",
"enum": [
"built-in",
"plug-in"
]
},
"ConnectionErrorResource": {
"type": "object",
"properties": {
"category": {
"$ref": "#/$defs/ErrorCategory"
},
"origin": {
"$ref": "#/$defs/ErrorOrigin"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"attributes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"ErrorCategory": {
"type": "string",
"enum": [
"functional",
"technical"
]
},
"ErrorOrigin": {
"type": "string",
"enum": [
"customer",
"platform",
"provider"
]
},
"LegalEntityType": {
"type": "string",
"description": "type of account holder client's identity",
"readOnly": true,
"enum": [
"corporate",
"individual"
]
},
"RoutingCodeMap": {
"type": "object",
"description": "routing codes of account as map, refer to Accounts section in Guides for details",
"readOnly": true
},
"ServiceProviderConnectionState": {
"type": "string",
"enum": [
"pending",
"creation-in-progress",
"update-in-progress",
"dependency-completed",
"completed-up-to-date",
"completed-outdated",
"dependency-failed",
"creation-failed"
]
},
"ThirdPartyAccountStatus": {
"type": "string",
"enum": [
"active",
"inactive",
"closed"
]
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/if-account-create-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.