OpalTokenCreateRequest
Request to create an Opal token. Supports three creation patterns: (A) existing entity via `entity_id`, (B) inline entity via `entity`, or (C) existing session via `session_id`. Exactly one of these three fields must be provided.
Properties
| Name | Type | Description |
|---|---|---|
| entity_id | string | Pattern A: ID of an existing entity to use for the session. |
| entity | object | Pattern B: Inline entity creation payload. |
| session_id | string | Pattern C: ID of an existing session to create an additional token for. |
| mode | object | |
| appearance | string | UI appearance theme for the session. |
| identity_verification | object | Configuration for the `identity_verification` mode. Required when `mode` is `identity_verification`. |
| card_connect | object | Configuration for the `card_connect` mode. Required when `mode` is `card_connect`. |
| connect | object | Configuration for the `connect` mode. Required when `mode` is `connect`. |
| account_verification | object | Configuration for the `account_verification` mode. Required when `mode` is `account_verification`. |
| transactions | object | Configuration for the `transactions` mode. Required when `mode` is `transactions`. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/methodfi/main/json-schema/methodfi-opal-token-create-request-schema.json",
"title": "OpalTokenCreateRequest",
"description": "Request to create an Opal token. Supports three creation patterns: (A) existing entity via `entity_id`, (B) inline entity via `entity`, or (C) existing session via `session_id`. Exactly one of these three fields must be provided.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/methodfi-opal-api-openapi.yml#/components/schemas/OpalTokenCreateRequest",
"type": "object",
"properties": {
"entity_id": {
"type": "string",
"description": "Pattern A: ID of an existing entity to use for the session."
},
"entity": {
"type": "object",
"description": "Pattern B: Inline entity creation payload.",
"properties": {
"type": {
"type": "string",
"description": "Entity type.",
"enum": [
"individual"
]
},
"individual": {
"type": "object",
"description": "Individual details for entity creation."
}
}
},
"session_id": {
"type": "string",
"description": "Pattern C: ID of an existing session to create an additional token for."
},
"mode": {
"$ref": "#/$defs/OpalSessionMode"
},
"appearance": {
"type": "string",
"enum": [
"light",
"dark",
"system"
],
"description": "UI appearance theme for the session."
},
"identity_verification": {
"type": "object",
"description": "Configuration for the `identity_verification` mode. Required when `mode` is `identity_verification`.",
"properties": {
"skip_pii": {
"type": "array",
"items": {
"type": "string"
},
"description": "PII fields to skip during identity verification."
}
}
},
"card_connect": {
"type": "object",
"description": "Configuration for the `card_connect` mode. Required when `mode` is `card_connect`.",
"required": [
"selection_type"
],
"properties": {
"selection_type": {
"type": "string",
"enum": [
"single",
"multiple"
],
"description": "Whether the user can select one or multiple cards."
},
"account_filters": {
"$ref": "#/$defs/OpalCardConnectAccountFilters"
},
"skip_pii": {
"type": "array",
"items": {
"type": "string"
},
"description": "PII fields to skip during identity verification."
}
}
},
"connect": {
"type": "object",
"description": "Configuration for the `connect` mode. Required when `mode` is `connect`.",
"required": [
"selection_type"
],
"properties": {
"selection_type": {
"type": "string",
"enum": [
"single",
"multiple",
"all"
],
"description": "Account selection behavior."
},
"account_filters": {
"$ref": "#/$defs/OpalConnectAccountFilters"
},
"skip_pii": {
"type": "array",
"items": {
"type": "string"
},
"description": "PII fields to skip during identity verification."
}
}
},
"account_verification": {
"type": "object",
"description": "Configuration for the `account_verification` mode. Required when `mode` is `account_verification`.",
"required": [
"account_id"
],
"properties": {
"account_id": {
"type": "string",
"description": "ID of the account to verify."
},
"intent": {
"type": "string",
"enum": [
"data",
"payments",
"transactions"
],
"description": "The intent for account verification."
}
}
},
"transactions": {
"type": "object",
"description": "Configuration for the `transactions` mode. Required when `mode` is `transactions`."
}
},
"$defs": {
"OpalCardConnectAccountFilters": {
"type": "object",
"description": "Account filters for the card_connect mode.",
"properties": {
"exclude": {
"type": "object",
"properties": {
"mch_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Merchant IDs to exclude."
},
"unverified_account_numbers": {
"type": "boolean",
"description": "Whether to exclude accounts with unverified numbers."
}
}
}
}
},
"OpalConnectAccountFilters": {
"type": "object",
"description": "Account filters for the connect mode.",
"properties": {
"include": {
"type": "object",
"properties": {
"account_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Account liability types to include."
},
"products": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
},
"description": "Required products to filter by."
}
}
},
"exclude": {
"type": "object",
"properties": {
"account_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Account liability types to exclude."
},
"mch_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Merchant IDs to exclude."
},
"unverified_account_numbers": {
"type": "boolean",
"description": "Whether to exclude accounts with unverified numbers."
}
}
}
}
},
"OpalSessionMode": {
"type": "string",
"description": "The mode that determines which flows are configured for the session.",
"enum": [
"identity_verification",
"card_connect",
"connect",
"account_verification",
"transactions"
]
}
}
}
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
curl "https://apis.io/api/v1/json-schemas/methodfi-opal-token-create-request"
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.