{
  "components": {
    "schemas": {
      "ACHAccountType": {
        "description": "ACH bank account type.",
        "enum": [
          "CHECKING",
          "SAVINGS"
        ],
        "title": "ACHAccountType",
        "type": "string"
      },
      "AccountBalanceResponse": {
        "description": "Top-level response for GET /v1/accounts/{account_id}/balance.",
        "properties": {
          "account_id": {
            "description": "Quadra account identifier",
            "title": "Account Id",
            "type": "string"
          },
          "as_of": {
            "description": "ISO 8601 timestamp of the balance snapshot",
            "title": "As Of",
            "type": "string"
          },
          "assets": {
            "description": "Asset balances",
            "items": {
              "$ref": "#/components/schemas/AssetEntry"
            },
            "title": "Assets",
            "type": "array"
          },
          "banking_coordinates": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BankingCoordinates"
              },
              {
                "type": "null"
              }
            ],
            "description": "Banking coordinates from ACH payment methods"
          },
          "committed_to_products": {
            "description": "Open product-instance commitments where this account is the locker",
            "items": {
              "$ref": "#/components/schemas/CommittedProductSummary"
            },
            "title": "Committed To Products",
            "type": "array"
          },
          "committed_to_squads": {
            "description": "The account's position in each OPEN squad it belongs to (RFC-018, SQ-16)",
            "items": {
              "$ref": "#/components/schemas/CommittedSquadSummary"
            },
            "title": "Committed To Squads",
            "type": "array"
          },
          "consistency": {
            "$ref": "#/components/schemas/BalanceConsistency",
            "description": "Consistency metadata"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Owner party display name",
            "title": "Display Name"
          },
          "positions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ReconstructedPosition"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reconstructed position set (only under as_of with include=positions)",
            "title": "Positions"
          },
          "reconstruction": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Reconstruction"
              },
              {
                "type": "null"
              }
            ],
            "description": "Present only under as_of/as_of_seq: commit-time reconstruction provenance"
          },
          "type": {
            "description": "Account type (CUSTOMER, ASSET, TRANSIT, REVENUE, EXCEPTION)",
            "title": "Type",
            "type": "string"
          },
          "unit": {
            "default": "cents",
            "description": "Unit of balance amounts",
            "title": "Unit",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "type",
          "as_of",
          "assets",
          "consistency"
        ],
        "title": "AccountBalanceResponse",
        "type": "object"
      },
      "AccountCreateRequest": {
        "description": "Request body for creating a new account.",
        "properties": {
          "currency": {
            "description": "ISO 4217 currency code (e.g., BRL)",
            "maxLength": 3,
            "minLength": 3,
            "title": "Currency",
            "type": "string"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional free-form metadata (max 8KB)",
            "title": "Metadata"
          },
          "owner_party_id": {
            "description": "Party ID that owns this account",
            "minLength": 1,
            "title": "Owner Party Id",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType",
            "description": "Account type: CUSTOMER, ASSET, TRANSIT, REVENUE, or EXCEPTION"
          }
        },
        "required": [
          "type",
          "currency",
          "owner_party_id"
        ],
        "title": "AccountCreateRequest",
        "type": "object"
      },
      "AccountInvitationListResponse": {
        "properties": {
          "invitations": {
            "items": {
              "$ref": "#/components/schemas/AccountInvitationOut"
            },
            "title": "Invitations",
            "type": "array"
          }
        },
        "title": "AccountInvitationListResponse",
        "type": "object"
      },
      "AccountInvitationOut": {
        "description": "One PENDING invite in the invitee inbox ``GET /v1/accounts/{acc_id}/invitations``.\n\n``members`` is the squad's full current roster — the creator/owner, already-joined\nmembers (``status=\"ACTIVE\"``), and other pending invitees (``role=\"INVITED\"`` /\n``status=\"PENDING\"``) — so the invitee can see who's already in before accepting.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "invited_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Invited At"
          },
          "inviter_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inviter Account Id"
          },
          "members": {
            "items": {
              "$ref": "#/components/schemas/SquadMemberOut"
            },
            "title": "Members",
            "type": "array"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "sqd_id": {
            "title": "Sqd Id",
            "type": "string"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "sqd_id"
        ],
        "title": "AccountInvitationOut",
        "type": "object"
      },
      "AccountJournalDelta": {
        "description": "Per-position component of one JACC account delta.",
        "properties": {
          "asset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asset"
          },
          "position_id": {
            "title": "Position Id",
            "type": "string"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "position_id"
        ],
        "title": "AccountJournalDelta",
        "type": "object"
      },
      "AccountJournalEntryItem": {
        "description": "One JACC row: the account-scoped delta of one committed entry.",
        "properties": {
          "action_type": {
            "title": "Action Type",
            "type": "integer"
          },
          "action_type_name": {
            "title": "Action Type Name",
            "type": "string"
          },
          "commit_timestamp": {
            "title": "Commit Timestamp",
            "type": "string"
          },
          "consumed": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AccountJournalDelta"
            },
            "title": "Consumed",
            "type": "array"
          },
          "created": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/AccountJournalDelta"
            },
            "title": "Created",
            "type": "array"
          },
          "seq_no": {
            "title": "Seq No",
            "type": "integer"
          }
        },
        "required": [
          "seq_no",
          "action_type",
          "action_type_name",
          "commit_timestamp"
        ],
        "title": "AccountJournalEntryItem",
        "type": "object"
      },
      "AccountJournalListResponse": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/AccountJournalEntryItem"
            },
            "title": "Items",
            "type": "array"
          },
          "journal_head_seq": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Journal Head Seq"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "account_id",
          "items"
        ],
        "title": "AccountJournalListResponse",
        "type": "object"
      },
      "AccountResponse": {
        "description": "Response model for account operations.",
        "example": {
          "address": "addr_test1qz...",
          "created_at": "2026-01-27T12:34:56Z",
          "created_by": "api_key_xyz",
          "currency": "BRL",
          "id": "acc_01JQXYZ123ABC",
          "is_frozen": false,
          "metadata": {
            "label": "Main wallet"
          },
          "owner_party_id": "pty_01JQXYZ456DEF",
          "status": "ACTIVE",
          "type": "CUSTOMER",
          "updated_at": "2026-01-27T12:34:56Z"
        },
        "properties": {
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cardano address for this account",
            "title": "Address"
          },
          "created_at": {
            "description": "ISO 8601 timestamp of creation",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "description": "API client that created this account",
            "title": "Created By",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code",
            "title": "Currency",
            "type": "string"
          },
          "id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Id",
            "type": "string"
          },
          "is_frozen": {
            "description": "Whether the account is frozen for operations",
            "title": "Is Frozen",
            "type": "boolean"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Free-form metadata",
            "title": "Metadata"
          },
          "owner_party_id": {
            "description": "Party ID that owns this account",
            "title": "Owner Party Id",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatus",
            "description": "Account lifecycle status"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType",
            "description": "Account type"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp of last update",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "currency",
          "owner_party_id",
          "status",
          "is_frozen",
          "created_by",
          "created_at",
          "updated_at"
        ],
        "title": "AccountResponse",
        "type": "object"
      },
      "AccountSearchItemOut": {
        "description": "Single account item in search results.",
        "properties": {
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cardano address for this account",
            "title": "Address"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ISO 4217 currency code",
            "title": "Currency"
          },
          "id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Id",
            "type": "string"
          },
          "is_frozen": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether the account is frozen for operations",
            "title": "Is Frozen"
          },
          "owner_party_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Party ID that owns this account",
            "title": "Owner Party Id"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Account lifecycle status",
            "title": "Status"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Account type",
            "title": "Type"
          }
        },
        "required": [
          "id"
        ],
        "title": "AccountSearchItemOut",
        "type": "object"
      },
      "AccountSearchResponseOut": {
        "description": "Paginated list of accounts.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/AccountSearchItemOut"
            },
            "title": "Data",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "data"
        ],
        "title": "AccountSearchResponseOut",
        "type": "object"
      },
      "AccountSquadListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AccountSquadOut"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "title": "AccountSquadListResponse",
        "type": "object"
      },
      "AccountSquadOut": {
        "properties": {
          "balance": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "goal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SquadGoalBlockOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "member_count": {
            "title": "Member Count",
            "type": "integer"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          },
          "sqd_id": {
            "title": "Sqd Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "template": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Template"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "your_net_cents": {
            "title": "Your Net Cents",
            "type": "integer"
          }
        },
        "required": [
          "sqd_id",
          "state",
          "your_net_cents",
          "balance",
          "member_count"
        ],
        "title": "AccountSquadOut",
        "type": "object"
      },
      "AccountStatus": {
        "description": "Account lifecycle status.",
        "enum": [
          "ACTIVE",
          "CLOSED"
        ],
        "title": "AccountStatus",
        "type": "string"
      },
      "AccountType": {
        "description": "Account type enum - controls what operations are allowed.",
        "enum": [
          "ASSET",
          "TRANSIT",
          "REVENUE",
          "EXCEPTION",
          "CUSTOMER",
          "EXTERNAL",
          "GUEST",
          "SQUAD"
        ],
        "title": "AccountType",
        "type": "string"
      },
      "AccountWithPaymentMethodsResponse": {
        "description": "Account response including external payment methods.",
        "properties": {
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cardano address for this account",
            "title": "Address"
          },
          "created_at": {
            "description": "ISO 8601 timestamp of creation",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "description": "API client that created this account",
            "title": "Created By",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code",
            "title": "Currency",
            "type": "string"
          },
          "external_payment_methods": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/PaymentMethodResponse"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of external payment methods bound to this account",
            "title": "External Payment Methods"
          },
          "id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Id",
            "type": "string"
          },
          "is_frozen": {
            "description": "Whether the account is frozen for operations",
            "title": "Is Frozen",
            "type": "boolean"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Free-form metadata",
            "title": "Metadata"
          },
          "owner_party_id": {
            "description": "Party ID that owns this account",
            "title": "Owner Party Id",
            "type": "string"
          },
          "promoted_to_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "If this GUEST/EXTERNAL account was promoted to a CUSTOMER account, the new account_id (RFC-021 §3.4 / LaaS-17); queries follow the pointer to reconcile history",
            "title": "Promoted To Account Id"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatus",
            "description": "Account lifecycle status"
          },
          "type": {
            "$ref": "#/components/schemas/AccountType",
            "description": "Account type"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp of last update",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "currency",
          "owner_party_id",
          "status",
          "is_frozen",
          "created_by",
          "created_at",
          "updated_at"
        ],
        "title": "AccountWithPaymentMethodsResponse",
        "type": "object"
      },
      "Address": {
        "properties": {
          "city": {
            "minLength": 1,
            "title": "City",
            "type": "string"
          },
          "country": {
            "minLength": 2,
            "title": "Country",
            "type": "string"
          },
          "line1": {
            "minLength": 1,
            "title": "Line1",
            "type": "string"
          },
          "line2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2"
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Postal Code"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "type": {
            "minLength": 1,
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "line1",
          "city",
          "country"
        ],
        "title": "Address",
        "type": "object"
      },
      "AssetBalances": {
        "description": "Nested balance breakdown.",
        "properties": {
          "available": {
            "description": "Available balance in minor units",
            "title": "Available",
            "type": "integer"
          },
          "held": {
            "default": 0,
            "description": "Funds encumbered by active holds (LaaS-05) in minor units; still in the account but excluded from available",
            "title": "Held",
            "type": "integer"
          },
          "pending": {
            "default": 0,
            "description": "Pending balance from clearing obligations in minor units",
            "title": "Pending",
            "type": "integer"
          }
        },
        "required": [
          "available"
        ],
        "title": "AssetBalances",
        "type": "object"
      },
      "AssetEntry": {
        "description": "A single asset in the balance response.",
        "properties": {
          "balances": {
            "$ref": "#/components/schemas/AssetBalances",
            "description": "Balance breakdown"
          },
          "obligations": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ObligationSummary"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Obligation details (when include=obligations)",
            "title": "Obligations"
          },
          "symbol": {
            "description": "Currency symbol (e.g. BRL)",
            "title": "Symbol",
            "type": "string"
          }
        },
        "required": [
          "symbol",
          "balances"
        ],
        "title": "AssetEntry",
        "type": "object"
      },
      "BRMockCoordinates": {
        "description": "Coordinates for MOCK payments (testing only).",
        "properties": {
          "account_number": {
            "description": "Bank account number (4-17 digits)",
            "maxLength": 17,
            "minLength": 4,
            "title": "Account Number",
            "type": "string"
          },
          "account_type": {
            "default": "CHECKING",
            "description": "Bank account type",
            "title": "Account Type",
            "type": "string"
          },
          "type": {
            "const": "BR_MOCK",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "account_number"
        ],
        "title": "BRMockCoordinates",
        "type": "object"
      },
      "BRMockCoordinatesResponse": {
        "description": "Masked coordinates for MOCK in responses.",
        "properties": {
          "account_number_masked": {
            "description": "Masked account number (******XXXX)",
            "title": "Account Number Masked",
            "type": "string"
          },
          "account_type": {
            "description": "Bank account type",
            "title": "Account Type",
            "type": "string"
          },
          "type": {
            "const": "BR_MOCK",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "account_number_masked",
          "account_type"
        ],
        "title": "BRMockCoordinatesResponse",
        "type": "object"
      },
      "BRPixKeyCoordinates": {
        "description": "Coordinates for Pix key payments (LaaS-14).\n\nCounterparty send coordinates — we never DICT-register someone else's\nkey. The validator rewrites key_value to canonical normalized form\nbefore storage (one form across the stored method, the IDENTITY#PIX#\nrow, and GSI4).",
        "properties": {
          "key_type": {
            "description": "Pix key sub-type",
            "enum": [
              "EMAIL",
              "CPF",
              "CNPJ",
              "EVP",
              "PHONE"
            ],
            "title": "Key Type",
            "type": "string"
          },
          "key_value": {
            "description": "Pix key value (stored normalized, un-hashed)",
            "maxLength": 120,
            "minLength": 1,
            "title": "Key Value",
            "type": "string"
          },
          "type": {
            "const": "BR_PIX_KEY",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "key_type",
          "key_value"
        ],
        "title": "BRPixKeyCoordinates",
        "type": "object"
      },
      "BRPixKeyCoordinatesResponse": {
        "description": "Masked coordinates for Pix key in responses (EVP keys stay whole —\nalready pseudonymous).",
        "properties": {
          "key_type": {
            "description": "Pix key sub-type",
            "enum": [
              "EMAIL",
              "CPF",
              "CNPJ",
              "EVP",
              "PHONE"
            ],
            "title": "Key Type",
            "type": "string"
          },
          "key_value_masked": {
            "description": "Masked Pix key value",
            "title": "Key Value Masked",
            "type": "string"
          },
          "type": {
            "const": "BR_PIX_KEY",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "key_type",
          "key_value_masked"
        ],
        "title": "BRPixKeyCoordinatesResponse",
        "type": "object"
      },
      "BalanceConsistency": {
        "description": "Consistency metadata for the balance snapshot.",
        "properties": {
          "ledger_version": {
            "description": "Ledger version number",
            "title": "Ledger Version",
            "type": "integer"
          },
          "snapshot_id": {
            "description": "Hash-based snapshot identifier",
            "title": "Snapshot Id",
            "type": "string"
          }
        },
        "required": [
          "ledger_version",
          "snapshot_id"
        ],
        "title": "BalanceConsistency",
        "type": "object"
      },
      "BankingCoordinates": {
        "description": "Banking coordinates extracted from ACH payment methods.",
        "properties": {
          "account_number": {
            "description": "Bank account number",
            "title": "Account Number",
            "type": "string"
          },
          "routing_number": {
            "description": "ABA routing number",
            "title": "Routing Number",
            "type": "string"
          }
        },
        "required": [
          "account_number",
          "routing_number"
        ],
        "title": "BankingCoordinates",
        "type": "object"
      },
      "Capabilities": {
        "description": "Transaction capabilities for a payment method.",
        "properties": {
          "originate_debit": {
            "description": "Can originate debit pulls",
            "title": "Originate Debit",
            "type": "boolean"
          },
          "receive_credit": {
            "description": "Can receive credit transfers",
            "title": "Receive Credit",
            "type": "boolean"
          },
          "supports_returns": {
            "description": "Whether returns are supported",
            "title": "Supports Returns",
            "type": "boolean"
          }
        },
        "required": [
          "receive_credit",
          "originate_debit",
          "supports_returns"
        ],
        "title": "Capabilities",
        "type": "object"
      },
      "CommittedInstanceSummary": {
        "description": "One open product instance that an account is locked into.",
        "properties": {
          "amount": {
            "additionalProperties": true,
            "description": "{currency, value} committed by this account for this instance",
            "title": "Amount",
            "type": "object"
          },
          "created_at_utc": {
            "description": "ISO 8601 creation timestamp",
            "title": "Created At Utc",
            "type": "string"
          },
          "instance_id": {
            "description": "Product instance id (e.g. pri_<hex>)",
            "title": "Instance Id",
            "type": "string"
          },
          "links": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Hypermedia links",
            "title": "Links",
            "type": "object"
          },
          "role": {
            "description": "Account's relationship to the instance. ``owner`` — the only value the generic product index can report. A product's own party vocabulary (an escrow's locker/beneficiary, say) is the product's shape and lives in the tenant backend that defines it (LaaS-98).",
            "title": "Role",
            "type": "string"
          },
          "state": {
            "description": "Current product state",
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "instance_id",
          "role",
          "state",
          "amount",
          "created_at_utc"
        ],
        "title": "CommittedInstanceSummary",
        "type": "object"
      },
      "CommittedProductSummary": {
        "description": "Per-product roll-up of an account's open commitments.",
        "properties": {
          "instances": {
            "description": "Open instances contributing to the total",
            "items": {
              "$ref": "#/components/schemas/CommittedInstanceSummary"
            },
            "title": "Instances",
            "type": "array"
          },
          "product_id": {
            "description": "Product identifier (e.g. quadra-escrow)",
            "title": "Product Id",
            "type": "string"
          },
          "total_committed_value": {
            "description": "Sum of amount.value across open instances for this account",
            "title": "Total Committed Value",
            "type": "integer"
          }
        },
        "required": [
          "product_id",
          "total_committed_value"
        ],
        "title": "CommittedProductSummary",
        "type": "object"
      },
      "CommittedSquadSummary": {
        "description": "The account's position in one OPEN squad it is a member of (RFC-018, SQ-16).",
        "properties": {
          "funded_in_cents": {
            "description": "QBRL the account currently holds in the squad's funded pool",
            "title": "Funded In Cents",
            "type": "integer"
          },
          "has_open_debts": {
            "description": "True iff your_owed_cents > 0 (something to settle)",
            "title": "Has Open Debts",
            "type": "boolean"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Squad display name",
            "title": "Name"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The account's role in the squad (OWNER|SPENDER)",
            "title": "Role"
          },
          "sqd_id": {
            "description": "Squad identifier",
            "title": "Sqd Id",
            "type": "string"
          },
          "state": {
            "description": "Squad state (OPEN)",
            "title": "State",
            "type": "string"
          },
          "your_net_cents": {
            "description": "Signed net: positive = owed to you; negative = you owe",
            "title": "Your Net Cents",
            "type": "integer"
          },
          "your_owed_cents": {
            "description": "Sum of the account's open debt shares (what it must pay)",
            "title": "Your Owed Cents",
            "type": "integer"
          },
          "your_owed_to_cents": {
            "description": "Sum of open shares where the account is the creditor",
            "title": "Your Owed To Cents",
            "type": "integer"
          }
        },
        "required": [
          "sqd_id",
          "state",
          "funded_in_cents",
          "your_net_cents",
          "your_owed_cents",
          "your_owed_to_cents",
          "has_open_debts"
        ],
        "title": "CommittedSquadSummary",
        "type": "object"
      },
      "Contact": {
        "properties": {
          "is_primary": {
            "default": false,
            "title": "Is Primary",
            "type": "boolean"
          },
          "type": {
            "minLength": 1,
            "title": "Type",
            "type": "string"
          },
          "value": {
            "minLength": 3,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "title": "Contact",
        "type": "object"
      },
      "DependencyHealthOut": {
        "description": "Health status of a single dependency.",
        "properties": {
          "latency_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Latency Ms"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "status": {
            "enum": [
              "healthy",
              "degraded",
              "unhealthy"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "name",
          "status"
        ],
        "title": "DependencyHealthOut",
        "type": "object"
      },
      "Directionality": {
        "description": "Which directions the payment method supports.",
        "properties": {
          "inbound": {
            "description": "Can receive funds",
            "title": "Inbound",
            "type": "boolean"
          },
          "outbound": {
            "description": "Can send funds",
            "title": "Outbound",
            "type": "boolean"
          }
        },
        "required": [
          "inbound",
          "outbound"
        ],
        "title": "Directionality",
        "type": "object"
      },
      "EvidenceListResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/EvidenceOut"
            },
            "title": "Data",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "data"
        ],
        "title": "EvidenceListResponse",
        "type": "object"
      },
      "EvidenceOut": {
        "properties": {
          "ach_trace_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ach Trace Number"
          },
          "amount_currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Currency"
          },
          "amount_value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Value"
          },
          "created_at_utc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At Utc"
          },
          "creditor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creditor Account Id"
          },
          "evidence_id": {
            "title": "Evidence Id",
            "type": "string"
          },
          "evidence_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Type"
          },
          "obligation_utxo_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Obligation Utxo Id"
          },
          "occurred_at_utc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Occurred At Utc"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "resolved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolved At"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          }
        },
        "required": [
          "evidence_id"
        ],
        "title": "EvidenceOut",
        "type": "object"
      },
      "ExternalAccountCreateRequest": {
        "description": "Request body for creating an external (non-custodial) account.",
        "properties": {
          "display_name": {
            "description": "Human-readable display name for this counterparty",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "type": "string"
          },
          "identifier": {
            "description": "Raw identifier (server normalizes per scheme)",
            "minLength": 1,
            "title": "Identifier",
            "type": "string"
          },
          "scheme": {
            "$ref": "#/components/schemas/ExternalIdentityScheme",
            "description": "Identifier scheme: PIX_KEY or PHONE"
          }
        },
        "required": [
          "scheme",
          "identifier",
          "display_name"
        ],
        "title": "ExternalAccountCreateRequest",
        "type": "object"
      },
      "ExternalAccountResponse": {
        "description": "Response model for external account creation and detail endpoints.",
        "example": {
          "account_id": "acc_01JEXTABC123",
          "created_at": "2026-05-19T12:34:56Z",
          "external_identity": {
            "display_name": "Maria Silva",
            "identifier": "maria@example.com",
            "pix_subtype": "EMAIL",
            "scheme": "PIX_KEY"
          },
          "is_frozen": false,
          "status": "ACTIVE",
          "type": "EXTERNAL",
          "updated_at": "2026-05-19T12:34:56Z"
        },
        "properties": {
          "account_id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Account Id",
            "type": "string"
          },
          "created_at": {
            "description": "ISO 8601 timestamp of creation",
            "title": "Created At",
            "type": "string"
          },
          "external_identity": {
            "$ref": "#/components/schemas/ExternalIdentity",
            "description": "Normalized identity of the external counterparty"
          },
          "is_frozen": {
            "default": false,
            "description": "Whether the account is frozen",
            "title": "Is Frozen",
            "type": "boolean"
          },
          "promoted_to_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "If this external account was promoted to a CUSTOMER account, the new account_id (RFC-021 §5). Null otherwise.",
            "title": "Promoted To Account Id"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatus",
            "description": "Account lifecycle status"
          },
          "type": {
            "const": "EXTERNAL",
            "default": "EXTERNAL",
            "description": "Always EXTERNAL",
            "title": "Type",
            "type": "string"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp of last update",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "external_identity",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "ExternalAccountResponse",
        "type": "object"
      },
      "ExternalId": {
        "properties": {
          "key": {
            "minLength": 1,
            "title": "Key",
            "type": "string"
          },
          "system": {
            "minLength": 1,
            "title": "System",
            "type": "string"
          },
          "value": {
            "minLength": 1,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "system",
          "key",
          "value"
        ],
        "title": "ExternalId",
        "type": "object"
      },
      "ExternalIdentity": {
        "description": "Identity of an external (non-custodial) counterparty.\n\nThe `identifier` in this model is the *normalized* form (E.164 phones,\ndigits-only CPF/CNPJ, lowercased EVP/email) — never the raw user input.",
        "properties": {
          "display_name": {
            "description": "Human-readable display name",
            "title": "Display Name",
            "type": "string"
          },
          "identifier": {
            "description": "Normalized identifier",
            "title": "Identifier",
            "type": "string"
          },
          "pix_subtype": {
            "anyOf": [
              {
                "enum": [
                  "EMAIL",
                  "CPF",
                  "CNPJ",
                  "EVP",
                  "PHONE"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Detected PIX sub-type (EMAIL/CPF/CNPJ/EVP/PHONE); None for non-PIX schemes",
            "title": "Pix Subtype"
          },
          "scheme": {
            "$ref": "#/components/schemas/ExternalIdentityScheme",
            "description": "Identifier scheme"
          }
        },
        "required": [
          "scheme",
          "identifier",
          "display_name"
        ],
        "title": "ExternalIdentity",
        "type": "object"
      },
      "ExternalIdentityScheme": {
        "description": "Scheme that an external counterparty identifier belongs to.",
        "enum": [
          "PIX_KEY",
          "PHONE"
        ],
        "title": "ExternalIdentityScheme",
        "type": "string"
      },
      "GLAccountBalance": {
        "description": "GL account balance.",
        "properties": {
          "amount": {
            "description": "Balance in minor units as a decimal string (e.g. '325000.00')",
            "title": "Amount",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code",
            "title": "Currency",
            "type": "string"
          }
        },
        "required": [
          "currency",
          "amount"
        ],
        "title": "GLAccountBalance",
        "type": "object"
      },
      "GLAccountListResponse": {
        "description": "Response model for listing GL accounts.",
        "properties": {
          "accounts": {
            "description": "List of GL accounts",
            "items": {
              "$ref": "#/components/schemas/GLAccountSummary"
            },
            "title": "Accounts",
            "type": "array"
          }
        },
        "required": [
          "accounts"
        ],
        "title": "GLAccountListResponse",
        "type": "object"
      },
      "GLAccountResponse": {
        "description": "Response model for a single GL account detail (includes balance).",
        "properties": {
          "account_id": {
            "description": "GL account identifier",
            "title": "Account Id",
            "type": "string"
          },
          "balance": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GLAccountBalance"
              },
              {
                "type": "null"
              }
            ],
            "description": "Current balance"
          },
          "derived": {
            "default": false,
            "description": "Whether this is a derived/virtual account with no on-chain keys",
            "title": "Derived",
            "type": "boolean"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Human-readable account name",
            "title": "Name"
          },
          "normal_balance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Normal balance side (DR|CR). CR-normal nodes render cr − dr at roll-up (RFC-025).",
            "title": "Normal Balance"
          },
          "obligations": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ObligationSummary"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Obligation details (when include=obligations)",
            "title": "Obligations"
          },
          "parent_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Parent GL account ID",
            "title": "Parent Account Id"
          },
          "type": {
            "description": "Account type (ASSET, LIABILITY, TRANSIT, REVENUE, EXCEPTION)",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "type"
        ],
        "title": "GLAccountResponse",
        "type": "object"
      },
      "GLAccountSummary": {
        "description": "Summary model for GL accounts in list responses (no balance/obligations).",
        "properties": {
          "account_id": {
            "description": "GL account identifier",
            "title": "Account Id",
            "type": "string"
          },
          "derived": {
            "default": false,
            "description": "Whether this is a derived/virtual account with no on-chain keys",
            "title": "Derived",
            "type": "boolean"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Human-readable account name",
            "title": "Name"
          },
          "normal_balance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Normal balance side (DR|CR). CR-normal nodes render cr − dr at roll-up (RFC-025).",
            "title": "Normal Balance"
          },
          "parent_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Parent GL account ID",
            "title": "Parent Account Id"
          },
          "type": {
            "description": "Account type (ASSET, LIABILITY, TRANSIT, REVENUE, EXCEPTION)",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "type"
        ],
        "title": "GLAccountSummary",
        "type": "object"
      },
      "GLEntryLeg": {
        "description": "One DR/CR leg of a projected entry set — a per-account net flow per asset.",
        "properties": {
          "account_id": {
            "description": "Account the value moved in/out of",
            "title": "Account Id",
            "type": "string"
          },
          "accounting_day": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "América/São_Paulo (−03:00) accounting day",
            "title": "Accounting Day"
          },
          "amount_cents": {
            "description": "Absolute leg amount in minor units",
            "title": "Amount Cents",
            "type": "integer"
          },
          "asset": {
            "description": "QBRL or VQBRL#<policy_hash>",
            "title": "Asset",
            "type": "string"
          },
          "direction": {
            "description": "DR = value in, CR = value out",
            "enum": [
              "DR",
              "CR"
            ],
            "title": "Direction",
            "type": "string"
          },
          "effective_at": {
            "description": "Entry-set effective timestamp (ISO 8601)",
            "title": "Effective At",
            "type": "string"
          },
          "event_kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Entry-set classification (TRANSFER_INTERNAL, DEPOSIT, ...)",
            "title": "Event Kind"
          },
          "gl_node_id": {
            "description": "COA node the leg is classified to",
            "title": "Gl Node Id",
            "type": "string"
          },
          "layer": {
            "description": "CUSTODY (QBRL) or MEMO (per-squad vQBRL)",
            "enum": [
              "CUSTODY",
              "MEMO"
            ],
            "title": "Layer",
            "type": "string"
          },
          "leg": {
            "description": "Leg ordinal within the set (ordered over sorted account_id)",
            "title": "Leg",
            "type": "integer"
          },
          "obligation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Backing obligation (obl_*) where one exists",
            "title": "Obligation Id"
          },
          "tx_hash": {
            "description": "Confirmed Hydra transaction hash (entry-set id; cross-refs the journal)",
            "title": "Tx Hash",
            "type": "string"
          }
        },
        "required": [
          "tx_hash",
          "leg",
          "account_id",
          "gl_node_id",
          "direction",
          "amount_cents",
          "asset",
          "layer",
          "effective_at"
        ],
        "title": "GLEntryLeg",
        "type": "object"
      },
      "GLEntryLegListResponse": {
        "description": "Cursor-paginated leg feed (by account or by GL node).",
        "properties": {
          "items": {
            "description": "Leg rows, effective-time ordered",
            "items": {
              "$ref": "#/components/schemas/GLEntryLeg"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Opaque cursor; null when no more pages",
            "title": "Next Cursor"
          }
        },
        "required": [
          "items"
        ],
        "title": "GLEntryLegListResponse",
        "type": "object"
      },
      "GLEntrySetException": {
        "description": "Refusal marker for a transaction whose entry set could not be projected.",
        "properties": {
          "confirmed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the refusal was recorded",
            "title": "Confirmed At"
          },
          "detail": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Refusal specifics (imbalances, offending UTxOs)",
            "title": "Detail"
          },
          "reason": {
            "description": "Why the set was refused (UNBALANCED, UNATTRIBUTABLE, ...)",
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "title": "GLEntrySetException",
        "type": "object"
      },
      "GLEntrySetResponse": {
        "description": "Entry-set drill-down: header + legs (or the refusal marker).",
        "properties": {
          "accounting_day": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "América/São_Paulo (−03:00) accounting day",
            "title": "Accounting Day"
          },
          "balanced": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "DR=CR held per (asset, layer) — always true for written sets",
            "title": "Balanced"
          },
          "confirmed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Snapshot confirmation timestamp",
            "title": "Confirmed At"
          },
          "correlation": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "sqd_id / swp_instance_id / evidence_id where applicable",
            "title": "Correlation"
          },
          "effective_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Entry-set effective timestamp (ISO 8601)",
            "title": "Effective At"
          },
          "event_kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Null when the set was refused (exception present)",
            "title": "Event Kind"
          },
          "exception": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GLEntrySetException"
              },
              {
                "type": "null"
              }
            ],
            "description": "Present iff the set was refused"
          },
          "layer_totals": {
            "additionalProperties": {
              "$ref": "#/components/schemas/GLLayerTotals"
            },
            "description": "Per-'<asset>|<layer>' DR/CR totals",
            "title": "Layer Totals",
            "type": "object"
          },
          "legs": {
            "description": "Ordinal-ordered legs",
            "items": {
              "$ref": "#/components/schemas/GLEntryLeg"
            },
            "title": "Legs",
            "type": "array"
          },
          "obligation_ids": {
            "description": "Backing obligations (obl_*)",
            "items": {
              "type": "string"
            },
            "title": "Obligation Ids",
            "type": "array"
          },
          "ruleset_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Mapping-ruleset version stamped at projection",
            "title": "Ruleset Version"
          },
          "tx_hash": {
            "description": "Confirmed Hydra transaction hash",
            "title": "Tx Hash",
            "type": "string"
          }
        },
        "required": [
          "tx_hash"
        ],
        "title": "GLEntrySetResponse",
        "type": "object"
      },
      "GLLayerTotals": {
        "description": "Per-(asset|layer) DR/CR totals on an entry-set header.",
        "properties": {
          "cr_cents": {
            "description": "Sum of CR legs",
            "title": "Cr Cents",
            "type": "integer"
          },
          "dr_cents": {
            "description": "Sum of DR legs",
            "title": "Dr Cents",
            "type": "integer"
          }
        },
        "required": [
          "dr_cents",
          "cr_cents"
        ],
        "title": "GLLayerTotals",
        "type": "object"
      },
      "GLMappingRule": {
        "description": "One ordered mapping rule: match → COA node.",
        "properties": {
          "gl_node_id": {
            "description": "Target COA node for matching legs",
            "title": "Gl Node Id",
            "type": "string"
          },
          "match": {
            "$ref": "#/components/schemas/GLMappingRuleMatch",
            "description": "Conditions (missing key = wildcard)"
          }
        },
        "required": [
          "match",
          "gl_node_id"
        ],
        "title": "GLMappingRule",
        "type": "object"
      },
      "GLMappingRuleMatch": {
        "additionalProperties": false,
        "description": "Match object of one mapping rule; every present key must equal exactly.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Exact account id to match",
            "title": "Account Id"
          },
          "account_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Account type to match (CUSTOMER, SQUAD, ...)",
            "title": "Account Type"
          },
          "event_kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Entry-set event kind to match",
            "title": "Event Kind"
          },
          "product_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Validator/product id to match (e.g. quadra-escrow)",
            "title": "Product Id"
          }
        },
        "title": "GLMappingRuleMatch",
        "type": "object"
      },
      "GLMappingRulesetResponse": {
        "description": "The CURRENT transaction-type→node mapping ruleset (versioned, prospective-only).",
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When this version was appended",
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Operator client id that appended it",
            "title": "Created By"
          },
          "rules": {
            "description": "Ordered, first-match-wins",
            "items": {
              "$ref": "#/components/schemas/GLMappingRule"
            },
            "title": "Rules",
            "type": "array"
          },
          "version": {
            "description": "0 = no operator ruleset yet (built-in per-type defaults apply)",
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "version"
        ],
        "title": "GLMappingRulesetResponse",
        "type": "object"
      },
      "GLTrialBalanceNode": {
        "description": "One COA node's aggregate over the queried period/layer.",
        "properties": {
          "cr_cents": {
            "description": "Sum of CR over the period",
            "title": "Cr Cents",
            "type": "integer"
          },
          "dr_cents": {
            "description": "Sum of DR over the period",
            "title": "Dr Cents",
            "type": "integer"
          },
          "entry_count": {
            "description": "Entry sets that touched this node in the period",
            "title": "Entry Count",
            "type": "integer"
          },
          "gl_node_id": {
            "description": "COA node id (GL account row)",
            "title": "Gl Node Id",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Human-readable node name",
            "title": "Name"
          },
          "net_cents": {
            "description": "dr−cr for DR-normal nodes, cr−dr for CR-normal (D2 rendering)",
            "title": "Net Cents",
            "type": "integer"
          },
          "normal_balance": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Normal balance side (DR|CR)",
            "title": "Normal Balance"
          },
          "parent_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Parent GL node (sub-GL accounts)",
            "title": "Parent Account Id"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Node type (ASSET, LIABILITY, TRANSIT, REVENUE, EXCEPTION)",
            "title": "Type"
          }
        },
        "required": [
          "gl_node_id",
          "dr_cents",
          "cr_cents",
          "net_cents",
          "entry_count"
        ],
        "title": "GLTrialBalanceNode",
        "type": "object"
      },
      "GLTrialBalanceResponse": {
        "description": "Trial balance over an accounting-day range (rollup-Query-backed, no scans).",
        "properties": {
          "cr_total_cents": {
            "description": "Graph-wide CR total for the layer/period",
            "title": "Cr Total Cents",
            "type": "integer"
          },
          "dr_total_cents": {
            "description": "Graph-wide DR total for the layer/period",
            "title": "Dr Total Cents",
            "type": "integer"
          },
          "from": {
            "description": "Inclusive start accounting day (yyyy-mm-dd)",
            "title": "From",
            "type": "string"
          },
          "layer": {
            "description": "CUSTODY (default) or MEMO",
            "title": "Layer",
            "type": "string"
          },
          "nodes": {
            "description": "Per-node aggregates",
            "items": {
              "$ref": "#/components/schemas/GLTrialBalanceNode"
            },
            "title": "Nodes",
            "type": "array"
          },
          "to": {
            "description": "Inclusive end accounting day (yyyy-mm-dd)",
            "title": "To",
            "type": "string"
          },
          "zero_sum": {
            "description": "dr_total == cr_total (the graph-wide invariant, raw dr/cr)",
            "title": "Zero Sum",
            "type": "boolean"
          }
        },
        "required": [
          "from",
          "to",
          "layer",
          "nodes",
          "dr_total_cents",
          "cr_total_cents",
          "zero_sum"
        ],
        "title": "GLTrialBalanceResponse",
        "type": "object"
      },
      "GuestAccountCreateRequest": {
        "description": "Request body for creating a GUEST (custody-enabled, non-KYC) account.\n\nEmail identifiers are expressed as ``scheme=PIX_KEY`` — the server-side\nnormalizer classifies them as ``pix_subtype=EMAIL``.",
        "properties": {
          "display_name": {
            "description": "Human-readable display name for this guest",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "type": "string"
          },
          "identifier": {
            "description": "Raw identifier (server normalizes per scheme)",
            "minLength": 1,
            "title": "Identifier",
            "type": "string"
          },
          "owner_party_id": {
            "description": "Party that owns this guest account (required — guests must own a party)",
            "minLength": 1,
            "title": "Owner Party Id",
            "type": "string"
          },
          "scheme": {
            "$ref": "#/components/schemas/ExternalIdentityScheme",
            "description": "Identifier scheme: PIX_KEY or PHONE"
          }
        },
        "required": [
          "scheme",
          "identifier",
          "display_name",
          "owner_party_id"
        ],
        "title": "GuestAccountCreateRequest",
        "type": "object"
      },
      "GuestAccountResponse": {
        "description": "Response model for guest account creation.",
        "example": {
          "account_id": "acc_01JGSTABC123",
          "address": "addr_test1wq0examplecustodyaddress",
          "created_at": "2026-07-03T12:34:56Z",
          "external_identity": {
            "display_name": "Guest Silva",
            "identifier": "guest@example.com",
            "pix_subtype": "EMAIL",
            "scheme": "PIX_KEY"
          },
          "is_frozen": false,
          "owner_party_id": "party_01JOWNER123",
          "status": "ACTIVE",
          "type": "GUEST",
          "updated_at": "2026-07-03T12:34:56Z"
        },
        "properties": {
          "account_id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Account Id",
            "type": "string"
          },
          "address": {
            "description": "Cardano custody address (guests hold custody)",
            "title": "Address",
            "type": "string"
          },
          "created_at": {
            "description": "ISO 8601 timestamp of creation",
            "title": "Created At",
            "type": "string"
          },
          "external_identity": {
            "$ref": "#/components/schemas/ExternalIdentity",
            "description": "Normalized contact identity of the guest"
          },
          "is_frozen": {
            "default": false,
            "description": "Whether the account is frozen",
            "title": "Is Frozen",
            "type": "boolean"
          },
          "owner_party_id": {
            "description": "Party that owns this guest account",
            "title": "Owner Party Id",
            "type": "string"
          },
          "pix_identity": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PixIdentity"
              },
              {
                "type": "null"
              }
            ],
            "description": "PIX identity; null until registered via guest-02"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatus",
            "description": "Account lifecycle status"
          },
          "type": {
            "const": "GUEST",
            "default": "GUEST",
            "description": "Always GUEST",
            "title": "Type",
            "type": "string"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp of last update",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "external_identity",
          "address",
          "owner_party_id",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "GuestAccountResponse",
        "type": "object"
      },
      "GuestPixKeyRequest": {
        "description": "Request body for registering a guest's PIX key (scheme is implied PIX_KEY).",
        "properties": {
          "identifier": {
            "description": "Raw PIX key (server normalizes; sub-type auto-detected)",
            "minLength": 1,
            "title": "Identifier",
            "type": "string"
          }
        },
        "required": [
          "identifier"
        ],
        "title": "GuestPixKeyRequest",
        "type": "object"
      },
      "GuestPixKeyResponse": {
        "description": "Response model for PIX key registration on a GUEST account.",
        "properties": {
          "account_id": {
            "description": "Unique account identifier (acc_...)",
            "title": "Account Id",
            "type": "string"
          },
          "pix_identity": {
            "$ref": "#/components/schemas/PixIdentity",
            "description": "The registered PIX identity"
          }
        },
        "required": [
          "account_id",
          "pix_identity"
        ],
        "title": "GuestPixKeyResponse",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "HealthResponseOut": {
        "description": "Aggregated health check response.",
        "properties": {
          "dependencies": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/DependencyHealthOut"
            },
            "title": "Dependencies",
            "type": "array"
          },
          "service": {
            "title": "Service",
            "type": "string"
          },
          "status": {
            "enum": [
              "healthy",
              "degraded",
              "unhealthy"
            ],
            "title": "Status",
            "type": "string"
          },
          "timestamp": {
            "title": "Timestamp",
            "type": "string"
          },
          "validators": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Validators"
          }
        },
        "required": [
          "status",
          "service",
          "timestamp"
        ],
        "title": "HealthResponseOut",
        "type": "object"
      },
      "HoldDetailResponse": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "amount_cents": {
            "description": "Currently encumbered amount in centavos",
            "title": "Amount Cents",
            "type": "integer"
          },
          "capture_obligation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Capture Obligation Id"
          },
          "captured_amount_cents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captured Amount Cents"
          },
          "captured_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captured At"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "currency": {
            "title": "Currency",
            "type": "string"
          },
          "expired_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expired At"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "hold_id": {
            "title": "Hold Id",
            "type": "string"
          },
          "hold_type": {
            "title": "Hold Type",
            "type": "string"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reference"
          },
          "release_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Release Reason"
          },
          "released_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Released At"
          },
          "released_remainder_cents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Released Remainder Cents"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string"
          },
          "void_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Void Reason"
          }
        },
        "required": [
          "hold_id",
          "account_id",
          "amount_cents",
          "currency",
          "hold_type",
          "state",
          "created_at",
          "updated_at"
        ],
        "title": "HoldDetailResponse",
        "type": "object"
      },
      "HoldListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/HoldSummary"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "items"
        ],
        "title": "HoldListResponse",
        "type": "object"
      },
      "HoldSummary": {
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "amount_cents": {
            "description": "Currently encumbered amount in centavos",
            "title": "Amount Cents",
            "type": "integer"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "currency": {
            "title": "Currency",
            "type": "string"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "hold_id": {
            "title": "Hold Id",
            "type": "string"
          },
          "hold_type": {
            "title": "Hold Type",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "hold_id",
          "account_id",
          "amount_cents",
          "currency",
          "hold_type",
          "state",
          "created_at",
          "updated_at"
        ],
        "title": "HoldSummary",
        "type": "object"
      },
      "JournalEntryDetail": {
        "properties": {
          "accounts": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Accounts",
            "type": "array"
          },
          "action_type": {
            "description": "uint16 RFC-010 action code",
            "title": "Action Type",
            "type": "integer"
          },
          "action_type_name": {
            "description": "Registry name, or UNKNOWN_<code>",
            "title": "Action Type Name",
            "type": "string"
          },
          "commit_timestamp": {
            "description": "ISO-8601 instant (from commit_timestamp_unix_ms)",
            "title": "Commit Timestamp",
            "type": "string"
          },
          "commit_timestamp_unix_ms": {
            "title": "Commit Timestamp Unix Ms",
            "type": "integer"
          },
          "controller_sig": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Controller Sig"
          },
          "evidence_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Hash"
          },
          "hydra_tx_hash": {
            "title": "Hydra Tx Hash",
            "type": "string"
          },
          "input_positions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/JournalPositionProjection"
            },
            "title": "Input Positions",
            "type": "array"
          },
          "journal_hash": {
            "title": "Journal Hash",
            "type": "string"
          },
          "output_positions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/JournalPositionProjection"
            },
            "title": "Output Positions",
            "type": "array"
          },
          "payload_b64": {
            "description": "Canonical RFC-010 CBOR payload (base64); BLAKE2b-256 of it is journal_hash",
            "title": "Payload B64",
            "type": "string"
          },
          "prev_journal_hash": {
            "title": "Prev Journal Hash",
            "type": "string"
          },
          "seq_no": {
            "title": "Seq No",
            "type": "integer"
          },
          "value_movements": {
            "default": [],
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Value Movements",
            "type": "array"
          }
        },
        "required": [
          "seq_no",
          "action_type",
          "action_type_name",
          "commit_timestamp",
          "commit_timestamp_unix_ms",
          "hydra_tx_hash",
          "prev_journal_hash",
          "journal_hash",
          "payload_b64"
        ],
        "title": "JournalEntryDetail",
        "type": "object"
      },
      "JournalEntryItem": {
        "properties": {
          "accounts": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Accounts",
            "type": "array"
          },
          "action_type": {
            "description": "uint16 RFC-010 action code",
            "title": "Action Type",
            "type": "integer"
          },
          "action_type_name": {
            "description": "Registry name, or UNKNOWN_<code>",
            "title": "Action Type Name",
            "type": "string"
          },
          "commit_timestamp": {
            "description": "ISO-8601 instant (from commit_timestamp_unix_ms)",
            "title": "Commit Timestamp",
            "type": "string"
          },
          "commit_timestamp_unix_ms": {
            "title": "Commit Timestamp Unix Ms",
            "type": "integer"
          },
          "controller_sig": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Controller Sig"
          },
          "evidence_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Hash"
          },
          "hydra_tx_hash": {
            "title": "Hydra Tx Hash",
            "type": "string"
          },
          "input_positions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/JournalPositionProjection"
            },
            "title": "Input Positions",
            "type": "array"
          },
          "journal_hash": {
            "title": "Journal Hash",
            "type": "string"
          },
          "output_positions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/JournalPositionProjection"
            },
            "title": "Output Positions",
            "type": "array"
          },
          "prev_journal_hash": {
            "title": "Prev Journal Hash",
            "type": "string"
          },
          "seq_no": {
            "title": "Seq No",
            "type": "integer"
          },
          "value_movements": {
            "default": [],
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Value Movements",
            "type": "array"
          }
        },
        "required": [
          "seq_no",
          "action_type",
          "action_type_name",
          "commit_timestamp",
          "commit_timestamp_unix_ms",
          "hydra_tx_hash",
          "prev_journal_hash",
          "journal_hash"
        ],
        "title": "JournalEntryItem",
        "type": "object"
      },
      "JournalEntryListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/JournalEntryItem"
            },
            "title": "Items",
            "type": "array"
          },
          "journal_head_seq": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Chain head at read time; null when the journal is uninitialised",
            "title": "Journal Head Seq"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "items"
        ],
        "title": "JournalEntryListResponse",
        "type": "object"
      },
      "JournalPositionProjection": {
        "description": "One input/output position of a committed entry (plaintext projection).\n\n``account_id`` follows the live read model's attribution (D3): the GSI1\ncustody owner, or the GSI2 pending-beneficiary for GL clearing positions.\n``state`` is the state stamped by the *creating* entry — projection-side\nflips that happen without a Hydra tx are journal-invisible until Ticket 24\n(D6); enrichment fields are null on pre-Ticket-03 entries.",
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "asset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asset"
          },
          "position_id": {
            "title": "Position Id",
            "type": "string"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "position_id"
        ],
        "title": "JournalPositionProjection",
        "type": "object"
      },
      "KycFlagOut": {
        "additionalProperties": true,
        "properties": {
          "added_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Added At"
          },
          "added_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Added By"
          },
          "flag_id": {
            "title": "Flag Id",
            "type": "string"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "resolved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolved At"
          },
          "resolved_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolved By"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "source_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Ref"
          }
        },
        "required": [
          "flag_id",
          "source"
        ],
        "title": "KycFlagOut",
        "type": "object"
      },
      "KycScreeningOut": {
        "additionalProperties": true,
        "properties": {
          "checked_lists": {
            "items": {
              "type": "string"
            },
            "title": "Checked Lists",
            "type": "array"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "hits": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Hits",
            "type": "array"
          },
          "provider_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Id"
          },
          "provider_report_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Report Ref"
          },
          "result": {
            "title": "Result",
            "type": "string"
          },
          "screening_id": {
            "title": "Screening Id",
            "type": "string"
          },
          "trigger": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trigger"
          },
          "verdict_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verdict Digest"
          }
        },
        "required": [
          "screening_id",
          "result"
        ],
        "title": "KycScreeningOut",
        "type": "object"
      },
      "KycStateHistoryEntry": {
        "properties": {
          "actor": {
            "title": "Actor",
            "type": "string"
          },
          "actor_type": {
            "title": "Actor Type",
            "type": "string"
          },
          "at": {
            "title": "At",
            "type": "string"
          },
          "from_state": {
            "title": "From State",
            "type": "string"
          },
          "provider_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Ref"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "to_state": {
            "title": "To State",
            "type": "string"
          }
        },
        "required": [
          "from_state",
          "to_state",
          "at",
          "actor",
          "actor_type"
        ],
        "title": "KycStateHistoryEntry",
        "type": "object"
      },
      "LedgerSummaryOut": {
        "properties": {
          "as_of_seq": {
            "title": "As Of Seq",
            "type": "integer"
          },
          "positions": {
            "items": {
              "$ref": "#/components/schemas/MemberPositionOut"
            },
            "title": "Positions",
            "type": "array"
          },
          "total_funded_in": {
            "title": "Total Funded In",
            "type": "integer"
          },
          "total_funded_out": {
            "title": "Total Funded Out",
            "type": "integer"
          },
          "total_open_debt_cents": {
            "title": "Total Open Debt Cents",
            "type": "integer"
          },
          "vqbrl_outstanding": {
            "title": "Vqbrl Outstanding",
            "type": "integer"
          }
        },
        "required": [
          "as_of_seq",
          "total_funded_in",
          "total_funded_out",
          "total_open_debt_cents",
          "vqbrl_outstanding"
        ],
        "title": "LedgerSummaryOut",
        "type": "object"
      },
      "MemberPositionOut": {
        "description": "A member's signed net within the squad (QBRL cents). Mirrors SQ-15's\n``MemberPosition``; ``member_account_id`` is the SQ-18 read-layer join\n(``None`` when the pkh has no registered account).",
        "properties": {
          "funded_net_cents": {
            "title": "Funded Net Cents",
            "type": "integer"
          },
          "member_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Member Account Id"
          },
          "member_pkh": {
            "title": "Member Pkh",
            "type": "string"
          },
          "net_cents": {
            "title": "Net Cents",
            "type": "integer"
          },
          "owed_to_them_cents": {
            "title": "Owed To Them Cents",
            "type": "integer"
          },
          "they_owe_cents": {
            "title": "They Owe Cents",
            "type": "integer"
          }
        },
        "required": [
          "member_pkh",
          "owed_to_them_cents",
          "they_owe_cents",
          "funded_net_cents",
          "net_cents"
        ],
        "title": "MemberPositionOut",
        "type": "object"
      },
      "ObligationJournalResponse": {
        "properties": {
          "items": {
            "description": "Creation + consumption entries across the obligation's positions, ascending seq",
            "items": {
              "$ref": "#/components/schemas/JournalEntryItem"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          },
          "obligation_id": {
            "title": "Obligation Id",
            "type": "string"
          },
          "positions": {
            "items": {
              "$ref": "#/components/schemas/ObligationPositionJournal"
            },
            "title": "Positions",
            "type": "array"
          }
        },
        "required": [
          "obligation_id",
          "positions",
          "items"
        ],
        "title": "ObligationJournalResponse",
        "type": "object"
      },
      "ObligationPositionJournal": {
        "description": "JPOS view of one UTxO row of an obligation (RFC-009 §6.2 items 1-2).",
        "properties": {
          "asset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asset"
          },
          "consumed_by_seq": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Consumed By Seq"
          },
          "created_by_seq": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Null for pre-journal positions (no JPOS row); 0 = GENESIS",
            "title": "Created By Seq"
          },
          "owner_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Owner Account Id"
          },
          "position_id": {
            "title": "Position Id",
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "position_id"
        ],
        "title": "ObligationPositionJournal",
        "type": "object"
      },
      "ObligationSummary": {
        "description": "Obligation summary returned inside the balance response.",
        "properties": {
          "amount": {
            "description": "Amount in minor units (cents)",
            "title": "Amount",
            "type": "integer"
          },
          "created_at": {
            "description": "ISO 8601 creation timestamp",
            "title": "Created At",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code",
            "title": "Currency",
            "type": "string"
          },
          "obligation_id": {
            "description": "Obligation identifier (txhash_index)",
            "title": "Obligation Id",
            "type": "string"
          },
          "state": {
            "description": "Obligation state (OPEN, RESOLVED)",
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "obligation_id",
          "amount",
          "currency",
          "state",
          "created_at"
        ],
        "title": "ObligationSummary",
        "type": "object"
      },
      "PartyAuditOut": {
        "description": "Audit fields for party resources.",
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "title": "PartyAuditOut",
        "type": "object"
      },
      "PartyCreateRequest": {
        "additionalProperties": false,
        "properties": {
          "addresses": {
            "items": {
              "$ref": "#/components/schemas/Address"
            },
            "title": "Addresses",
            "type": "array"
          },
          "contacts": {
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "title": "Contacts",
            "type": "array"
          },
          "country": {
            "minLength": 2,
            "title": "Country",
            "type": "string"
          },
          "display_name": {
            "minLength": 1,
            "title": "Display Name",
            "type": "string"
          },
          "external_ids": {
            "items": {
              "$ref": "#/components/schemas/ExternalId"
            },
            "title": "External Ids",
            "type": "array"
          },
          "labels": {
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "legal_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Legal Name"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "title": "Roles",
            "type": "array"
          },
          "tax_id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxId"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "enum": [
              "individual",
              "company"
            ],
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "display_name",
          "country"
        ],
        "title": "PartyCreateRequest",
        "type": "object"
      },
      "PartyKycResponseOut": {
        "additionalProperties": true,
        "properties": {
          "document_refs": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Document Refs",
            "type": "array"
          },
          "flags": {
            "items": {
              "$ref": "#/components/schemas/KycFlagOut"
            },
            "title": "Flags",
            "type": "array"
          },
          "kyc_level": {
            "default": 0,
            "title": "Kyc Level",
            "type": "integer"
          },
          "kyc_state": {
            "title": "Kyc State",
            "type": "string"
          },
          "last_screened_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Screened At"
          },
          "party_id": {
            "title": "Party Id",
            "type": "string"
          },
          "provider_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Id"
          },
          "provider_report_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Report Ref"
          },
          "provider_session_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Session Ref"
          },
          "rescreen_due_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rescreen Due At"
          },
          "rescreen_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rescreen Reason"
          },
          "screening_state": {
            "title": "Screening State",
            "type": "string"
          },
          "screenings": {
            "items": {
              "$ref": "#/components/schemas/KycScreeningOut"
            },
            "title": "Screenings",
            "type": "array"
          },
          "state_history": {
            "items": {
              "$ref": "#/components/schemas/KycStateHistoryEntry"
            },
            "title": "State History",
            "type": "array"
          },
          "verdict_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verdict Digest"
          }
        },
        "required": [
          "party_id",
          "kyc_state",
          "screening_state"
        ],
        "title": "PartyKycResponseOut",
        "type": "object"
      },
      "PartyPatchRequest": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ]
          },
          "addresses": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Address"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Addresses"
          },
          "contacts": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Contact"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Contacts"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "external_ids": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ExternalId"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Ids"
          },
          "labels": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Labels"
          },
          "legal_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Legal Name"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "roles": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Roles"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "tax_id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxId"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "PartyPatchRequest",
        "type": "object"
      },
      "PartyResponseOut": {
        "additionalProperties": true,
        "description": "Party resource as returned by the API.",
        "properties": {
          "addresses": {
            "default": [],
            "items": {},
            "title": "Addresses",
            "type": "array"
          },
          "audit": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PartyAuditOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "contacts": {
            "default": [],
            "items": {},
            "title": "Contacts",
            "type": "array"
          },
          "country": {
            "title": "Country",
            "type": "string"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "display_name": {
            "title": "Display Name",
            "type": "string"
          },
          "external_ids": {
            "default": [],
            "items": {},
            "title": "External Ids",
            "type": "array"
          },
          "labels": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "legal_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Legal Name"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "party_id": {
            "title": "Party Id",
            "type": "string"
          },
          "rescreen_due_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rescreen Due At"
          },
          "rescreen_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rescreen Reason"
          },
          "risk": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Risk"
          },
          "roles": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Roles",
            "type": "array"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "type": {
            "enum": [
              "individual",
              "company"
            ],
            "title": "Type",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "party_id",
          "type",
          "display_name",
          "country"
        ],
        "title": "PartyResponseOut",
        "type": "object"
      },
      "PartySearchItemOut": {
        "description": "Single party item in search results.",
        "properties": {
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name"
          },
          "kyc_state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Kyc State"
          },
          "party_id": {
            "title": "Party Id",
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "summary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PartySearchSummaryOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          }
        },
        "required": [
          "party_id"
        ],
        "title": "PartySearchItemOut",
        "type": "object"
      },
      "PartySearchResponseOut": {
        "description": "Paginated list of parties.",
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PartySearchItemOut"
            },
            "title": "Data",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "data"
        ],
        "title": "PartySearchResponseOut",
        "type": "object"
      },
      "PartySearchSummaryOut": {
        "description": "Summary fields for a party in search results.",
        "properties": {
          "best_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Best Identifier"
          },
          "primary_email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Primary Email"
          }
        },
        "title": "PartySearchSummaryOut",
        "type": "object"
      },
      "PaymentMethodMode": {
        "description": "How the payment method was provisioned.",
        "enum": [
          "EXTERNAL_ALLOCATION",
          "CUSTOMER_LINKED",
          "PROVIDER_MANAGED",
          "VIRTUAL_ADDRESS"
        ],
        "title": "PaymentMethodMode",
        "type": "string"
      },
      "PaymentMethodRequest": {
        "description": "Request body for binding a payment method to an account.",
        "properties": {
          "capabilities": {
            "$ref": "#/components/schemas/Capabilities",
            "description": "Transaction capabilities"
          },
          "coordinates": {
            "description": "Rail-specific coordinates",
            "oneOf": [
              {
                "$ref": "#/components/schemas/USACHCoordinates"
              },
              {
                "$ref": "#/components/schemas/BRMockCoordinates"
              },
              {
                "$ref": "#/components/schemas/BRPixKeyCoordinates"
              }
            ],
            "title": "Coordinates"
          },
          "directionality": {
            "$ref": "#/components/schemas/Directionality",
            "description": "Supported fund directions"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional free-form metadata (max 8KB)",
            "title": "Metadata"
          },
          "mode": {
            "$ref": "#/components/schemas/PaymentMethodMode",
            "description": "How the payment method was provisioned"
          },
          "provider": {
            "$ref": "#/components/schemas/ProviderInfo",
            "description": "Provider information"
          },
          "rail": {
            "$ref": "#/components/schemas/Rail",
            "description": "Payment rail (ACH, PIX, WIRE, etc.)"
          },
          "scheme": {
            "$ref": "#/components/schemas/Scheme",
            "description": "Payment scheme within the rail"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentMethodStatus",
            "description": "Initial status"
          },
          "verification": {
            "$ref": "#/components/schemas/Verification",
            "description": "Verification state"
          }
        },
        "required": [
          "rail",
          "scheme",
          "mode",
          "status",
          "directionality",
          "coordinates",
          "provider",
          "capabilities",
          "verification"
        ],
        "title": "PaymentMethodRequest",
        "type": "object"
      },
      "PaymentMethodResponse": {
        "description": "Response for a payment method with masked coordinates.",
        "properties": {
          "account_id": {
            "description": "Account this payment method is bound to",
            "title": "Account Id",
            "type": "string"
          },
          "capabilities": {
            "$ref": "#/components/schemas/Capabilities",
            "description": "Transaction capabilities"
          },
          "coordinates": {
            "description": "Masked coordinates",
            "oneOf": [
              {
                "$ref": "#/components/schemas/USACHCoordinatesResponse"
              },
              {
                "$ref": "#/components/schemas/BRMockCoordinatesResponse"
              },
              {
                "$ref": "#/components/schemas/BRPixKeyCoordinatesResponse"
              }
            ],
            "title": "Coordinates"
          },
          "created_at": {
            "description": "ISO 8601 creation timestamp",
            "title": "Created At",
            "type": "string"
          },
          "directionality": {
            "$ref": "#/components/schemas/Directionality",
            "description": "Supported fund directions"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Free-form metadata",
            "title": "Metadata"
          },
          "mode": {
            "$ref": "#/components/schemas/PaymentMethodMode",
            "description": "Provisioning mode"
          },
          "payment_method_id": {
            "description": "Unique payment method identifier",
            "title": "Payment Method Id",
            "type": "string"
          },
          "provider": {
            "$ref": "#/components/schemas/ProviderInfo",
            "description": "Provider information"
          },
          "rail": {
            "$ref": "#/components/schemas/Rail",
            "description": "Payment rail"
          },
          "scheme": {
            "$ref": "#/components/schemas/Scheme",
            "description": "Payment scheme"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentMethodStatus",
            "description": "Payment method status"
          },
          "updated_at": {
            "description": "ISO 8601 last update timestamp",
            "title": "Updated At",
            "type": "string"
          },
          "verification": {
            "$ref": "#/components/schemas/Verification",
            "description": "Verification state"
          }
        },
        "required": [
          "payment_method_id",
          "account_id",
          "rail",
          "scheme",
          "mode",
          "status",
          "directionality",
          "coordinates",
          "provider",
          "capabilities",
          "verification",
          "created_at",
          "updated_at"
        ],
        "title": "PaymentMethodResponse",
        "type": "object"
      },
      "PaymentMethodStatus": {
        "description": "Payment method lifecycle status.",
        "enum": [
          "ACTIVE",
          "PENDING_VERIFICATION",
          "SUSPENDED",
          "CLOSED"
        ],
        "title": "PaymentMethodStatus",
        "type": "string"
      },
      "PendingSpendRequestsOut": {
        "description": "Detail summary of open spend-requests awaiting approval (B-SQ-06) — the \"Aprovar\ndespesa\" CTA-ladder signal. ``null`` when the squad has no policy.",
        "properties": {
          "count": {
            "default": 0,
            "title": "Count",
            "type": "integer"
          },
          "ids": {
            "items": {
              "type": "string"
            },
            "title": "Ids",
            "type": "array"
          }
        },
        "title": "PendingSpendRequestsOut",
        "type": "object"
      },
      "PixIdentity": {
        "description": "PIX identity registered on a GUEST account (guest-02).\n\nStored as an attribute on the account row — deliberately independent of\nthe GSI4 contact-dedup identity: the PIX key may be a different\nidentifier class entirely (CPF, EVP, another phone/email).",
        "properties": {
          "identifier": {
            "description": "Normalized PIX key",
            "title": "Identifier",
            "type": "string"
          },
          "pix_subtype": {
            "description": "Detected PIX sub-type (EMAIL/CPF/CNPJ/EVP/PHONE)",
            "enum": [
              "EMAIL",
              "CPF",
              "CNPJ",
              "EVP",
              "PHONE"
            ],
            "title": "Pix Subtype",
            "type": "string"
          },
          "scheme": {
            "const": "PIX_KEY",
            "default": "PIX_KEY",
            "description": "Always PIX_KEY",
            "title": "Scheme",
            "type": "string"
          },
          "updated_at": {
            "description": "ISO 8601 timestamp of last registration",
            "title": "Updated At",
            "type": "string"
          }
        },
        "required": [
          "identifier",
          "pix_subtype",
          "updated_at"
        ],
        "title": "PixIdentity",
        "type": "object"
      },
      "ProductAmount": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "title": "Currency",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "integer"
          }
        },
        "required": [
          "currency",
          "value"
        ],
        "title": "ProductAmount",
        "type": "object"
      },
      "ProductInstanceDetailResponse": {
        "additionalProperties": false,
        "properties": {
          "instance": {
            "$ref": "#/components/schemas/ProductInstanceSummary"
          },
          "timeline": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ProductInstanceTransition"
            },
            "title": "Timeline",
            "type": "array"
          }
        },
        "required": [
          "instance"
        ],
        "title": "ProductInstanceDetailResponse",
        "type": "object"
      },
      "ProductInstanceListResponse": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProductInstanceSummary"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "items"
        ],
        "title": "ProductInstanceListResponse",
        "type": "object"
      },
      "ProductInstanceSummary": {
        "additionalProperties": false,
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "amount": {
            "$ref": "#/components/schemas/ProductAmount"
          },
          "closed": {
            "title": "Closed",
            "type": "boolean"
          },
          "created_at_utc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At Utc"
          },
          "instance_id": {
            "title": "Instance Id",
            "type": "string"
          },
          "latest_action": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Latest Action"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "updated_at_utc": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At Utc"
          }
        },
        "required": [
          "instance_id",
          "product_id",
          "account_id",
          "state",
          "amount",
          "closed"
        ],
        "title": "ProductInstanceSummary",
        "type": "object"
      },
      "ProductInstanceTransition": {
        "additionalProperties": false,
        "description": "One step of an instance's on-chain lifecycle, off GSI4.\n\n⚠️ Both live and spent rows appear: ``mark_obligation_spent`` preserves the\nGSI4 keys precisely so the full timeline stays walkable after the UTxO is\nconsumed. ``spent`` is how a reader tells the current row from its history.",
        "properties": {
          "action": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Action"
          },
          "awaiting_index": {
            "default": false,
            "title": "Awaiting Index",
            "type": "boolean"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "datum": {
            "additionalProperties": true,
            "default": {},
            "title": "Datum",
            "type": "object"
          },
          "obligation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Obligation Id"
          },
          "product_state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product State"
          },
          "spent": {
            "default": false,
            "title": "Spent",
            "type": "boolean"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "transaction_id": {
            "title": "Transaction Id",
            "type": "string"
          }
        },
        "required": [
          "transaction_id"
        ],
        "title": "ProductInstanceTransition",
        "type": "object"
      },
      "ProductListResponse": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProductSummary"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "items"
        ],
        "title": "ProductListResponse",
        "type": "object"
      },
      "ProductSummary": {
        "additionalProperties": false,
        "description": "One bound product, as its owning tenant sees it.",
        "properties": {
          "actions": {
            "additionalProperties": {
              "type": "boolean"
            },
            "default": {},
            "title": "Actions",
            "type": "object"
          },
          "address": {
            "title": "Address",
            "type": "string"
          },
          "artifact_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Artifact Hash"
          },
          "ir_version": {
            "title": "Ir Version",
            "type": "integer"
          },
          "lifecycle": {
            "title": "Lifecycle",
            "type": "string"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          },
          "release_targets": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Release Targets",
            "type": "array"
          },
          "script_hash": {
            "title": "Script Hash",
            "type": "string"
          },
          "tenant": {
            "title": "Tenant",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "product_id",
          "tenant",
          "version",
          "lifecycle",
          "address",
          "script_hash",
          "ir_version"
        ],
        "title": "ProductSummary",
        "type": "object"
      },
      "ProviderInfo": {
        "description": "Provider information for externally allocated payment methods.",
        "properties": {
          "provider_id": {
            "description": "Unique identifier for the provider",
            "minLength": 1,
            "title": "Provider Id",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ProviderType",
            "description": "Provider type: SPONSOR_BANK or BAAS_PROVIDER"
          }
        },
        "required": [
          "type",
          "provider_id"
        ],
        "title": "ProviderInfo",
        "type": "object"
      },
      "ProviderType": {
        "description": "Payment method provider type.",
        "enum": [
          "SPONSOR_BANK",
          "BAAS_PROVIDER"
        ],
        "title": "ProviderType",
        "type": "string"
      },
      "Rail": {
        "description": "Payment rail.",
        "enum": [
          "ACH",
          "PIX",
          "EFT_CA",
          "WIRE",
          "SEPA",
          "MOCK"
        ],
        "title": "Rail",
        "type": "string"
      },
      "ReconstructedPosition": {
        "description": "One position of the reconstructed set (balance ``include=positions`` under as_of).",
        "properties": {
          "asset": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asset"
          },
          "position_id": {
            "title": "Position Id",
            "type": "string"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          },
          "value": {
            "title": "Value",
            "type": "integer"
          }
        },
        "required": [
          "position_id",
          "value"
        ],
        "title": "ReconstructedPosition",
        "type": "object"
      },
      "Reconstruction": {
        "description": "Provenance block for an as-of balance reconstruction (D1: commit-time basis).",
        "properties": {
          "as_of_seq": {
            "title": "As Of Seq",
            "type": "integer"
          },
          "basis": {
            "const": "commit_time",
            "default": "commit_time",
            "title": "Basis",
            "type": "string"
          },
          "entries_replayed": {
            "title": "Entries Replayed",
            "type": "integer"
          },
          "journal_head_seq": {
            "title": "Journal Head Seq",
            "type": "integer"
          }
        },
        "required": [
          "as_of_seq",
          "journal_head_seq",
          "entries_replayed"
        ],
        "title": "Reconstruction",
        "type": "object"
      },
      "Scheme": {
        "description": "Payment scheme within a rail.",
        "enum": [
          "US_ACH",
          "BR_PIX_KEY",
          "BR_BANK_ACCOUNT",
          "CA_TRANSIT",
          "BR_MOCK"
        ],
        "title": "Scheme",
        "type": "string"
      },
      "SettlementExecutionEndpoint": {
        "description": "The exact call to discharge the caller's debts (POST /v1/squads/{id}/settle).",
        "properties": {
          "body_template": {
            "additionalProperties": true,
            "description": "Request body to POST verbatim to the live settle endpoint",
            "title": "Body Template",
            "type": "object"
          },
          "method": {
            "description": "HTTP method",
            "title": "Method",
            "type": "string"
          },
          "url": {
            "description": "Settle endpoint path",
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "method",
          "url",
          "body_template"
        ],
        "title": "SettlementExecutionEndpoint",
        "type": "object"
      },
      "SettlementPlanClaim": {
        "description": "One open share where the caller is the creditor (informational — they cannot act).",
        "properties": {
          "debtor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Account that owes the caller (null if the pkh can't be resolved yet)",
            "title": "Debtor Account Id"
          },
          "debtor_pkh": {
            "description": "Debtor's 28-byte PubKeyHash",
            "title": "Debtor Pkh",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Human description of the originating expense",
            "title": "Description",
            "type": "string"
          },
          "entry_seq": {
            "description": "Accounting entry sequence the share belongs to",
            "title": "Entry Seq",
            "type": "integer"
          },
          "share_cents": {
            "description": "Amount owed to the caller on this share, in cents",
            "title": "Share Cents",
            "type": "integer"
          },
          "share_utxo_ref": {
            "description": "On-chain share UTxO ref (txhash#ix)",
            "title": "Share Utxo Ref",
            "type": "string"
          }
        },
        "required": [
          "entry_seq",
          "debtor_pkh",
          "share_cents",
          "share_utxo_ref"
        ],
        "title": "SettlementPlanClaim",
        "type": "object"
      },
      "SettlementPlanDebt": {
        "description": "One open share where the caller is the debtor (something they must pay).",
        "properties": {
          "creditor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Account the caller owes (null if the pkh can't be resolved yet)",
            "title": "Creditor Account Id"
          },
          "creditor_pkh": {
            "description": "Creditor's 28-byte PubKeyHash",
            "title": "Creditor Pkh",
            "type": "string"
          },
          "description": {
            "default": "",
            "description": "Human description of the originating expense",
            "title": "Description",
            "type": "string"
          },
          "entry_seq": {
            "description": "Accounting entry sequence the share belongs to",
            "title": "Entry Seq",
            "type": "integer"
          },
          "share_cents": {
            "description": "Amount owed on this share, in cents",
            "title": "Share Cents",
            "type": "integer"
          },
          "share_utxo_ref": {
            "description": "On-chain share UTxO ref (txhash#ix)",
            "title": "Share Utxo Ref",
            "type": "string"
          }
        },
        "required": [
          "entry_seq",
          "creditor_pkh",
          "share_cents",
          "share_utxo_ref"
        ],
        "title": "SettlementPlanDebt",
        "type": "object"
      },
      "SettlementPlanResponse": {
        "description": "Response for GET /v1/accounts/{acc_id}/squads/{sqd_id}/settlement-plan.",
        "properties": {
          "as_of_iso": {
            "description": "CONFIG updated_at ISO timestamp",
            "title": "As Of Iso",
            "type": "string"
          },
          "as_of_seq": {
            "description": "CONFIG last_event_seq at read time",
            "title": "As Of Seq",
            "type": "integer"
          },
          "execution_endpoint": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SettlementExecutionEndpoint"
              },
              {
                "type": "null"
              }
            ],
            "description": "The settle call to clear your debts (null if you owe nothing)"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Set when you owe nothing",
            "title": "Message"
          },
          "sqd_id": {
            "description": "Squad identifier",
            "title": "Sqd Id",
            "type": "string"
          },
          "squad_rollup": {
            "$ref": "#/components/schemas/SettlementSquadRollup",
            "description": "Squad-wide open-debt summary"
          },
          "you": {
            "description": "The caller account (the path account)",
            "title": "You",
            "type": "string"
          },
          "your_net_cents": {
            "description": "Your signed net in the squad",
            "title": "Your Net Cents",
            "type": "integer"
          },
          "your_open_claims": {
            "description": "Open shares where you are the creditor (informational)",
            "items": {
              "$ref": "#/components/schemas/SettlementPlanClaim"
            },
            "title": "Your Open Claims",
            "type": "array"
          },
          "your_open_debts": {
            "description": "Open shares where you are the debtor",
            "items": {
              "$ref": "#/components/schemas/SettlementPlanDebt"
            },
            "title": "Your Open Debts",
            "type": "array"
          },
          "your_total_owed_cents": {
            "description": "Sum of your_open_debts share amounts",
            "title": "Your Total Owed Cents",
            "type": "integer"
          },
          "your_total_owed_to_cents": {
            "description": "Sum of your_open_claims share amounts",
            "title": "Your Total Owed To Cents",
            "type": "integer"
          }
        },
        "required": [
          "sqd_id",
          "as_of_seq",
          "as_of_iso",
          "you",
          "your_total_owed_cents",
          "your_total_owed_to_cents",
          "your_net_cents",
          "squad_rollup"
        ],
        "title": "SettlementPlanResponse",
        "type": "object"
      },
      "SettlementSquadRollup": {
        "description": "Squad-wide open-debt summary (for transparency).",
        "properties": {
          "members_not_net_zero": {
            "description": "Count of members whose net is non-zero",
            "title": "Members Not Net Zero",
            "type": "integer"
          },
          "total_open_debt_cents": {
            "description": "Sum of all open share amounts in the squad",
            "title": "Total Open Debt Cents",
            "type": "integer"
          }
        },
        "required": [
          "total_open_debt_cents",
          "members_not_net_zero"
        ],
        "title": "SettlementSquadRollup",
        "type": "object"
      },
      "SimplifyEdgeOut": {
        "description": "One debt edge: ``debtor`` owes ``creditor`` ``cents``. account_ids are the\nSQ-18 read-layer join (``None`` when a pkh has no registered account).",
        "properties": {
          "cents": {
            "title": "Cents",
            "type": "integer"
          },
          "creditor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creditor Account Id"
          },
          "creditor_pkh": {
            "title": "Creditor Pkh",
            "type": "string"
          },
          "debtor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Debtor Account Id"
          },
          "debtor_pkh": {
            "title": "Debtor Pkh",
            "type": "string"
          }
        },
        "required": [
          "debtor_pkh",
          "creditor_pkh",
          "cents"
        ],
        "title": "SimplifyEdgeOut",
        "type": "object"
      },
      "SpendApprovalPolicyOut": {
        "description": "The spend-approval policy inside the ``rules`` block (B-SQ-06). A spend *above*\n``threshold_amount`` needs ``approvals_required`` distinct approvers from ``approvers``\n(OWNERS | ALL_MEMBERS) before it executes.",
        "properties": {
          "approvals_required": {
            "title": "Approvals Required",
            "type": "integer"
          },
          "approvers": {
            "title": "Approvers",
            "type": "string"
          },
          "threshold_amount": {
            "$ref": "#/components/schemas/SquadMoney"
          }
        },
        "required": [
          "threshold_amount",
          "approvals_required",
          "approvers"
        ],
        "title": "SpendApprovalPolicyOut",
        "type": "object"
      },
      "SpendRequestApprovalOut": {
        "description": "One approval on a spend-request's history.",
        "properties": {
          "account_id": {
            "title": "Account Id",
            "type": "string"
          },
          "approved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approved At"
          }
        },
        "required": [
          "account_id"
        ],
        "title": "SpendRequestApprovalOut",
        "type": "object"
      },
      "SpendRequestListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SquadSpendRequestOut"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "title": "SpendRequestListResponse",
        "type": "object"
      },
      "SquadConsentOut": {
        "description": "One auto-collect consent on the roster's per-member ``auto_collect`` list (B-SQ-04\nAssinatura). ``state`` is ACTIVE|SUSPENDED; ``consent_state`` is ``REQUIRES_RECONSENT``\nwhen an over-cap share suspended it (the app re-runs the consent screen).\n``last_result`` (COLLECTED | AUTO_COLLECT_FAILED | REQUIRES_RECONSENT) + ``last_period``\nare the transparency/nudge signal for the last cycle attempt.",
        "properties": {
          "consent_id": {
            "title": "Consent Id",
            "type": "string"
          },
          "consent_state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Consent State"
          },
          "last_period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Period"
          },
          "last_result": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Result"
          },
          "max_amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "rex_id": {
            "title": "Rex Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "consent_id",
          "rex_id",
          "max_amount",
          "state"
        ],
        "title": "SquadConsentOut",
        "type": "object"
      },
      "SquadContaOut": {
        "description": "One recurring-expense (conta) in the detail ``cycle`` block (B-SQ-04).\n\n``expense_entry_seq`` is the ``entry_seq`` of this period's posted expense (``null``\nuntil the cycle posts it — ``state=\"SCHEDULED\"``). ``state`` is the posted expense's\nstate (``PENDING_CONFIRMATION`` for an unconfirmed variable conta, else the usual\nOPEN/PARTIALLY_SETTLED/SETTLED). ``paid_count``/``member_count`` count settled vs total\ndebtors on it, matching the feed.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "expense_entry_seq": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expense Entry Seq"
          },
          "member_count": {
            "default": 0,
            "title": "Member Count",
            "type": "integer"
          },
          "paid_count": {
            "default": 0,
            "title": "Paid Count",
            "type": "integer"
          },
          "rex_id": {
            "title": "Rex Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "variable": {
            "default": false,
            "title": "Variable",
            "type": "boolean"
          }
        },
        "required": [
          "rex_id",
          "amount",
          "state"
        ],
        "title": "SquadContaOut",
        "type": "object"
      },
      "SquadCycleBlockOut": {
        "description": "The ``cycle`` block on squad detail (B-SQ-04) — the currently-open monthly period.",
        "properties": {
          "carried_forward_cents": {
            "default": 0,
            "title": "Carried Forward Cents",
            "type": "integer"
          },
          "closes_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Closes At"
          },
          "contas": {
            "items": {
              "$ref": "#/components/schemas/SquadContaOut"
            },
            "title": "Contas",
            "type": "array"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          }
        },
        "title": "SquadCycleBlockOut",
        "type": "object"
      },
      "SquadCycleSummaryOut": {
        "description": "A CYCLE_SUMMARY feed item (B-SQ-04) — one per finalized monthly period. Its\nrequired ``carried_forward_cents`` disambiguates it from the expense/transaction\nvariants in the timeline union (which lack that field).",
        "properties": {
          "carried_forward_cents": {
            "title": "Carried Forward Cents",
            "type": "integer"
          },
          "closes_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Closes At"
          },
          "contas": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Contas",
            "type": "array"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "kind": {
            "default": "CYCLE_SUMMARY",
            "title": "Kind",
            "type": "string"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "carried_forward_cents"
        ],
        "title": "SquadCycleSummaryOut",
        "type": "object"
      },
      "SquadDetailResponse": {
        "properties": {
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id"
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address"
          },
          "balance": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "closed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Closed At"
          },
          "closed_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Closed By"
          },
          "config_utxo_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Config Utxo Ref"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "cycle": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SquadCycleBlockOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "frozen": {
            "default": false,
            "title": "Frozen",
            "type": "boolean"
          },
          "goal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SquadGoalBlockOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_event_seq": {
            "title": "Last Event Seq",
            "type": "integer"
          },
          "ledger_summary": {
            "$ref": "#/components/schemas/LedgerSummaryOut"
          },
          "links": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Links",
            "type": "object"
          },
          "members": {
            "items": {
              "$ref": "#/components/schemas/SquadMemberOut"
            },
            "title": "Members",
            "type": "array"
          },
          "metadata": {
            "$ref": "#/components/schemas/SquadMetadataOut"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "pending_spend_requests": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PendingSpendRequestsOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "rules": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SquadRulesBlockOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "simplified": {
            "default": false,
            "title": "Simplified",
            "type": "boolean"
          },
          "sqd_id": {
            "title": "Sqd Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "vqbrl_policy_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vqbrl Policy Hash"
          }
        },
        "required": [
          "sqd_id",
          "state",
          "balance",
          "last_event_seq",
          "ledger_summary"
        ],
        "title": "SquadDetailResponse",
        "type": "object"
      },
      "SquadExpenseOut": {
        "description": "One **parent expense** (accounting entry) in a squad's timeline.\n\nReplaces the per-member ``ACCOUNTING_SHARE`` rows in the feed: ``amount`` is the\noriginal total (from the off-chain ACCT summary, the only place it lives — the\non-chain shares only carry each member's slice), and ``shares`` is the proration.\n``payer_account_id`` is the actor who is owed. ``?kind=ACCOUNTING`` filters to\njust these. ``outstanding_cents`` is the sum of still-open debtor shares and\n``settled_cents`` the sum already paid, so ``actor_own_share + outstanding_cents +\nsettled_cents == amount`` — the ``shares`` breakdown always reconstructs the total.\n``state``: OPEN (nobody paid) | PARTIALLY_SETTLED (some paid, some still owe) |\nSETTLED (all debts cleared) | VOIDED | SIMPLIFIED (the entry was superseded and its\nstill-open debts relocated to netted entries — see ``frozen_reason``; such a breakdown\nmay not sum, and a SIMPLIFIED entry can still carry SETTLED line(s) when it was\npartially paid before being simplified).",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "entry_seq": {
            "title": "Entry Seq",
            "type": "integer"
          },
          "frozen": {
            "default": false,
            "title": "Frozen",
            "type": "boolean"
          },
          "frozen_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frozen Reason"
          },
          "kind": {
            "default": "ACCOUNTING",
            "title": "Kind",
            "type": "string"
          },
          "outstanding_cents": {
            "default": 0,
            "title": "Outstanding Cents",
            "type": "integer"
          },
          "payer_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payer Account Id"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "rex_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rex Id"
          },
          "settled_cents": {
            "default": 0,
            "title": "Settled Cents",
            "type": "integer"
          },
          "shares": {
            "items": {
              "$ref": "#/components/schemas/SquadShareLineOut"
            },
            "title": "Shares",
            "type": "array"
          },
          "source_tx_ids": {
            "items": {
              "type": "string"
            },
            "title": "Source Tx Ids",
            "type": "array"
          },
          "split": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Split"
          },
          "split_overridden": {
            "default": false,
            "title": "Split Overridden",
            "type": "boolean"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "entry_seq",
          "amount"
        ],
        "title": "SquadExpenseOut",
        "type": "object"
      },
      "SquadGoalAchievedOut": {
        "description": "A GOAL_ACHIEVED feed item (B-SQ-05) — the moment the pool first reached the goal.\n\nSynthesized at read time from the squad's sticky ``goal_achieved_at`` (no stored feed\nrow), so it appears once the goal has been reached and stays on the timeline. Its\nrequired ``target_amount`` disambiguates it from the other timeline variants (which\ncarry ``amount`` / ``entry_seq`` / ``obligation_id`` / ``carried_forward_cents``).",
        "properties": {
          "achieved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Achieved At"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "kind": {
            "default": "GOAL_ACHIEVED",
            "title": "Kind",
            "type": "string"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "target_amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "target_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Date"
          }
        },
        "required": [
          "target_amount"
        ],
        "title": "SquadGoalAchievedOut",
        "type": "object"
      },
      "SquadGoalBlockOut": {
        "description": "The ``goal`` block on squad reads (B-SQ-05) — the Meta template's finish line.\n\n``funded_cents`` is the live pool balance (FUNDED in − spends − reclaims) and\n``progress`` is ``funded_cents / target_amount.value`` clamped to ``[0, 1]``, both\nserver-computed so every member sees the same numbers. ``achieved_at`` is sticky —\nset the first moment the pool reaches the target, kept even if the balance later dips.\nThe whole block is ``null`` when the squad has no goal (existing squads unchanged).",
        "properties": {
          "achieved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Achieved At"
          },
          "funded_cents": {
            "title": "Funded Cents",
            "type": "integer"
          },
          "progress": {
            "title": "Progress",
            "type": "number"
          },
          "target_amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "target_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Date"
          }
        },
        "required": [
          "target_amount",
          "funded_cents",
          "progress"
        ],
        "title": "SquadGoalBlockOut",
        "type": "object"
      },
      "SquadInvitationListResponse": {
        "properties": {
          "invitations": {
            "items": {
              "$ref": "#/components/schemas/SquadInvitationOut"
            },
            "title": "Invitations",
            "type": "array"
          }
        },
        "title": "SquadInvitationListResponse",
        "type": "object"
      },
      "SquadInvitationOut": {
        "description": "One PENDING invite in the owner-facing ``GET /v1/squads/{sqd_id}/invitations``.",
        "properties": {
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "invitee_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Invitee Account Id"
          },
          "invitee_pkh": {
            "title": "Invitee Pkh",
            "type": "string"
          },
          "inviter_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Inviter Account Id"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "invitee_pkh",
          "state"
        ],
        "title": "SquadInvitationOut",
        "type": "object"
      },
      "SquadListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SquadSummaryOut"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "title": "SquadListResponse",
        "type": "object"
      },
      "SquadLocationOut": {
        "description": "A squad's map pin (present only when both coordinates are set).",
        "properties": {
          "latitude": {
            "title": "Latitude",
            "type": "number"
          },
          "longitude": {
            "title": "Longitude",
            "type": "number"
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "title": "SquadLocationOut",
        "type": "object"
      },
      "SquadMemberListResponse": {
        "properties": {
          "members": {
            "items": {
              "$ref": "#/components/schemas/SquadMemberOut"
            },
            "title": "Members",
            "type": "array"
          }
        },
        "title": "SquadMemberListResponse",
        "type": "object"
      },
      "SquadMemberOut": {
        "description": "A roster entry. Active members carry ``status=\"ACTIVE\"`` and ``joined_at``;\npending invitees carry ``role=\"INVITED\"``, ``status=\"PENDING\"`` and the\n``invited_at`` / ``invited_by_account_id`` fields (``joined_at`` is null until\nthey accept). ``auto_collect`` (B-SQ-04 Assinatura) lists the member's auto-collect\nconsents — ``null`` when they have none (a non-recurring squad's roster is unchanged).",
        "properties": {
          "auto_collect": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SquadConsentOut"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto Collect"
          },
          "invited_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Invited At"
          },
          "invited_by_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Invited By Account Id"
          },
          "joined_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Joined At"
          },
          "member_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Member Account Id"
          },
          "member_pkh": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Member Pkh"
          },
          "quota": {
            "default": 1,
            "title": "Quota",
            "type": "integer"
          },
          "role": {
            "title": "Role",
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          }
        },
        "required": [
          "role"
        ],
        "title": "SquadMemberOut",
        "type": "object"
      },
      "SquadMetadataOut": {
        "description": "A squad's optional, off-chain display metadata. Mirrors the command-api write\ncontract (``SquadMetadata``); every field is ``null`` when unset.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SquadLocationOut"
              },
              {
                "type": "null"
              }
            ]
          },
          "template": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Template"
          },
          "template_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Template Config"
          }
        },
        "title": "SquadMetadataOut",
        "type": "object"
      },
      "SquadMoney": {
        "properties": {
          "currency": {
            "title": "Currency",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "integer"
          }
        },
        "required": [
          "currency",
          "value"
        ],
        "title": "SquadMoney",
        "type": "object"
      },
      "SquadRulesBlockOut": {
        "description": "The ``rules`` block on squad detail (B-SQ-06) — ``null`` when the squad has no policy\n(existing squads unchanged).",
        "properties": {
          "spend_approval": {
            "$ref": "#/components/schemas/SpendApprovalPolicyOut"
          }
        },
        "required": [
          "spend_approval"
        ],
        "title": "SquadRulesBlockOut",
        "type": "object"
      },
      "SquadShareLineOut": {
        "description": "One member's slice of an expense's breakdown.\n\n``is_payer`` marks the actor's own portion (``actor_own_share`` — kept off-chain\non the ACCT row, never minted as a UTxO, so its ``state`` is ``OWN``). A debtor\nline is ``OPEN`` while the member still owes the payer ``share_cents``, or\n``SETTLED`` once they have paid — settled lines are reconstructed from the\n``squad_settle`` obligations, which preserve the historical ``share_cents`` and a\n``settled_at``, so the breakdown still sums to the expense total after payment.\nVoided/superseded shares (split re-edit, debt-simplify) do not appear.",
        "properties": {
          "debtor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Debtor Account Id"
          },
          "is_payer": {
            "default": false,
            "title": "Is Payer",
            "type": "boolean"
          },
          "settled_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled At"
          },
          "share_cents": {
            "title": "Share Cents",
            "type": "integer"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "share_cents"
        ],
        "title": "SquadShareLineOut",
        "type": "object"
      },
      "SquadSimplifyPreviewResponse": {
        "description": "``GET /v1/squads/{sqd_id}/simplify-preview`` — dry-run of debt simplification.\n\n``before`` is the current gross open-debt graph; ``after`` is the minimal net set\na ``POST /simplify-debts`` would produce. ``would_reduce`` is true iff executing\nwould change the on-chain graph (false when it is already minimal).",
        "properties": {
          "after": {
            "items": {
              "$ref": "#/components/schemas/SimplifyEdgeOut"
            },
            "title": "After",
            "type": "array"
          },
          "after_count": {
            "title": "After Count",
            "type": "integer"
          },
          "before": {
            "items": {
              "$ref": "#/components/schemas/SimplifyEdgeOut"
            },
            "title": "Before",
            "type": "array"
          },
          "before_count": {
            "title": "Before Count",
            "type": "integer"
          },
          "sqd_id": {
            "title": "Sqd Id",
            "type": "string"
          },
          "would_reduce": {
            "title": "Would Reduce",
            "type": "boolean"
          }
        },
        "required": [
          "sqd_id",
          "before_count",
          "after_count",
          "would_reduce"
        ],
        "title": "SquadSimplifyPreviewResponse",
        "type": "object"
      },
      "SquadSpendRequestFeedOut": {
        "description": "A SPEND_REQUEST feed item (B-SQ-06) — a spend parked for N-of-M approval, visible to\nevery member (transparency). Emitted while PENDING_APPROVAL and for the terminal\nREJECTED/EXPIRED/FAILED states; an EXECUTED request is instead represented by its normal\nSPEND transaction (avoiding a double-listed spend). Its required ``spend_request_id``\ndisambiguates it from the other timeline variants.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "approvals_count": {
            "default": 0,
            "title": "Approvals Count",
            "type": "integer"
          },
          "approvals_required": {
            "title": "Approvals Required",
            "type": "integer"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "kind": {
            "default": "SPEND_REQUEST",
            "title": "Kind",
            "type": "string"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "recipient_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recipient Account Id"
          },
          "requested_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested By"
          },
          "spend_request_id": {
            "title": "Spend Request Id",
            "type": "string"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "spend_request_id",
          "amount",
          "approvals_required"
        ],
        "title": "SquadSpendRequestFeedOut",
        "type": "object"
      },
      "SquadSpendRequestOut": {
        "description": "A spend-request with its full approval history — the transparency-list row\n(``GET /v1/squads/{sqd_id}/spend-requests``, B-SQ-06). ``state`` applies lazy expiry\n(a past-deadline pending request reads as EXPIRED).",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "approvals": {
            "items": {
              "$ref": "#/components/schemas/SpendRequestApprovalOut"
            },
            "title": "Approvals",
            "type": "array"
          },
          "approvals_required": {
            "title": "Approvals Required",
            "type": "integer"
          },
          "approvers": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approvers"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "executed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed At"
          },
          "executed_obligation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Obligation Id"
          },
          "executed_tx_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Tx Id"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "failed_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failed Reason"
          },
          "recipient_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recipient Account Id"
          },
          "reject_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reject Reason"
          },
          "rejected_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rejected By"
          },
          "requested_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested By"
          },
          "spend_request_id": {
            "title": "Spend Request Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          }
        },
        "required": [
          "spend_request_id",
          "state",
          "amount",
          "approvals_required"
        ],
        "title": "SquadSpendRequestOut",
        "type": "object"
      },
      "SquadSummaryOut": {
        "description": "Short-form row used in the global listing. Carries ``emoji``/``image_url`` so a\nclient can render a squad avatar per row without fetching each detail.",
        "properties": {
          "balance": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "emoji": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Emoji"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "member_count": {
            "title": "Member Count",
            "type": "integer"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "sqd_id": {
            "title": "Sqd Id",
            "type": "string"
          },
          "state": {
            "title": "State",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "sqd_id",
          "state",
          "member_count",
          "balance"
        ],
        "title": "SquadSummaryOut",
        "type": "object"
      },
      "SquadTransactionListResponse": {
        "properties": {
          "items": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SquadExpenseOut"
                },
                {
                  "$ref": "#/components/schemas/SquadTransactionOut"
                },
                {
                  "$ref": "#/components/schemas/SquadCycleSummaryOut"
                },
                {
                  "$ref": "#/components/schemas/SquadGoalAchievedOut"
                },
                {
                  "$ref": "#/components/schemas/SquadSpendRequestFeedOut"
                }
              ]
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "title": "SquadTransactionListResponse",
        "type": "object"
      },
      "SquadTransactionOut": {
        "description": "One obligation row in a squad's transaction timeline.\n\n``kind`` is derived from the obligation ``role`` (FUNDED / SPEND /\nACCOUNTING_SHARE / SETTLEMENT). ``rail_family`` is ``QUADRA`` for the\non-chain money movements; ``debtor``/``creditor`` are resolved to account_ids\n(accounting-share rows store the debtor as a pkh, resolved here).",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/SquadMoney"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "creditor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creditor Account Id"
          },
          "debtor_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Debtor Account Id"
          },
          "kind": {
            "title": "Kind",
            "type": "string"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "obligation_id": {
            "title": "Obligation Id",
            "type": "string"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          },
          "rail_family": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rail Family"
          },
          "resolution_outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolution Outcome"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "State"
          }
        },
        "required": [
          "obligation_id",
          "kind",
          "amount"
        ],
        "title": "SquadTransactionOut",
        "type": "object"
      },
      "StatementCorrelation": {
        "description": "Cross-domain correlation ids stamped on the entry set, where applicable.",
        "properties": {
          "evidence_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Evidence id when a rail evidence backed the tx",
            "title": "Evidence Id"
          },
          "sqd_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Squad id when the tx is a squad operation",
            "title": "Sqd Id"
          },
          "swp_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "SafeSwap instance id when the tx is a SafeSwap operation",
            "title": "Swp Id"
          }
        },
        "title": "StatementCorrelation",
        "type": "object"
      },
      "StatementLine": {
        "description": "One netted line per confirmed transaction (custody layer, this account).",
        "properties": {
          "accounting_day": {
            "description": "América/São_Paulo (−03:00) accounting day the tx applies to",
            "title": "Accounting Day",
            "type": "string"
          },
          "amount_cents": {
            "description": "Absolute net amount for this tx in minor units",
            "title": "Amount Cents",
            "type": "integer"
          },
          "asset": {
            "description": "Custody asset (QBRL)",
            "title": "Asset",
            "type": "string"
          },
          "correlation": {
            "$ref": "#/components/schemas/StatementCorrelation",
            "description": "sqd_id / swp_id / evidence_id where applicable"
          },
          "direction": {
            "description": "CREDIT = money in (DR), DEBIT = money out (CR)",
            "enum": [
              "CREDIT",
              "DEBIT"
            ],
            "title": "Direction",
            "type": "string"
          },
          "effective_at": {
            "description": "Business-time instant the tx applies to (ISO 8601)",
            "title": "Effective At",
            "type": "string"
          },
          "event_kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Entry-set classification (TRANSFER_INTERNAL, DEPOSIT, SQUAD_SETTLE, ...)",
            "title": "Event Kind"
          },
          "obligation_ids": {
            "description": "Backing obligations (obl_*)",
            "items": {
              "type": "string"
            },
            "title": "Obligation Ids",
            "type": "array"
          },
          "tx_id": {
            "description": "Confirmed Hydra transaction hash (groups feed legs; sum-per-tx_id)",
            "title": "Tx Id",
            "type": "string"
          }
        },
        "required": [
          "accounting_day",
          "effective_at",
          "tx_id",
          "direction",
          "amount_cents",
          "asset"
        ],
        "title": "StatementLine",
        "type": "object"
      },
      "StatementPeriod": {
        "description": "The requested statement window, echoed back with its accounting timezone.",
        "properties": {
          "from": {
            "description": "Inclusive start accounting day (yyyy-mm-dd, América/São_Paulo)",
            "title": "From",
            "type": "string"
          },
          "timezone": {
            "default": "America/Sao_Paulo",
            "description": "Accounting-day timezone (fixed −03:00, no DST)",
            "title": "Timezone",
            "type": "string"
          },
          "to": {
            "description": "Inclusive end accounting day (yyyy-mm-dd, América/São_Paulo)",
            "title": "To",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to"
        ],
        "title": "StatementPeriod",
        "type": "object"
      },
      "StatementReconciliation": {
        "description": "Live-balance cross-check; emitted only for a period ending today or later.",
        "properties": {
          "live_balance_cents": {
            "description": "Current available balance (sum of unspent custody UTxOs)",
            "title": "Live Balance Cents",
            "type": "integer"
          },
          "matches": {
            "description": "closing_balance_cents == live_balance_cents (RFC-025 §8 guarantee)",
            "title": "Matches",
            "type": "boolean"
          }
        },
        "required": [
          "live_balance_cents",
          "matches"
        ],
        "title": "StatementReconciliation",
        "type": "object"
      },
      "StatementResponse": {
        "description": "A formal account statement for a date range (json; csv = one row per line).",
        "properties": {
          "account_id": {
            "description": "Account the statement is for",
            "title": "Account Id",
            "type": "string"
          },
          "closing_balance_cents": {
            "description": "opening_balance_cents + period net",
            "title": "Closing Balance Cents",
            "type": "integer"
          },
          "fees": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "description": "Reserved (null): no fee primitive exists in Core yet",
            "title": "Fees"
          },
          "holds": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "description": "Reserved (null): hold balances are not surfaced in the statement yet",
            "title": "Holds"
          },
          "lines": {
            "description": "Per-tx netted lines, chronological (effective time)",
            "items": {
              "$ref": "#/components/schemas/StatementLine"
            },
            "title": "Lines",
            "type": "array"
          },
          "opening_balance_cents": {
            "description": "Cumulative net from the opening epoch up to (excluding) 'from'",
            "title": "Opening Balance Cents",
            "type": "integer"
          },
          "period": {
            "$ref": "#/components/schemas/StatementPeriod",
            "description": "The requested window + accounting timezone"
          },
          "reconciliation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StatementReconciliation"
              },
              {
                "type": "null"
              }
            ],
            "description": "Present only when 'to' ≥ today (São Paulo)"
          },
          "totals": {
            "$ref": "#/components/schemas/StatementTotals",
            "description": "Period aggregates"
          }
        },
        "required": [
          "account_id",
          "period",
          "opening_balance_cents",
          "closing_balance_cents",
          "totals",
          "lines"
        ],
        "title": "StatementResponse",
        "type": "object"
      },
      "StatementTotals": {
        "description": "Period aggregates over the statement lines.",
        "properties": {
          "credits_cents": {
            "description": "Sum of CREDIT line amounts",
            "title": "Credits Cents",
            "type": "integer"
          },
          "debits_cents": {
            "description": "Sum of DEBIT line amounts",
            "title": "Debits Cents",
            "type": "integer"
          },
          "line_count": {
            "description": "Number of statement lines",
            "title": "Line Count",
            "type": "integer"
          },
          "net_cents": {
            "description": "credits_cents − debits_cents",
            "title": "Net Cents",
            "type": "integer"
          }
        },
        "required": [
          "credits_cents",
          "debits_cents",
          "net_cents",
          "line_count"
        ],
        "title": "StatementTotals",
        "type": "object"
      },
      "TaxId": {
        "properties": {
          "country": {
            "minLength": 2,
            "title": "Country",
            "type": "string"
          },
          "type": {
            "minLength": 1,
            "title": "Type",
            "type": "string"
          },
          "value": {
            "minLength": 4,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "country",
          "type",
          "value"
        ],
        "title": "TaxId",
        "type": "object"
      },
      "TransactionDirection": {
        "description": "Direction of value movement relative to the queried account.",
        "enum": [
          "CREDIT",
          "DEBIT"
        ],
        "title": "TransactionDirection",
        "type": "string"
      },
      "TransactionItem": {
        "description": "A single entry in an account's transaction feed.",
        "properties": {
          "amount": {
            "description": "Amount in minor units (cents)",
            "title": "Amount",
            "type": "integer"
          },
          "counterparty_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The other account in the event, if any",
            "title": "Counterparty Account Id"
          },
          "counterparty_display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Owner party display name of the counterparty (best-effort)",
            "title": "Counterparty Display Name"
          },
          "created_at": {
            "description": "ISO 8601 event timestamp",
            "title": "Created At",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code",
            "title": "Currency",
            "type": "string"
          },
          "direction": {
            "$ref": "#/components/schemas/TransactionDirection",
            "description": "CREDIT (value in) or DEBIT (value out) for this account"
          },
          "effective_at": {
            "description": "ISO 8601 business-time instant this entry applies to (effective dating). Equals created_at unless the rail or an operator asserted a different business date (e.g. a backdated devolução).",
            "title": "Effective At",
            "type": "string"
          },
          "id": {
            "description": "Reference id of the underlying event (obl_* or swp_*)",
            "title": "Id",
            "type": "string"
          },
          "rail": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Payment rail family (QUADRA, ACH, ...) for obligation events",
            "title": "Rail"
          },
          "ref_kind": {
            "description": "Kind of underlying event: 'obligation' or 'safeswap'",
            "title": "Ref Kind",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TransactionStatus",
            "description": "Current settlement status"
          },
          "tx_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "On-chain transaction id that produced this entry. Entries sharing one tx_id are legs of a single transaction (e.g. several squad debts settled in one settle tx) — group by it to render them as one transaction.",
            "title": "Tx Id"
          },
          "type": {
            "description": "Event type: DEPOSIT, TRANSFER, SAFESWAP_LOCKED, SAFESWAP_RELEASED, SAFESWAP_REFUNDED",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "id",
          "ref_kind",
          "type",
          "direction",
          "amount",
          "currency",
          "status",
          "created_at",
          "effective_at"
        ],
        "title": "TransactionItem",
        "type": "object"
      },
      "TransactionListResponse": {
        "description": "Paginated, reverse-chronological transaction feed for an account.",
        "properties": {
          "items": {
            "description": "Activity entries, newest first",
            "items": {
              "$ref": "#/components/schemas/TransactionItem"
            },
            "title": "Items",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cursor for the next page; null when no more pages",
            "title": "Next Cursor"
          },
          "unit": {
            "default": "cents",
            "description": "Unit of transaction amounts",
            "title": "Unit",
            "type": "string"
          }
        },
        "required": [
          "items"
        ],
        "title": "TransactionListResponse",
        "type": "object"
      },
      "TransactionStatus": {
        "description": "Normalized settlement status for the transaction feed.",
        "enum": [
          "PENDING",
          "COMPLETED",
          "FAILED",
          "CANCELED"
        ],
        "title": "TransactionStatus",
        "type": "string"
      },
      "USACHCoordinates": {
        "description": "Coordinates for US ACH payments.",
        "properties": {
          "account_number": {
            "description": "Bank account number (4-17 digits)",
            "maxLength": 17,
            "minLength": 4,
            "title": "Account Number",
            "type": "string"
          },
          "account_type": {
            "$ref": "#/components/schemas/ACHAccountType",
            "description": "Bank account type: CHECKING or SAVINGS"
          },
          "routing_number": {
            "description": "9-digit ABA routing number",
            "maxLength": 9,
            "minLength": 9,
            "title": "Routing Number",
            "type": "string"
          },
          "type": {
            "const": "US_ACH",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "routing_number",
          "account_number",
          "account_type"
        ],
        "title": "USACHCoordinates",
        "type": "object"
      },
      "USACHCoordinatesResponse": {
        "description": "Masked coordinates for US ACH in responses.",
        "properties": {
          "account_number_masked": {
            "description": "Masked account number (******XXXX)",
            "title": "Account Number Masked",
            "type": "string"
          },
          "account_type": {
            "$ref": "#/components/schemas/ACHAccountType",
            "description": "Bank account type"
          },
          "routing_number": {
            "description": "9-digit ABA routing number",
            "title": "Routing Number",
            "type": "string"
          },
          "type": {
            "const": "US_ACH",
            "description": "Coordinate type discriminator",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "routing_number",
          "account_number_masked",
          "account_type"
        ],
        "title": "USACHCoordinatesResponse",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "Verification": {
        "description": "Verification state for a payment method.",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/VerificationStatus",
            "description": "Current verification status"
          }
        },
        "required": [
          "status"
        ],
        "title": "Verification",
        "type": "object"
      },
      "VerificationStatus": {
        "description": "Verification status for a payment method.",
        "enum": [
          "UNVERIFIED",
          "PENDING",
          "VERIFIED",
          "TRUSTED_PROVIDER_ALLOCATED"
        ],
        "title": "VerificationStatus",
        "type": "string"
      },
      "VersionResponseOut": {
        "description": "Public version information for the API.",
        "properties": {
          "api_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Version"
          },
          "build_time": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Build Time"
          },
          "environment": {
            "title": "Environment",
            "type": "string"
          },
          "git_commit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Git Commit"
          },
          "service": {
            "title": "Service",
            "type": "string"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          }
        },
        "required": [
          "service",
          "environment"
        ],
        "title": "VersionResponseOut",
        "type": "object"
      }
    },
    "securitySchemes": {
      "oauth2_client_credentials": {
        "description": "Client credentials OAuth 2.0. Faça um POST form-encoded com grant_type=client_credentials, o seu client_id e o seu client_secret; omita scope, e o token vem carregando exatamente o que o seu cliente tem concedido. Envie o resultado como Authorization: Bearer <access_token>.",
        "flows": {
          "clientCredentials": {
            "scopes": {
              "quadra/accounts.read": "Ler partes, contas, saldos e extratos",
              "quadra/accounts.write": "Criar partes e contas, vincular meios de pagamento",
              "quadra/health": "Sondas de saúde e de versão",
              "quadra/holds": "Colocar, capturar e liberar holds",
              "quadra/obligations.write": "Criar e resolver obrigações",
              "quadra/products": "Criar, dirigir e ler instâncias dos seus produtos",
              "quadra/products.draft": "Vincular um produto seu em rascunho no ambiente de avaliação",
              "quadra/squads": "Leituras e escritas de contas em grupo"
            },
            "tokenUrl": "https://api-sbx.sonacore.com.br/auth/token"
          }
        },
        "type": "oauth2"
      }
    }
  },
  "info": {
    "description": "API for Quadra Core ledger",
    "title": "Quadra Core API",
    "version": "0.5.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/v1/accounts": {
      "get": {
        "operationId": "search_accounts_v1_v1_accounts_get",
        "parameters": [
          {
            "in": "query",
            "name": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Query"
            }
          },
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "currency",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Currency"
            }
          },
          {
            "in": "query",
            "name": "owner_party_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Owner Party Id"
            }
          },
          {
            "in": "query",
            "name": "is_frozen",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Is Frozen"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountSearchResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Search Accounts",
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "description": "Create a new account.\n\nCreates a ledger container owned by a party, used to anchor intents/obligations\nand (later) postings. Generates Cardano keys and stores them with envelope encryption.\n\nReturns:\n    201 Created with full Account object\n\nRaises:\n    404: owner_party_id doesn't exist\n    422: Invalid type or currency\n    500: Internal error during account creation",
        "operationId": "create_account_v1_v1_accounts_post",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "title": "Idempotency-Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create an Account",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/accounts/{acc_id}/invitations": {
      "get": {
        "description": "The path account's PENDING squad invitations via the GSI8 invitee index\n(RFC-018 invite flow). Account-scoped (gateway enforces caller == acc_id), like\n``GET /v1/accounts/{acc_id}/squads``. Errors: 404 ACCOUNT_NOT_FOUND.",
        "operationId": "list_account_invitations_v1_v1_accounts__acc_id__invitations_get",
        "parameters": [
          {
            "in": "path",
            "name": "acc_id",
            "required": true,
            "schema": {
              "title": "Acc Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountInvitationListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List the squad invitations addressed to an account (the inbox)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/accounts/{acc_id}/squads": {
      "get": {
        "description": "The caller's (path account's) squads via GSI8, joined with CONFIG and the\ncaller's net position (RFC-018, SQ-18). Errors: 404 ACCOUNT_NOT_FOUND.",
        "operationId": "list_account_squads_v1_v1_accounts__acc_id__squads_get",
        "parameters": [
          {
            "in": "path",
            "name": "acc_id",
            "required": true,
            "schema": {
              "title": "Acc Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountSquadListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List the squads an account is a member of",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/accounts/{acc_id}/squads/{sqd_id}/settlement-plan": {
      "get": {
        "description": "The caller's open debts in a squad and how to settle them (RFC-018, SQ-16).\n\nThe caller is the path account (``acc_id``). Returns the shares where they are\nthe debtor (each with its ``share_utxo_ref``), their open claims (informational),\nand an ``execution_endpoint`` whose ``body_template`` is POST-able verbatim to\n``/v1/squads/{sqd_id}/settle`` (SQ-17). Errors:\n  403: NOT_A_SQUAD_MEMBER  404: ACCOUNT_NOT_FOUND, SQUAD_NOT_FOUND  422: SQUAD_CLOSED",
        "operationId": "get_squad_settlement_plan_v1_v1_accounts__acc_id__squads__sqd_id__settlement_plan_get",
        "parameters": [
          {
            "in": "path",
            "name": "acc_id",
            "required": true,
            "schema": {
              "title": "Acc Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementPlanResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get the caller's open debts in a squad (settlement plan)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/accounts/{account_id}": {
      "get": {
        "description": "Get an account by ID.\n\nReturns:\n    Account object if found\n\nRaises:\n    404: Account not found",
        "operationId": "get_account_v1_v1_accounts__account_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountWithPaymentMethodsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get an Account",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/accounts/{account_id}/balance": {
      "get": {
        "description": "Get the balance of an account by summing its UTXOs.\n\nReturns aggregated balance per currency with optional obligation details.\nUnder ``as_of``/``as_of_seq`` the balance is reconstructed by journal replay\n(RFC-009 §7.1): the response echoes the resolved cut in ``as_of``, adds a\n``reconstruction`` block, and returns ``committed_to_products/squads`` as []\n(live-only composition). EXTERNAL accounts keep the live short-circuit shape\n(their custody set is empty at every cut).",
        "operationId": "get_account_balance_v1_v1_accounts__account_id__balance_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "description": "Filter by currency symbol (e.g. BRL)",
            "in": "query",
            "name": "asset",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by currency symbol (e.g. BRL)",
              "title": "Asset"
            }
          },
          {
            "description": "Comma-separated includes (e.g. obligations; positions with as_of)",
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated includes (e.g. obligations; positions with as_of)",
              "title": "Include"
            }
          },
          {
            "description": "Filter obligations by state",
            "in": "query",
            "name": "obligations_state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter obligations by state",
              "title": "Obligations State"
            }
          },
          {
            "description": "Point-in-time cut: ISO-8601 instant (commit-time basis, LaaS-03)",
            "in": "query",
            "name": "as_of",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Point-in-time cut: ISO-8601 instant (commit-time basis, LaaS-03)",
              "title": "As Of"
            }
          },
          {
            "description": "Point-in-time cut: journal sequence number (mutually exclusive with as_of)",
            "in": "query",
            "name": "as_of_seq",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Point-in-time cut: journal sequence number (mutually exclusive with as_of)",
              "title": "As Of Seq"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountBalanceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Account Balance",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/accounts/{account_id}/limits": {
      "get": {
        "description": "Merged applicable policies (ACCOUNT + GLOBAL + ACCOUNT_TYPE scopes) plus\ncurrent DAY/MONTH baseline utilization, both directions. Baselines accrue\nwith zero policies configured (ticket D7); CREDIT utilization counts the\nevidence inbound-credit funnel only.",
        "operationId": "get_account_limits_v1_v1_accounts__account_id__limits_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get an Account's Limit Policies and Utilization",
        "tags": [
          "Limits"
        ]
      }
    },
    "/v1/accounts/{account_id}/payment-methods": {
      "post": {
        "description": "Bind a payment method to an account.\n\nAccepts a typed payload with rail, scheme, and coordinates.\nCurrently supports ACH; extensible to PIX, WIRE, SEPA.",
        "operationId": "create_payment_method_v1_v1_accounts__account_id__payment_methods_post",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "title": "Idempotency-Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentMethodRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Bind a Payment Method",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/accounts/{account_id}/pix-limits": {
      "get": {
        "description": "Effective Pix limit knobs (pack defaults unless overridden), per-knob\npending changes awaiting their 24–48 h activation (LaaS-07 D7), and the\ncurrent day/night utilization. Pendings are resolved at read only — NO\nlazy promotion here (CQRS: query-api never writes; the engine and the PUT\npath promote).",
        "operationId": "get_account_pix_limits_v1_v1_accounts__account_id__pix_limits_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get an Account's Pix Limits, Pending Changes and Utilization",
        "tags": [
          "Limits"
        ]
      }
    },
    "/v1/accounts/{account_id}/product-instances": {
      "get": {
        "description": "⛔ The boundary here is **account ownership**, not the tenant filter.\n\nThis partition is keyed by an account the caller named, and its rows would\npass a tenant filter for every account inside the caller's own tenant. So it\ngates on ``require_visible_account``, which reads through the guarded\n``get_account`` and 404s identically for \"not yours\" and \"never existed\" —\nthe laas-64 rule for every ``account_id`` branch.",
        "operationId": "list_account_product_instances_v1_v1_accounts__account_id__product_instances_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "description": "Filter to one product",
            "in": "query",
            "name": "product_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one product",
              "title": "Product Id"
            }
          },
          {
            "in": "query",
            "name": "open_only",
            "required": false,
            "schema": {
              "default": false,
              "title": "Open Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductInstanceListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List an account's product instances",
        "tags": [
          "Products"
        ]
      }
    },
    "/v1/accounts/{account_id}/statement": {
      "get": {
        "description": "A synchronous, effective-dated statement built from the journal-entry read\nmodel (LaaS-20): custody-layer net legs, one line per confirmed transaction.\n\nPeriods are América/São_Paulo accounting days over *effective* time (fixed\n−03:00); DR→CREDIT, CR→DEBIT (DR = value in). Opening = cumulative net from\nthe opening epoch to ``from``; closing = opening + period net. The\n``reconciliation`` block cross-checks closing against the live balance and is\nemitted only when ``to`` is today or later. MEMO-layer (squad vQBRL)\naccounting entries are excluded — this is a custody-layer statement.\n\n``format=pdf`` is rejected (400): PDF rendering is BFF/mobile presentation\nterritory, not Core.\n\nRaises:\n    404: unknown or hidden FAUCET account (before any other validation)\n    400: from > to, ranges over 366 days, or unsupported format",
        "operationId": "get_account_statement_v1_v1_accounts__account_id__statement_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "description": "Inclusive start accounting day (yyyy-mm-dd, América/São_Paulo)",
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "description": "Inclusive start accounting day (yyyy-mm-dd, América/São_Paulo)",
              "title": "From",
              "type": "string"
            }
          },
          {
            "description": "Inclusive end accounting day (yyyy-mm-dd, América/São_Paulo)",
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "description": "Inclusive end accounting day (yyyy-mm-dd, América/São_Paulo)",
              "title": "To",
              "type": "string"
            }
          },
          {
            "description": "Response format: json (default) or csv",
            "in": "query",
            "name": "format",
            "required": false,
            "schema": {
              "default": "json",
              "description": "Response format: json (default) or csv",
              "title": "Format",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Formal account statement for a date range",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/accounts/{account_id}/transactions": {
      "get": {
        "description": "List an account's transactions, newest first.\n\nReturns a reverse-chronological, cursor-paginated feed of the economic\nevents that touched the account — deposits and transfers (obligations),\nSafeSwap escrow movements, and squad operations that move value into or out\nof this account's base balance (funding a squad, receiving a squad spend,\nsettling a squad share) — each projected from this account's perspective as\na CREDIT or DEBIT. Squad-internal bookkeeping (accounting shares) is not a\nbase-balance movement and does not appear here.\n\nWhen ``effective_from``/``effective_to`` are given, the feed is ordered\nand filtered by business time (``effective_at``) instead of recording\ntime — a distinct query mode with its own cursors; cursors from one mode\nare rejected in the other.",
        "operationId": "get_account_transactions_v1_v1_accounts__account_id__transactions_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "description": "Inclusive lower bound on effective_at (ISO 8601)",
            "in": "query",
            "name": "effective_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Inclusive lower bound on effective_at (ISO 8601)",
              "title": "Effective From"
            }
          },
          {
            "description": "Inclusive upper bound on effective_at (ISO 8601)",
            "in": "query",
            "name": "effective_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Inclusive upper bound on effective_at (ISO 8601)",
              "title": "Effective To"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Account Transactions",
        "tags": [
          "Accounts"
        ]
      }
    },
    "/v1/events": {
      "get": {
        "description": "Browse the EVENT# read model (30-day retention), newest first; the\ndefault window is the last 24 hours. Pagination walks EVTDAY# day buckets\ndescending — the cursor carries {day, lek} so it crosses midnight.\nScoped to the calling tenant. **Page until `next_cursor` is null** — a short\npage is not the end of the list.\nRaises: 400 (invalid window or cursor).",
        "operationId": "list_events_v1_v1_events_get",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "entity_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Entity Id"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "From"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "To"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Browse published events",
        "tags": [
          "Events"
        ]
      }
    },
    "/v1/events/{event_id}": {
      "get": {
        "description": "One envelope from the browse read model. webhook.test events are never\npersisted, so they 404 here by design. Raises: 404 EVENT_NOT_FOUND.",
        "operationId": "get_event_v1_v1_events__event_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "event_id",
            "required": true,
            "schema": {
              "title": "Event Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get one published event by id",
        "tags": [
          "Events"
        ]
      }
    },
    "/v1/evidences": {
      "get": {
        "description": "List evidence records with optional filters and cursor-based pagination.\n\nFilters: status (INGESTED, SETTLED, FAILED), rail_family, created_from, created_to.",
        "operationId": "list_evidences_v1_v1_evidences_get",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "rail_family",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Rail Family"
            }
          },
          {
            "in": "query",
            "name": "created_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created From"
            }
          },
          {
            "in": "query",
            "name": "created_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Created To"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvidenceListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Evidence records",
        "tags": [
          "Evidences"
        ]
      }
    },
    "/v1/evidences/{evidence_id}": {
      "get": {
        "description": "Retrieve an evidence record by ID.\n\nReturns the evidence lifecycle state (INGESTED, SETTLED, FAILED).",
        "operationId": "get_evidence_v1_v1_evidences__evidence_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "evidence_id",
            "required": true,
            "schema": {
              "title": "Evidence Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvidenceOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get an Evidence record",
        "tags": [
          "Evidences"
        ]
      }
    },
    "/v1/external-accounts": {
      "get": {
        "description": "List EXTERNAL accounts in the caller's tenant (RFC-021 §3.2).\n\nCursor-paginated and scoped to the calling tenant.\n**Page until `next_cursor` is null** — a short page is not the end of the list.",
        "operationId": "list_external_accounts_v1_v1_external_accounts_get",
        "parameters": [
          {
            "description": "Opaque pagination cursor",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Opaque pagination cursor",
              "title": "Cursor"
            }
          },
          {
            "description": "Max items per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "description": "Max items per page",
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List External Accounts",
        "tags": [
          "External Accounts"
        ]
      },
      "post": {
        "description": "Create a non-custodial EXTERNAL account (RFC-021).\n\nRegisters an external counterparty (PIX key or phone) as a first-class,\ndeduplicated, non-custodial account row. No Cardano address is derived and\nno datum file is written — the account cannot hold value, only be named.\n\nRe-posting the same `(scheme, normalized_identifier)` within the same\ntenant returns the existing `account_id` with `200`. Reusing the same\n`Idempotency-Key` with a different body returns `409`.\n\nReturns:\n    201 Created on first registration; 200 OK on identity-dedup hit.\n\nRaises:\n    400: identifier could not be normalized for the given scheme\n    409: Idempotency-Key reused with a different request body\n    500: Internal error during account creation",
        "operationId": "create_external_account_v1_v1_external_accounts_post",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "title": "Idempotency-Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalAccountCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create an External Account",
        "tags": [
          "External Accounts"
        ]
      }
    },
    "/v1/external-accounts/{account_id}": {
      "get": {
        "description": "Get a single EXTERNAL account by id (RFC-021 §3.2).\n\nReturns 404 if no row exists for the id, or if the id refers to an account\nthat is not of type EXTERNAL (e.g. a CUSTOMER or GL account). This prevents\nnon-external account ids from leaking through this endpoint.",
        "operationId": "get_external_account_v1_v1_external_accounts__account_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get an External Account",
        "tags": [
          "External Accounts"
        ]
      }
    },
    "/v1/gl/accounts": {
      "get": {
        "description": "List all General Ledger accounts.\n\nGL accounts track system-level balances (e.g. External Cash, Revenue).\nThey are not owned by any party and are identified by GSI2PK = \"GL\".",
        "operationId": "list_gl_accounts_v1_v1_gl_accounts_get",
        "parameters": [
          {
            "description": "Filter by account type (e.g. ASSET)",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by account type (e.g. ASSET)",
              "title": "Type"
            }
          },
          {
            "description": "Filter by parent account ID",
            "in": "query",
            "name": "parent_account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by parent account ID",
              "title": "Parent Account Id"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLAccountListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List GL Accounts",
        "tags": [
          "GL Accounts"
        ]
      }
    },
    "/v1/gl/accounts/{account_id}": {
      "get": {
        "description": "Get a single GL account with its current balance.\n\nReturns the account metadata and balance computed from UTXOs.\nPass ?include=obligations to include individual obligation details.",
        "operationId": "get_gl_account_detail_v1_v1_gl_accounts__account_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated includes (e.g. obligations)",
            "in": "query",
            "name": "include",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated includes (e.g. obligations)",
              "title": "Include"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get GL Account Detail",
        "tags": [
          "GL Accounts"
        ]
      }
    },
    "/v1/gl/entries": {
      "get": {
        "description": "Auditor leg feed over the DR/CR read model (RFC-025).\n\nRequires exactly one of ``account_id`` or ``gl_node_id``. The two modes\npaginate on different indexes — their cursors are index-specific and must\nnever cross (laas-04 lore).\n\nRaises:\n    400: INVALID_QUERY (neither/both of account_id and gl_node_id) or Invalid cursor",
        "operationId": "list_gl_entries_v1_v1_gl_entries_get",
        "parameters": [
          {
            "description": "Leg feed for one account (GSI1 mode)",
            "in": "query",
            "name": "account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Leg feed for one account (GSI1 mode)",
              "title": "Account Id"
            }
          },
          {
            "description": "Leg feed for one COA node (GSI2 mode)",
            "in": "query",
            "name": "gl_node_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Leg feed for one COA node (GSI2 mode)",
              "title": "Gl Node Id"
            }
          },
          {
            "description": "Inclusive lower bound on effective_at (ISO 8601)",
            "in": "query",
            "name": "effective_from",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Inclusive lower bound on effective_at (ISO 8601)",
              "title": "Effective From"
            }
          },
          {
            "description": "Inclusive upper bound on effective_at (ISO 8601)",
            "in": "query",
            "name": "effective_to",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Inclusive upper bound on effective_at (ISO 8601)",
              "title": "Effective To"
            }
          },
          {
            "description": "Filter legs by layer",
            "in": "query",
            "name": "layer",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "pattern": "^(CUSTODY|MEMO)$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter legs by layer",
              "title": "Layer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLEntryLegListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List journal-entry legs by account or GL node",
        "tags": [
          "GL Entries"
        ]
      }
    },
    "/v1/gl/entries/{tx_hash}": {
      "get": {
        "description": "Full entry set (header + legs) for one confirmed Hydra transaction.\n\nA refused transaction (projection EXCEPTION marker, no SET header) returns\n200 with ``exception`` populated and no legs — auditors must see refusals;\nonly a completely unknown tx_hash is a 404.\n\nRaises:\n    404: NOT_FOUND (no entry set and no refusal marker for tx_hash)",
        "operationId": "get_gl_entry_set_v1_v1_gl_entries__tx_hash__get",
        "parameters": [
          {
            "in": "path",
            "name": "tx_hash",
            "required": true,
            "schema": {
              "title": "Tx Hash",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLEntrySetResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Entry-set drill-down for one confirmed transaction",
        "tags": [
          "GL Entries"
        ]
      }
    },
    "/v1/gl/mapping-rules": {
      "get": {
        "description": "The CURRENT mapping ruleset. Version 0 with no rules means no operator\nruleset has been appended yet — the built-in per-account-type defaults\napply (RFC-025). Rule changes are prospective-only; entries stamp the\nruleset_version they were projected under.",
        "operationId": "get_gl_mapping_rules_v1_v1_gl_mapping_rules_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLMappingRulesetResponse"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Current transaction-type→node mapping ruleset",
        "tags": [
          "GL Entries"
        ]
      }
    },
    "/v1/gl/trial-balance": {
      "get": {
        "description": "Per-node DR/CR/net over the rollup counters (a Query per node — no scans)\nplus the graph-wide zero-sum flag. CUSTODY sums to zero by UTxO\nconservation; MEMO by the gl_squad_obligations counter-legs (RFC-025).\n\nRaises:\n    400: INVALID_QUERY (from > to)",
        "operationId": "get_gl_trial_balance_v1_v1_gl_trial_balance_get",
        "parameters": [
          {
            "description": "Inclusive start accounting day (América/São_Paulo)",
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "description": "Inclusive start accounting day (América/São_Paulo)",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "title": "From",
              "type": "string"
            }
          },
          {
            "description": "Inclusive end accounting day (América/São_Paulo)",
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "description": "Inclusive end accounting day (América/São_Paulo)",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "title": "To",
              "type": "string"
            }
          },
          {
            "description": "CUSTODY (default) or MEMO",
            "in": "query",
            "name": "layer",
            "required": false,
            "schema": {
              "default": "CUSTODY",
              "description": "CUSTODY (default) or MEMO",
              "pattern": "^(CUSTODY|MEMO)$",
              "title": "Layer",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GLTrialBalanceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Trial balance over an accounting-day range",
        "tags": [
          "GL Entries"
        ]
      }
    },
    "/v1/guest-accounts": {
      "post": {
        "description": "Create a custody-enabled GUEST account (guest-01).\n\nRegisters an external non-KYC user (PIX key or phone) as a first-class,\ncontact-deduplicated account with full Cardano custody: managed keypair,\naddress, datum/redeemer — CUSTOMER-shaped, with an external identity\nbolted on. Guests must own a party (`owner_party_id` is required).\n\nRe-posting the same `(scheme, normalized_identifier)` within the same\ntenant returns the existing `account_id` with `200`. Reusing the same\n`Idempotency-Key` with a different body returns `409`.\n\nReturns:\n    201 Created on first registration; 200 OK on identity-dedup hit.\n\nRaises:\n    400: identifier could not be normalized for the given scheme\n    404: owner_party_id doesn't exist\n    409: Idempotency-Key reused with a different request body\n    500: Internal error during account creation",
        "operationId": "create_guest_account_v1_v1_guest_accounts_post",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "title": "Idempotency-Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GuestAccountCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestAccountResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create a Guest Account",
        "tags": [
          "Guest Accounts"
        ]
      }
    },
    "/v1/guest-accounts/{account_id}/pix-key": {
      "put": {
        "description": "Register (or overwrite) a guest's PIX key (guest-02; routing row LaaS-12).\n\nStores the key as a `pix_identity` attribute on the GUEST account row AND\nwrites the `IDENTITY#PIX#{normalized}` routing row (RFC-022 §3.2) so\ninbound Pix arrivals resolve to this account. Deliberately does NOT touch\n`GSI4PK` — contact dedup keys the account by the original email/phone\nidentity; the PIX key may be a different identifier class entirely (CPF,\nEVP, another phone/email). PUT is idempotent: re-registering the same key\nis a no-op; a key change re-points routing (the old row is removed).\n\nOrdering is crash-safe (D5b): conditional-write the NEW routing row first\n(a 409 destroys nothing), then delete the OLD row (ownership-guarded),\nthen overwrite the display attribute. No crash window leaves the guest\nunroutable or damages a row owned by another account.\n\nReturns:\n    200 with the registered pix_identity.\n\nRaises:\n    400: identifier is not a valid PIX key\n    404: account doesn't exist or is not of type GUEST\n    409: the key is already bound to another account (IDENTITY_ALREADY_BOUND)\n    500: Internal error persisting the identity",
        "operationId": "set_guest_pix_key_v1_v1_guest_accounts__account_id__pix_key_put",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GuestPixKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestPixKeyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Register a Guest's PIX Key",
        "tags": [
          "Guest Accounts"
        ]
      }
    },
    "/v1/health": {
      "get": {
        "description": "Aggregated health check for core services and dependencies.\n\nReturns overall health status for the Quadra environment.",
        "operationId": "health_v1_v1_health_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponseOut"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Health Check",
        "tags": [
          "Health"
        ]
      }
    },
    "/v1/holds": {
      "get": {
        "description": "List holds — account-scoped (HOLD_ACCT rows) or global (GSI5).\n\nScoped to the calling tenant; an `account_id` belonging to another tenant reads\nas not found. **Page until `next_cursor` is null** — a short page is not the end\nof the list.",
        "operationId": "list_holds_v1_v1_holds_get",
        "parameters": [
          {
            "in": "query",
            "name": "account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Account Id"
            }
          },
          {
            "description": "Filter by hold state",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by hold state",
              "title": "Status"
            }
          },
          {
            "description": "Filter by hold_type",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by hold_type",
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoldListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List holds",
        "tags": [
          "Holds"
        ]
      }
    },
    "/v1/holds/{hold_id}": {
      "get": {
        "operationId": "get_hold_v1_v1_holds__hold_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "hold_id",
            "required": true,
            "schema": {
              "title": "Hold Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoldDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get hold details",
        "tags": [
          "Holds"
        ]
      }
    },
    "/v1/journal/accounts/{account_id}": {
      "get": {
        "operationId": "list_account_journal_v1_v1_journal_accounts__account_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "description": "asc or desc (default newest-first)",
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "desc",
              "description": "asc or desc (default newest-first)",
              "title": "Order",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountJournalListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List an account's journal deltas (JACC)",
        "tags": [
          "Journal"
        ]
      }
    },
    "/v1/journal/entries": {
      "get": {
        "operationId": "list_journal_entries_v1_v1_journal_entries_get",
        "parameters": [
          {
            "description": "Range start (inclusive; default 0 = genesis)",
            "in": "query",
            "name": "from_seq",
            "required": false,
            "schema": {
              "default": 0,
              "description": "Range start (inclusive; default 0 = genesis)",
              "minimum": 0,
              "title": "From Seq",
              "type": "integer"
            }
          },
          {
            "description": "Range end (inclusive; default = head)",
            "in": "query",
            "name": "to_seq",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Range end (inclusive; default = head)",
              "title": "To Seq"
            }
          },
          {
            "description": "asc or desc",
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "asc",
              "description": "asc or desc",
              "title": "Order",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JournalEntryListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List journal entries by sequence range",
        "tags": [
          "Journal"
        ]
      }
    },
    "/v1/journal/entries/{seq_no}": {
      "get": {
        "operationId": "get_journal_entry_v1_v1_journal_entries__seq_no__get",
        "parameters": [
          {
            "in": "path",
            "name": "seq_no",
            "required": true,
            "schema": {
              "title": "Seq No",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JournalEntryDetail"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get one journal entry (includes the canonical payload)",
        "tags": [
          "Journal"
        ]
      }
    },
    "/v1/journal/obligations/{obligation_id}": {
      "get": {
        "operationId": "get_obligation_journal_v1_v1_journal_obligations__obligation_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "obligation_id",
            "required": true,
            "schema": {
              "title": "Obligation Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObligationJournalResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Journal correlation for an obligation (creation + consumption entries)",
        "tags": [
          "Journal"
        ]
      }
    },
    "/v1/limit-policies": {
      "get": {
        "description": "All limit policies for the tenant (every scope), cursor-paginated.",
        "operationId": "list_limit_policies_v1_v1_limit_policies_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Limit Policies",
        "tags": [
          "Limits"
        ]
      }
    },
    "/v1/parties": {
      "get": {
        "operationId": "search_parties_v1_v1_parties_get",
        "parameters": [
          {
            "in": "query",
            "name": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Query"
            }
          },
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "role",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Role"
            }
          },
          {
            "in": "query",
            "name": "kyc_state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Kyc State"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartySearchResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Search Parties",
        "tags": [
          "Parties"
        ]
      },
      "post": {
        "operationId": "create_party_v1_v1_parties_post",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "title": "Idempotency-Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartyCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create a Party",
        "tags": [
          "Parties"
        ]
      }
    },
    "/v1/parties/{party_id}": {
      "get": {
        "operationId": "get_party_v1_v1_parties__party_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "party_id",
            "required": true,
            "schema": {
              "title": "Party Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a Party",
        "tags": [
          "Parties"
        ]
      },
      "patch": {
        "operationId": "update_party_v1_v1_parties__party_id__patch",
        "parameters": [
          {
            "in": "path",
            "name": "party_id",
            "required": true,
            "schema": {
              "title": "Party Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartyPatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update a Party",
        "tags": [
          "Parties"
        ]
      }
    },
    "/v1/parties/{party_id}/kyc": {
      "get": {
        "description": "Full KYC view (LaaS-17): current record + state history + screening\nruns + flags, from one partition query. Parties that never submitted KYC\nget a view synthesized from the METADATA risk summary (200, not 404).",
        "operationId": "get_party_kyc_v1_v1_parties__party_id__kyc_get",
        "parameters": [
          {
            "in": "path",
            "name": "party_id",
            "required": true,
            "schema": {
              "title": "Party Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartyKycResponseOut"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a Party's KYC record",
        "tags": [
          "Parties"
        ]
      }
    },
    "/v1/pix/keys": {
      "get": {
        "description": "List the account's sponsor-registered DICT keys (GSI1\nACCOUNT_PIXKEY# rows). Writes live on command-api (POST /v1/pix/keys).",
        "operationId": "list_pix_keys_v1_v1_pix_keys_get",
        "parameters": [
          {
            "in": "query",
            "name": "account_id",
            "required": true,
            "schema": {
              "minLength": 1,
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Pix keys for an account",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/keys/{key_id}": {
      "get": {
        "description": "Get a single Pix key registry row plus its claim history (each claim\ncarries the read-side `expired` flag) and the key's state_history.",
        "operationId": "get_pix_key_v1_v1_pix_keys__key_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "key_id",
            "required": true,
            "schema": {
              "title": "Key Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a Pix key with its claims",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/mandates": {
      "get": {
        "description": "List mandates — per-account via the MANDACCT# direct-PK rows, or globally via\nthe sparse GSI9 MANDATE_ALL listing (newest first).\n\nScoped to the calling tenant; an `account_id` belonging to another tenant reads\nas not found. **Page until `next_cursor` is null** — a short page is not the end\nof the list.",
        "operationId": "list_pix_mandates_v1_v1_pix_mandates_get",
        "parameters": [
          {
            "description": "Filter to one account",
            "in": "query",
            "name": "account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one account",
              "title": "Account Id"
            }
          },
          {
            "description": "Filter by mandate status",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by mandate status",
              "title": "Status"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Pix Automático mandates",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/mandates/{mandate_id}": {
      "get": {
        "operationId": "get_pix_mandate_v1_v1_pix_mandates__mandate_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "mandate_id",
            "required": true,
            "schema": {
              "title": "Mandate Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a Pix Automático mandate with its charges",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/med/cases": {
      "get": {
        "description": "List MED cases newest-first (operations-table GSI1 listing —\nlow-cardinality admin query). Filters apply in-memory per page (the\nhold-views posture), so a filtered page may return fewer than ``limit``\nitems while ``next_cursor`` still advances.",
        "operationId": "list_pix_med_cases_v1_v1_pix_med_cases_get",
        "parameters": [
          {
            "description": "Filter by case state",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by case state",
              "title": "Status"
            }
          },
          {
            "description": "Filter by suspect account",
            "in": "query",
            "name": "account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by suspect account",
              "title": "Account Id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List MED cases",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/med/cases/{case_id}": {
      "get": {
        "description": "Get a single MED case with its full history[].",
        "operationId": "get_pix_med_case_v1_v1_pix_med_cases__case_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "case_id",
            "required": true,
            "schema": {
              "title": "Case Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a MED case",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/qr/charges": {
      "get": {
        "description": "List the account's PIXQR# charge rows (GSI1 ACCOUNT_PIXQR# rows).\nWrites live on command-api (POST /v1/pix/qr/{account_id}/dynamic).",
        "operationId": "list_pix_qr_charges_v1_v1_pix_qr_charges_get",
        "parameters": [
          {
            "in": "query",
            "name": "account_id",
            "required": true,
            "schema": {
              "minLength": 1,
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List dynamic Pix QR charges for an account",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/qr/charges/{txid}": {
      "get": {
        "description": "Read one PIXQR# charge row (pure DynamoDB — the polling surface the\nguest settle flow consumes). Computes the read-side `expired` flag.",
        "operationId": "get_pix_qr_charge_v1_v1_pix_qr_charges__txid__get",
        "parameters": [
          {
            "in": "path",
            "name": "txid",
            "required": true,
            "schema": {
              "title": "Txid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a dynamic Pix QR charge",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/pix/qr/{account_id}/static": {
      "get": {
        "description": "Generate a reusable static BR Code entirely locally (LaaS-15 D5): a pure\nread of the account's ACTIVE Ticket-14 key + owner party -> the\nshared/brcode.py codec. Stateless — no PIXQR# row, no status. key_id is\ndefaulted when the account has exactly one ACTIVE key (else 422).",
        "operationId": "get_static_pix_qr_v1_v1_pix_qr__account_id__static_get",
        "parameters": [
          {
            "in": "path",
            "name": "account_id",
            "required": true,
            "schema": {
              "title": "Account Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "key_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Key Id"
            }
          },
          {
            "in": "query",
            "name": "amount_cents",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "exclusiveMinimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Amount Cents"
            }
          },
          {
            "in": "query",
            "name": "description",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 140,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Description"
            }
          },
          {
            "in": "query",
            "name": "txid",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "pattern": "^[A-Za-z0-9]{1,25}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Txid"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Generate a static Pix QR (BR Code) for an account",
        "tags": [
          "Pix"
        ]
      }
    },
    "/v1/products": {
      "get": {
        "description": "A tenant's own catalog.\n\n⟲ *LaaS-77:* ``quadra-escrow`` now appears, for the tenants that have bound\nit — SafeSwap is catalog product #1 and these routes genuinely drive it. What\na product is listed *by* is its binding row, so the rule is unchanged and\n``quadra-squad`` is still absent: it has no row, and listing it would\nadvertise a surface these routes cannot drive (laas-91 is where it gets one).",
        "operationId": "list_products_v1_v1_products_get",
        "parameters": [
          {
            "description": "Filter by lifecycle state",
            "in": "query",
            "name": "lifecycle",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by lifecycle state",
              "title": "Lifecycle"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List the products bound to the caller's tenant",
        "tags": [
          "Products"
        ]
      }
    },
    "/v1/products/{product_id}": {
      "get": {
        "operationId": "get_product_v1_v1_products__product_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "title": "Product Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductSummary"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get one bound product",
        "tags": [
          "Products"
        ]
      }
    },
    "/v1/products/{product_id}/instances": {
      "get": {
        "operationId": "list_product_instances_v1_v1_products__product_id__instances_get",
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "title": "Product Id",
              "type": "string"
            }
          },
          {
            "description": "Filter by product_state",
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by product_state",
              "title": "State"
            }
          },
          {
            "description": "Exclude closed instances",
            "in": "query",
            "name": "open_only",
            "required": false,
            "schema": {
              "default": false,
              "description": "Exclude closed instances",
              "title": "Open Only",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductInstanceListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List a product's instances",
        "tags": [
          "Products"
        ]
      }
    },
    "/v1/products/{product_id}/instances/{instance_id}": {
      "get": {
        "description": "The instance index row plus every product UTxO it has ever had.\n\n⛔ **The timeline is NOT filtered to this product**, and that is a correction\nrather than an omission. A close writes its release output as a **custody**\nrow — the value has left the product — so filtering on ``product_id`` drops\nthe terminal transition and a closed instance's history stops at whatever\nstate preceded it. The devlocal run is what showed it: three transitions,\ntwo rows.\n\nThe boundary is elsewhere and is not weakened by that. The index row is\ntenant-guarded at the accessor and its ``product_id`` must match the path, so\na caller reaches this line only for an instance of a product already shown to\nbe theirs; every row GSI4 returns belongs to that instance by key; and each\nrow is still put through the same tenant predicate, which permits an\nun-attributed row exactly as ``tenant_owned`` does (the obligation-first\nwindow writes one before head-indexer stamps it).\n\n⟲ *LaaS-77:* an instance created through a product's **own** bespoke routes\nhas no index row — that row is written by the write path — so the summary is\nprojected from the obligation rows when it is absent. One product, one set of\ninstances, whichever surface created them.",
        "operationId": "get_product_instance_v1_v1_products__product_id__instances__instance_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "title": "Product Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "instance_id",
            "required": true,
            "schema": {
              "title": "Instance Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductInstanceDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get one product instance and its on-chain timeline",
        "tags": [
          "Products"
        ]
      }
    },
    "/v1/recon/proofs/{business_day}": {
      "get": {
        "description": "The daily proof for a business day (YYYY-MM-DD): latest version by\ndefault, a specific version via ?version=. Open-discrepancy ages are\ncomputed at serve time (kept out of the hashed content, AC5).\n\nA business day now has one proof **per recon unit** (LaaS-41 D3). With a single\nunit — every deployment until roadmap §3 — the response is unchanged. With\nseveral and no selector this answers **400 AMBIGUOUS_RECON_UNIT** listing the\nunits it could have meant, rather than picking one: the same posture\n``resolve_adapter`` takes for a rail with two drivers, and for the same reason.\nReturning an arbitrary provider's proof would be worse than refusing, because\nthe caller cannot tell that it happened.",
        "operationId": "get_recon_proof_v1_v1_recon_proofs__business_day__get",
        "parameters": [
          {
            "in": "path",
            "name": "business_day",
            "required": true,
            "schema": {
              "title": "Business Day",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maximum": 999,
                  "minimum": 1,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Version"
            }
          },
          {
            "description": "Which provider's proof (LaaS-41 D3)",
            "in": "query",
            "name": "provider",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 32,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Which provider's proof (LaaS-41 D3)",
              "title": "Provider"
            }
          },
          {
            "description": "Which sponsor account's proof",
            "in": "query",
            "name": "sponsor_account",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 64,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Which sponsor account's proof",
              "title": "Sponsor Account"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a daily reconciliation proof (latest version by default)",
        "tags": [
          "Reconciliation"
        ]
      }
    },
    "/v1/recon/runs/{run_id}": {
      "get": {
        "description": "Fetch a recon run record by id (counters, drift, window, status).",
        "operationId": "get_recon_run_v1_v1_recon_runs__run_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a reconciliation run record",
        "tags": [
          "Reconciliation"
        ]
      }
    },
    "/v1/schedules": {
      "get": {
        "description": "List schedules — per-account via the SCHEDACCT# direct-PK rows, or globally\nvia the sparse GSI9 SCHEDULE_ALL listing (newest first).\n\nScoped to the calling tenant; an `account_id` belonging to another tenant reads\nas not found. **Page until `next_cursor` is null** — a short page is not the end\nof the list.",
        "operationId": "list_schedules_v1_v1_schedules_get",
        "parameters": [
          {
            "description": "Filter to one account",
            "in": "query",
            "name": "account_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one account",
              "title": "Account Id"
            }
          },
          {
            "description": "Filter by schedule state",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by schedule state",
              "title": "Status"
            }
          },
          {
            "description": "Filter by schedule_type",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by schedule_type",
              "title": "Type"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List schedules",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/schedules/{schedule_id}": {
      "get": {
        "operationId": "get_schedule_v1_v1_schedules__schedule_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "schedule_id",
            "required": true,
            "schema": {
              "title": "Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a schedule",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/schedules/{schedule_id}/executions": {
      "get": {
        "description": "EXEC# rows in run_at order — one per occurrence, outcome taxonomy\nEXECUTED | FAILED | MISSED | SKIPPED (CLAIMED = in flight).",
        "operationId": "list_schedule_executions_v1_v1_schedules__schedule_id__executions_get",
        "parameters": [
          {
            "in": "path",
            "name": "schedule_id",
            "required": true,
            "schema": {
              "title": "Schedule Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List a schedule's execution history",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/squads": {
      "get": {
        "description": "Global squad listing via GSI9 (RFC-018, SQ-18), scoped to the calling tenant.\n\nAdmin-only — locked down at the API gateway; the bank app uses\n``GET /v1/accounts/{me}/squads`` instead. **Page until `next_cursor` is null** —\na short page is not the end of the list.",
        "operationId": "list_squads_v1_v1_squads_get",
        "parameters": [
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List all squads (admin)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}": {
      "get": {
        "description": "Squad detail (RFC-018, SQ-18). Errors: 403 NOT_A_SQUAD_MEMBER, 404\nACCOUNT_NOT_FOUND / SQUAD_NOT_FOUND. CLOSED squads are returned indefinitely.",
        "operationId": "get_squad_v1_v1_squads__sqd_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be a member",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be a member",
              "title": "Caller Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadDetailResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get squad detail (config + members + ledger summary)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}/invitations": {
      "get": {
        "description": "A squad's PENDING invitations (RFC-018 invite flow). Member-scoped. Errors:\n403 NOT_A_SQUAD_MEMBER, 404 ACCOUNT_NOT_FOUND / SQUAD_NOT_FOUND.",
        "operationId": "list_squad_invitations_v1_v1_squads__sqd_id__invitations_get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be a member",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be a member",
              "title": "Caller Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadInvitationListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List a squad's pending invitations",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}/members": {
      "get": {
        "description": "Active member roster (RFC-018, SQ-18). Errors: 403 NOT_A_SQUAD_MEMBER, 404\nACCOUNT_NOT_FOUND / SQUAD_NOT_FOUND.",
        "operationId": "list_squad_members_v1_v1_squads__sqd_id__members_get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be a member",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be a member",
              "title": "Caller Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadMemberListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a squad's active member roster",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}/simplify-preview": {
      "get": {
        "description": "Dry-run of ``POST /v1/squads/{sqd_id}/simplify-debts`` (RFC-018 netting). Returns\nthe current gross open-debt edges and the minimal net set a simplification would\nproduce, so the app can show \"before vs after\" without executing. OWNER-only (only\nan OWNER can execute the simplification). Errors: 403 NOT_A_SQUAD_MEMBER /\nINSUFFICIENT_ROLE, 404 ACCOUNT_NOT_FOUND/SQUAD_NOT_FOUND, 422 SQUAD_CLOSED.",
        "operationId": "get_squad_simplify_preview_v1_v1_squads__sqd_id__simplify_preview_get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be the OWNER",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be the OWNER",
              "title": "Caller Account Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadSimplifyPreviewResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Preview debt simplification (before vs after net debts; OWNER-only)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}/spend-requests": {
      "get": {
        "description": "The transparency list of spend-requests awaiting or resolved through N-of-M approval\n(B-SQ-06), with full approval history. Every member can read it. ``?state=`` filters by\neffective state (lazy expiry applied). Errors: 403 NOT_A_SQUAD_MEMBER, 404\nACCOUNT_NOT_FOUND / SQUAD_NOT_FOUND.",
        "operationId": "list_squad_spend_requests_v1_v1_squads__sqd_id__spend_requests_get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be a member",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be a member",
              "title": "Caller Account Id",
              "type": "string"
            }
          },
          {
            "description": "PENDING_APPROVAL | EXECUTED | REJECTED | EXPIRED | FAILED",
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "PENDING_APPROVAL | EXECUTED | REJECTED | EXPIRED | FAILED",
              "title": "State"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpendRequestListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List a squad's N-of-M spend-requests with approval history (Regras)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/squads/{sqd_id}/transactions": {
      "get": {
        "description": "Squad activity timeline (RFC-018, SQ-18), oldest first. Accounting entries are\ngrouped into one parent expense each (original total + per-member ``shares``\nbreakdown); ``?kind=ACCOUNTING`` returns just the expenses. ``?period=2026-07``\nreturns only that cycle's entries (B-SQ-04). Errors: 403 NOT_A_SQUAD_MEMBER, 404\nSQUAD_NOT_FOUND.",
        "operationId": "list_squad_transactions_v1_v1_squads__sqd_id__transactions_get",
        "parameters": [
          {
            "in": "path",
            "name": "sqd_id",
            "required": true,
            "schema": {
              "title": "Sqd Id",
              "type": "string"
            }
          },
          {
            "description": "The calling account; must be a member",
            "in": "query",
            "name": "caller_account_id",
            "required": true,
            "schema": {
              "description": "The calling account; must be a member",
              "title": "Caller Account Id",
              "type": "string"
            }
          },
          {
            "description": "ACCOUNTING | FUNDED | SPEND | SETTLEMENT | CYCLE_SUMMARY | GOAL_ACHIEVED | SPEND_REQUEST",
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "ACCOUNTING | FUNDED | SPEND | SETTLEMENT | CYCLE_SUMMARY | GOAL_ACHIEVED | SPEND_REQUEST",
              "title": "Kind"
            }
          },
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "State"
            }
          },
          {
            "description": "Filter to one cycle, e.g. 2026-07 (B-SQ-04)",
            "in": "query",
            "name": "period",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to one cycle, e.g. 2026-07 (B-SQ-04)",
              "title": "Period"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 200,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SquadTransactionListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List a squad's activity (parent expenses, deposits, spends, settlements)",
        "tags": [
          "Squads"
        ]
      }
    },
    "/v1/templates": {
      "get": {
        "description": "List the transfer templates this caller may invoke (LaaS-26, LaaS-78).\n\nTwo tiers, in resolution order. The **platform** tier is operator-defined,\ndeploy-time JSON and reflects the registry command-api validated at startup.\nThe **tenant** tier is this caller's own runtime-authored templates\n(``tnt.{tenant}.{name}``), read from the caller's own partition — so another\ntenant's templates are not merely filtered out of this list, they are\nunaddressable. Each entry carries its ``template_version`` and\n``content_hash`` (the tamper-bound attribution stamped on every obligation an\ninvocation produces), plus ``tier`` and ``status``.\n\nRETIRED tenant templates are listed and marked. Retiring gates new execution,\nnever observation — and the id has to stay resolvable for attribution anyway.\n\n⚠️ **The tenant tier is capped at 100 entries here and the cap is not silent:**\nthis route's published shape is a bare ``items`` array with no cursor (LaaS-26),\nso there is nowhere to hand back a continuation. A tenant that outgrows it reads\nthe paginated operator listing\n(``GET /v1/operator/tenants/{tenant}/transfer-templates``) instead, and giving\nthis route a cursor is a contract change for whoever needs it first.",
        "operationId": "list_templates_v1_v1_templates_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Transfer Templates",
        "tags": [
          "Templates"
        ]
      }
    },
    "/v1/templates/{template_id}": {
      "get": {
        "description": "Get one transfer template by id — platform tier, then the caller's own.\n\n⛔ A template belonging to another tenant answers **404**, identically to one\nthat never existed: the tenant is a segment of the partition key, so the two\nare one DynamoDB miss and the response cannot differ in status, body or\nheaders (LaaS-78 AC3).",
        "operationId": "get_template_v1_v1_templates__template_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "template_id",
            "required": true,
            "schema": {
              "title": "Template Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a Transfer Template",
        "tags": [
          "Templates"
        ]
      }
    },
    "/v1/version": {
      "get": {
        "description": "Public version information for the Quadra API surface.",
        "operationId": "version_v1_v1_version_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionResponseOut"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Version Information",
        "tags": [
          "Health"
        ]
      }
    },
    "/v1/webhooks": {
      "get": {
        "description": "List the caller's webhook endpoints (newest first, masked secrets).\n\nScoped to the calling tenant, and within it to the registering client.\n**Page until `next_cursor` is null** — a short page is not the end of the list.",
        "operationId": "list_webhooks_v1_v1_webhooks_get",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List webhook endpoints",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/{webhook_id}": {
      "get": {
        "description": "Registry row + stats block. DELETED tombstones stay visible.\nRaises: 404 (absent or foreign webhook_id).",
        "operationId": "get_webhook_v1_v1_webhooks__webhook_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get a webhook endpoint with delivery stats",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/{webhook_id}/deliveries": {
      "get": {
        "description": "Delivery attempt records, newest first (30-day retention). Raises: 404.",
        "operationId": "list_webhook_deliveries_v1_v1_webhooks__webhook_id__deliveries_get",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "required": true,
            "schema": {
              "title": "Webhook Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List delivery attempts for a webhook endpoint",
        "tags": [
          "Webhooks"
        ]
      }
    }
  },
  "security": [
    {
      "oauth2_client_credentials": []
    }
  ],
  "servers": [
    {
      "description": "Ambiente de avaliação. Compartilhado entre avaliadores, reiniciado com aviso, sem SLA. Exige credenciais aprovadas.",
      "url": "https://api-sbx.sonacore.com.br"
    }
  ]
}
