{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/unstoppable-finance/main/json-schema/unstoppable-finance-pix-address-schema.json", "title": "PixAddress", "description": "PIX Address\n\nResponse containing PIX destination details.", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/unstoppable-finance-addresses-api-openapi.yml#/components/schemas/PixAddress", "properties": { "created_at": { "description": "When the address was created", "format": "date-time", "type": "string" }, "customer_id": { "description": "The customer ID", "format": "uuid", "type": "string" }, "id": { "description": "The ID of the address", "format": "uuid", "type": "string" }, "label": { "description": "Optional label for the address", "type": "string" }, "recipient": { "$ref": "#/$defs/RecipientPix" }, "status": { "$ref": "#/$defs/PixAddressStatus" }, "updated_at": { "description": "When the address was last updated", "format": "date-time", "type": "string" } }, "required": [ "id", "created_at", "updated_at", "customer_id", "recipient", "status" ], "type": "object", "$defs": { "BusinessName": { "properties": { "name": { "maxLength": 50, "minLength": 1, "type": "string" } }, "required": [ "name" ], "title": "BusinessName", "type": "object" }, "IndividualName": { "properties": { "family_name": { "maxLength": 50, "minLength": 1, "type": "string" }, "given_name": { "maxLength": 50, "minLength": 1, "type": "string" } }, "required": [ "given_name", "family_name" ], "title": "IndividualName", "type": "object" }, "PixAccountIdentifier": { "anyOf": [ { "$ref": "#/$defs/PixAccountIdentifier_PixCpfKey" }, { "$ref": "#/$defs/PixAccountIdentifier_PixCnpjKey" }, { "$ref": "#/$defs/PixAccountIdentifier_PixEmailKey" }, { "$ref": "#/$defs/PixAccountIdentifier_PixPhoneKey" }, { "$ref": "#/$defs/PixAccountIdentifier_PixEvpKey" }, { "$ref": "#/$defs/PixAccountIdentifier_PixBankDetails" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details.", "type": "object" }, "PixAccountIdentifier_PixBankDetails": { "allOf": [ { "properties": { "type": { "enum": [ "BANK_DETAILS" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixBankDetails" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountIdentifier_PixCnpjKey": { "allOf": [ { "properties": { "type": { "enum": [ "CNPJ" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixCnpjKey" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountIdentifier_PixCpfKey": { "allOf": [ { "properties": { "type": { "enum": [ "CPF" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixCpfKey" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountIdentifier_PixEmailKey": { "allOf": [ { "properties": { "type": { "enum": [ "EMAIL" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixEmailKey" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountIdentifier_PixEvpKey": { "allOf": [ { "properties": { "type": { "enum": [ "EVP" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixEvpKey" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountIdentifier_PixPhoneKey": { "allOf": [ { "properties": { "type": { "enum": [ "PHONE" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/PixPhoneKey" } ], "description": "PixAccountIdentifier\n\nHow the recipient's PIX account is identified: a DICT key of one of the\nfive key types, or full bank account details." }, "PixAccountType": { "description": "PixAccountType\n\nThe type of a Brazilian bank account.", "enum": [ "CHECKING", "SAVINGS", "SALARY", "TRANSACTION" ], "type": "string" }, "PixAddressStatus": { "description": "PIX Address Status", "enum": [ "RegistrationPending", "Registered", "RegistrationFailed" ], "type": "string" }, "PixBankDetails": { "description": "PixBankDetails\n\nFull Brazilian bank account details identifying the recipient's account,\nfor recipients without a registered PIX key.", "properties": { "account_number": { "description": "Account number including the verification (check) digit, with no\nseparator, e.g. `7140025418`.", "maxLength": 20, "minLength": 1, "type": "string" }, "account_type": { "$ref": "#/$defs/PixAccountType" }, "bank_code": { "description": "3-digit COMPE bank code or 8-digit ISPB, distinguished by length", "pattern": "^([0-9]{3}|[0-9]{8})$", "type": "string" }, "branch_code": { "description": "Branch number without the verification digit", "pattern": "^[0-9]{1,4}$", "type": "string" } }, "required": [ "bank_code", "branch_code", "account_number", "account_type" ], "title": "PixBankDetails", "type": "object" }, "PixCnpjKey": { "description": "PixCnpjKey\n\nA PIX DICT key that is the recipient's CNPJ.", "properties": { "key": { "description": "14-digit CNPJ, with or without the `XX.XXX.XXX/XXXX-XX` formatting", "pattern": "^([0-9]{14}|[0-9]{2}\\.[0-9]{3}\\.[0-9]{3}/[0-9]{4}-[0-9]{2})$", "type": "string" } }, "required": [ "key" ], "title": "PixCnpjKey", "type": "object" }, "PixCpfKey": { "description": "PixCpfKey\n\nA PIX DICT key that is the recipient's CPF.", "properties": { "key": { "description": "11-digit CPF, with or without the `XXX.XXX.XXX-XX` formatting", "pattern": "^([0-9]{11}|[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}-[0-9]{2})$", "type": "string" } }, "required": [ "key" ], "title": "PixCpfKey", "type": "object" }, "PixEmailKey": { "description": "PixEmailKey\n\nA PIX DICT key that is the recipient's email address.", "properties": { "key": { "maxLength": 77, "pattern": "^[^@\\s]+@[^@\\s]+$", "type": "string" } }, "required": [ "key" ], "title": "PixEmailKey", "type": "object" }, "PixEvpKey": { "description": "PixEvpKey\n\nA random PIX DICT key (EVP) generated by the recipient's bank.", "properties": { "key": { "description": "A lowercase UUID, e.g. 123e4567-e89b-12d3-a456-426614174000", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", "type": "string" } }, "required": [ "key" ], "title": "PixEvpKey", "type": "object" }, "PixPhoneKey": { "description": "PixPhoneKey\n\nA PIX DICT key that is the recipient's phone number.", "properties": { "key": { "description": "International format with leading `+`, e.g. +5511987654321", "pattern": "^\\+[1-9][0-9]{1,14}$", "type": "string" } }, "required": [ "key" ], "title": "PixPhoneKey", "type": "object" }, "RecipientName": { "anyOf": [ { "$ref": "#/$defs/RecipientName_IndividualName" }, { "$ref": "#/$defs/RecipientName_BusinessName" } ], "type": "object" }, "RecipientName_BusinessName": { "allOf": [ { "properties": { "type": { "enum": [ "Business" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/BusinessName" } ] }, "RecipientName_IndividualName": { "allOf": [ { "properties": { "type": { "enum": [ "Individual" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, { "$ref": "#/$defs/IndividualName" } ] }, "RecipientPix": { "description": "RecipientPix\n\nA PIX payout recipient.", "properties": { "account": { "$ref": "#/$defs/PixAccountIdentifier" }, "recipient": { "$ref": "#/$defs/RecipientName" }, "tax_id": { "description": "The recipient's CPF (11 digits) or CNPJ (14 digits), with or without\nthe usual `.`/`-`/`/` formatting. The payout is rejected if the\ndestination account is not registered to this tax ID.", "pattern": "^([0-9]{11}|[0-9]{14}|[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}-[0-9]{2}|[0-9]{2}\\.[0-9]{3}\\.[0-9]{3}/[0-9]{4}-[0-9]{2})$", "type": "string" } }, "required": [ "recipient", "tax_id", "account" ], "title": "RecipientPix", "type": "object" } } }