{
  "openapi": "3.0.0",
  "info": {
    "title": "Palisade API",
    "description": "The Palisade API enables programmatic interaction with the various features of the Palisade platform",
    "version": "2.0"
  },
  "tags": [
    {
      "name": "Addresses",
      "description": "Used to manage addresses"
    },
    {
      "name": "API Credentials",
      "description": "Used to manage credentials"
    },
    {
      "name": "Balances",
      "description": "Used to view balances"
    },
    {
      "name": "Counterparties",
      "description": "Used to manage counterparties"
    },
    {
      "name": "Policies",
      "description": "Used to manage connections policies"
    },
    {
      "name": "Sweep Configurations",
      "description": "Used to manage sweep configurations"
    },
    {
      "name": "Tags",
      "description": "Used to manage organization tags"
    },
    {
      "name": "Transactions",
      "description": "Used to manage transactions"
    },
    {
      "name": "Transactions - XRP",
      "description": "Used to manage XRP specific transactions"
    },
    {
      "name": "Vaults",
      "description": "Used to manage vaults"
    },
    {
      "name": "Vault Tags",
      "description": "Used to manage vault tags"
    },
    {
      "name": "Wallets",
      "description": "Used to manage wallets"
    },
    {
      "name": "Wallet Tags",
      "description": "Used to manage wallet tags"
    },
    {
      "name": "Webhooks",
      "description": "Used to manage webhooks"
    }
  ],
  "paths": {
    "/v2/addresses": {
      "get": {
        "summary": "List organization addresses",
        "description": "List all addresses within the organization",
        "operationId": "CounterpartyService_ListGlobalAddresses",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalAddressesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "description": "The on-chain address to search for",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.addressId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.addressId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.addressId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.counterpartyId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.counterpartyId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.counterpartyId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.address.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.description.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by address status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CREATED",
                "ENABLED",
                "REJECTED",
                "DELETED",
                "ERROR",
                "COMPLIANCE_PENDING",
                "COMPLIANCE_COMPLETE",
                "CREATION_APPROVAL_PENDING",
                "CREATION_APPROVAL_COMPLETE",
                "DELETION_APPROVAL_PENDING",
                "DELETION_APPROVAL_COMPLETE"
              ]
            }
          },
          {
            "name": "filter.active.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.active.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over address ID, on-chain address, name, and description.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Addresses"
        ]
      }
    },
    "/v2/addresses:list": {
      "post": {
        "summary": "List organization addresses",
        "description": "List all addresses within the organization",
        "operationId": "CounterpartyService_ListGlobalAddresses2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalAddressesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListGlobalAddressesRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Addresses"
        ]
      }
    },
    "/v2/balances": {
      "get": {
        "summary": "Get Organization Balances",
        "description": "Get the balance of an organization",
        "operationId": "BalanceService_GetOrgBalances",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2GetOrgBalancesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "currencyCode",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Balances"
        ]
      }
    },
    "/v2/counterparties": {
      "get": {
        "summary": "List counterparties",
        "description": "List counterparties",
        "operationId": "CounterpartyService_ListCounterparties",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListCounterpartiesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.description.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.type",
            "description": "Filter by counterparty type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ORGANIZATION",
                "INDIVIDUAL",
                "DAPP"
              ]
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over counterparty ID, name, description, and counterparty details.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Counterparties"
        ]
      },
      "post": {
        "summary": "Create counterparties",
        "description": "Create a new counterparty",
        "operationId": "CounterpartyService_CreateCounterparty",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Counterparty"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2CreateCounterpartyRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Counterparties"
        ]
      }
    },
    "/v2/counterparties/{counterpartyId}/addresses": {
      "get": {
        "summary": "List counterparty addresses",
        "description": "List all addresses within a counterparty",
        "operationId": "CounterpartyService_ListAddresses",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListAddressesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "counterpartyId",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 100)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.addressId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.addressId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.addressId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.addressId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.counterpartyId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.counterpartyId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.counterpartyId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.counterpartyId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.address.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.description.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by address status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CREATED",
                "ENABLED",
                "REJECTED",
                "DELETED",
                "ERROR",
                "COMPLIANCE_PENDING",
                "COMPLIANCE_COMPLETE",
                "CREATION_APPROVAL_PENDING",
                "CREATION_APPROVAL_COMPLETE",
                "DELETION_APPROVAL_PENDING",
                "DELETION_APPROVAL_COMPLETE"
              ]
            }
          },
          {
            "name": "filter.active.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.active.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over address ID, on-chain address, name, and description.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Addresses"
        ]
      },
      "post": {
        "summary": "Create addresses",
        "description": "Create a new address",
        "operationId": "CounterpartyService_CreateAddress",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/counterpartyv2Address"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "counterpartyId",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "custodian": {
                    "$ref": "#/components/schemas/v2Custodian"
                  },
                  "termsAndConditionsAccepted": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether the user has accepted the terms and conditions"
                  },
                  "details": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2AddressDetails"
                      },
                      {
                        "description": "The address details"
                      }
                    ]
                  }
                },
                "required": [
                  "termsAndConditionsAccepted",
                  "details"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Addresses"
        ]
      }
    },
    "/v2/counterparties/{counterpartyId}/addresses/{addressId}": {
      "get": {
        "summary": "Get addresses",
        "description": "Get an address",
        "operationId": "CounterpartyService_GetAddress",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/counterpartyv2Address"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "counterpartyId",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressId",
            "description": "The address ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Addresses"
        ]
      },
      "delete": {
        "summary": "Delete addresses",
        "description": "Delete an address",
        "operationId": "CounterpartyService_DeleteAddress",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteAddressResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "counterpartyId",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressId",
            "description": "The address ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Addresses"
        ]
      }
    },
    "/v2/counterparties/{counterpartyId}/addresses:list": {
      "post": {
        "summary": "List counterparty addresses",
        "description": "List all addresses within a counterparty",
        "operationId": "CounterpartyService_ListAddresses2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListAddressesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "counterpartyId",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "The number of results to return per page (default 50, max 100)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: address, name, status, active, created_at, updated_at."
                      }
                    ]
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2AddressFilter"
                      },
                      {
                        "description": "Optional address filters. Each populated sub-filter is AND-ed."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
                    "description": "Case-insensitive search over address ID, on-chain address, name, and description."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Addresses"
        ]
      }
    },
    "/v2/counterparties/{id}": {
      "get": {
        "summary": "Get counterparties",
        "description": "Get a counterparty",
        "operationId": "CounterpartyService_GetCounterparty",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Counterparty"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Counterparties"
        ]
      },
      "delete": {
        "summary": "Delete counterparties",
        "description": "Delete a counterparty",
        "operationId": "CounterpartyService_DeleteCounterparty",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteCounterpartyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Counterparties"
        ]
      },
      "put": {
        "summary": "Update counterparties",
        "description": "Update a counterparty",
        "operationId": "CounterpartyService_UpdateCounterparty",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Counterparty"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The counterparty ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Palisade",
                    "description": "The counterparty name"
                  },
                  "description": {
                    "type": "string",
                    "example": "A counterparty used by the treasury department",
                    "description": "The counterparty description"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Counterparties"
        ]
      }
    },
    "/v2/counterparties:list": {
      "post": {
        "summary": "List counterparties",
        "description": "List counterparties",
        "operationId": "CounterpartyService_ListCounterparties2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListCounterpartiesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListCounterpartiesRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Counterparties"
        ]
      }
    },
    "/v2/credentials/oauth/token": {
      "post": {
        "summary": "Client credentials exchange",
        "description": "OAuth client credentials exchange for access token",
        "operationId": "CredentialService_ExchangeCredential",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ExchangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ExchangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "API Credentials"
        ],
        "security": []
      }
    },
    "/v2/policy-rules/limits": {
      "get": {
        "summary": "List organization wallet limits",
        "description": "List all wallet limits within the organization",
        "operationId": "PolicyService_ListGlobalWalletLimits",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalWalletLimitsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.vaultId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.walletId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.assetSymbol.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.limitType",
            "description": "Filter by limit type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "PER_TX",
                "CONSTANT",
                "ROLLING_DURATION"
              ]
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by wallet limit status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "LIMIT_CREATED",
                "LIMIT_ENABLED",
                "LIMIT_REJECTED",
                "LIMIT_DELETED",
                "LIMIT_ERROR",
                "LIMIT_CREATION_APPROVAL_PENDING",
                "LIMIT_CREATION_APPROVAL_COMPLETE",
                "LIMIT_DELETION_APPROVAL_PENDING",
                "LIMIT_DELETION_APPROVAL_COMPLETE"
              ]
            }
          },
          {
            "name": "filter.active.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.active.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over wallet limit ID, vault ID, wallet ID, and asset symbol.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/policy-rules/limits:list": {
      "post": {
        "summary": "List organization wallet limits",
        "description": "List all wallet limits within the organization",
        "operationId": "PolicyService_ListGlobalWalletLimits2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalWalletLimitsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListGlobalWalletLimitsRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/tags": {
      "get": {
        "summary": "List all tags for the organization",
        "description": "List all wallet and vault tags for the organization",
        "operationId": "VaultService_ListGlobalTags",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalTagsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "tags": [
          "Tags"
        ]
      }
    },
    "/v2/transactions": {
      "get": {
        "summary": "List transactions",
        "description": "List organization transactions with optional filtering, search, sorting, and pagination. Supports both GET (bookmarkable, simple queries) and POST :list (complex filter objects as a JSON body).",
        "operationId": "TransactionsService_ListTransactions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter.status.eq",
            "description": "Exact transaction status match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REQUESTED",
                "POLICY_CHECK_PENDING",
                "POLICY_CHECK_PASSED",
                "APPROVAL_CHECK_PENDING",
                "APPROVAL_CHECK_PASSED",
                "COMPILATION_PENDING",
                "COMPILED",
                "SIGNATURE_PENDING",
                "SIGNED",
                "PUBLISH_PENDING",
                "PUBLISHED",
                "CONFIRMATION_PENDING",
                "CONFIRMED",
                "REJECTED",
                "FAILED"
              ]
            }
          },
          {
            "name": "filter.status.notEq",
            "description": "Exclude this transaction status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REQUESTED",
                "POLICY_CHECK_PENDING",
                "POLICY_CHECK_PASSED",
                "APPROVAL_CHECK_PENDING",
                "APPROVAL_CHECK_PASSED",
                "COMPILATION_PENDING",
                "COMPILED",
                "SIGNATURE_PENDING",
                "SIGNED",
                "PUBLISH_PENDING",
                "PUBLISHED",
                "CONFIRMATION_PENDING",
                "CONFIRMED",
                "REJECTED",
                "FAILED"
              ]
            }
          },
          {
            "name": "filter.status.in",
            "description": "Transaction status is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "REQUESTED",
                  "POLICY_CHECK_PENDING",
                  "POLICY_CHECK_PASSED",
                  "APPROVAL_CHECK_PENDING",
                  "APPROVAL_CHECK_PASSED",
                  "COMPILATION_PENDING",
                  "COMPILED",
                  "SIGNATURE_PENDING",
                  "SIGNED",
                  "PUBLISH_PENDING",
                  "PUBLISHED",
                  "CONFIRMATION_PENDING",
                  "CONFIRMED",
                  "REJECTED",
                  "FAILED"
                ]
              }
            }
          },
          {
            "name": "filter.status.notIn",
            "description": "Transaction status is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "REQUESTED",
                  "POLICY_CHECK_PENDING",
                  "POLICY_CHECK_PASSED",
                  "APPROVAL_CHECK_PENDING",
                  "APPROVAL_CHECK_PASSED",
                  "COMPILATION_PENDING",
                  "COMPILED",
                  "SIGNATURE_PENDING",
                  "SIGNED",
                  "PUBLISH_PENDING",
                  "PUBLISHED",
                  "CONFIRMATION_PENDING",
                  "CONFIRMED",
                  "REJECTED",
                  "FAILED"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.assetSymbol.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.qty.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.qty.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.qty.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.qty.gt",
            "description": "Greater than",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.gte",
            "description": "Greater than or equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.lt",
            "description": "Less than",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.lte",
            "description": "Less than or equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.originAddress.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.originAddress.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.destinationAddress.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destinationAddress.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destinationAddress.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.transactionId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.transactionHash.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionHash.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionHash.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.externalId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.correlationId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.type.eq",
            "description": "Exact transaction type match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPOSIT",
                "WITHDRAWAL",
                "WEB3_RAW",
                "WEB3_SIGN",
                "PASSKEY_RAW",
                "PASSKEY_SIGN",
                "PALISADE_TRANSFER",
                "PALISADE_RAW",
                "PALISADE_MANAGED",
                "PALISADE_SIGN_PLAINTEXT",
                "PALISADE_SWEEP"
              ]
            }
          },
          {
            "name": "filter.type.notEq",
            "description": "Exclude this transaction type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPOSIT",
                "WITHDRAWAL",
                "WEB3_RAW",
                "WEB3_SIGN",
                "PASSKEY_RAW",
                "PASSKEY_SIGN",
                "PALISADE_TRANSFER",
                "PALISADE_RAW",
                "PALISADE_MANAGED",
                "PALISADE_SIGN_PLAINTEXT",
                "PALISADE_SWEEP"
              ]
            }
          },
          {
            "name": "filter.type.in",
            "description": "Transaction type is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "DEPOSIT",
                  "WITHDRAWAL",
                  "WEB3_RAW",
                  "WEB3_SIGN",
                  "PASSKEY_RAW",
                  "PASSKEY_SIGN",
                  "PALISADE_TRANSFER",
                  "PALISADE_RAW",
                  "PALISADE_MANAGED",
                  "PALISADE_SIGN_PLAINTEXT",
                  "PALISADE_SWEEP"
                ]
              }
            }
          },
          {
            "name": "filter.type.notIn",
            "description": "Transaction type is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "DEPOSIT",
                  "WITHDRAWAL",
                  "WEB3_RAW",
                  "WEB3_SIGN",
                  "PASSKEY_RAW",
                  "PASSKEY_SIGN",
                  "PALISADE_TRANSFER",
                  "PALISADE_RAW",
                  "PALISADE_MANAGED",
                  "PALISADE_SIGN_PLAINTEXT",
                  "PALISADE_SWEEP"
                ]
              }
            }
          },
          {
            "name": "filter.origin.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.origin.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.origin.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.destination.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destination.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destination.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive free-text search over transaction ID, transaction hash, external ID, correlation ID, asset symbol, origin address, and destination address.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/transactions/sweep/{sweepId}": {
      "get": {
        "summary": "List transactions for a sweep instance",
        "description": "List all transactions for a given sweep instance",
        "operationId": "TransactionsService_ListSweepInstanceTransactions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListSweepInstanceTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sweepId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "correlationId",
            "description": "Correlation ID for this request, used to correlate multiple actions",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          }
        ],
        "tags": [
          "Transactions - Sweep"
        ]
      }
    },
    "/v2/transactions/sweep/{sweepId}:list": {
      "post": {
        "summary": "List transactions for a sweep instance",
        "description": "List all transactions for a given sweep instance",
        "operationId": "TransactionsService_ListSweepInstanceTransactions2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListSweepInstanceTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sweepId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "Correlation ID for this request, used to correlate multiple actions"
                  },
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1000,
                    "description": "The number of results to return per page (default 50, max 1000)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: created_at, updated_at, amount, status. If set, overrides legacy page_size/page_token."
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - Sweep"
        ]
      }
    },
    "/v2/transactions/transfer/estimate-fee": {
      "post": {
        "summary": "Estimate the fee for a transfer transaction",
        "description": "Estimate the fee for a transfer transaction",
        "operationId": "TransactionsService_EstimateTransferFee",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2FeeEstimate"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2EstimateTransferFeeRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/transactions:list": {
      "post": {
        "summary": "List transactions",
        "description": "List organization transactions with optional filtering, search, sorting, and pagination. Supports both GET (bookmarkable, simple queries) and POST :list (complex filter objects as a JSON body).",
        "operationId": "TransactionsService_ListTransactions2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListTransactionsRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults": {
      "get": {
        "summary": "List vaults",
        "description": "List all vaults within the organization",
        "operationId": "VaultService_ListVaults",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListVaultsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "correlationId",
            "description": "Correlation ID for tracking various actions on the vault",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.description.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.externalId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.correlationId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over vault ID, name, description, external ID, and correlation ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Vaults"
        ]
      },
      "post": {
        "summary": "Create a vault",
        "description": "Create a new vault",
        "operationId": "VaultService_CreateVault",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Vault"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2CreateVaultRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Vaults"
        ]
      }
    },
    "/v2/vaults/tags": {
      "get": {
        "summary": "List all vault tags for the organization",
        "description": "List all vault tags for the organization",
        "operationId": "VaultService_ListGlobalVaultTags",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2VaultTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "tags": [
          "Vault Tags"
        ]
      }
    },
    "/v2/vaults/{id}": {
      "get": {
        "summary": "Get a vault",
        "description": "Get a vault by ID",
        "operationId": "VaultService_GetVault",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Vault"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Vaults"
        ]
      },
      "put": {
        "summary": "Update a vault",
        "description": "Update a vault's name and description by ID",
        "operationId": "VaultService_UpdateVault",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Vault"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Treasury vault",
                    "description": "The name of the vault"
                  },
                  "description": {
                    "type": "string",
                    "example": "A vault used by the treasury department",
                    "description": "The description of the vault"
                  },
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "Correlation ID for tracking various actions on the vault"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Vaults"
        ]
      }
    },
    "/v2/vaults/{vaultId}/balances": {
      "get": {
        "summary": "Get Vault Balances",
        "description": "Get the balances of a vault",
        "operationId": "BalanceService_GetVaultBalances",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2GetVaultBalancesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID that the connection is associated with",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currencyCode",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Balances"
        ]
      }
    },
    "/v2/vaults/{vaultId}/tags": {
      "get": {
        "summary": "List tags for the vault",
        "description": "List all tags for the vault",
        "operationId": "VaultService_ListVaultTags",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2VaultTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Vault Tags"
        ]
      },
      "delete": {
        "summary": "Delete a vault tag",
        "description": "Delete a vault tag from a vault",
        "operationId": "VaultService_DeleteVaultTag",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteVaultTagResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "description": "The tag",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Vault Tags"
        ]
      },
      "post": {
        "summary": "Add a new vault tag",
        "description": "Add a new vault tag to a vault",
        "operationId": "VaultService_AddVaultTag",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2VaultTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tag": {
                    "type": "string",
                    "example": "Treasury vault",
                    "description": "The tag"
                  }
                },
                "required": [
                  "tag"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Vault Tags"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets": {
      "get": {
        "summary": "List vault wallets",
        "description": "List all wallets within a vault",
        "operationId": "VaultService_ListVaultWallets",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListVaultWalletsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockchain",
            "description": "The blockchain of the wallet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.vaultId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.address.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.alias.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.alias.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.alias.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.externalId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.correlationId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by wallet status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CREATED",
                "PROVISIONING",
                "PROVISIONED_WALLET",
                "PROVISIONING_POLICY",
                "PROVISIONING_COMPLIANCE",
                "PROVISIONED_COMPLIANCE",
                "PROVISIONED",
                "PROVISIONING_FAILED"
              ]
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over wallet ID, name, address, alias, external ID, and correlation ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      },
      "post": {
        "summary": "Create a wallet",
        "description": "Create a new HSM or MPC wallet within a vault",
        "operationId": "VaultService_CreateWallet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vaultv2Wallet"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "USD Issuing wallet",
                    "description": "The name of the wallet"
                  },
                  "description": {
                    "type": "string",
                    "example": "Main USD issuing account used internally",
                    "description": "The description of the wallet"
                  },
                  "quorumId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "The quorum ID"
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "ETHEREUM",
                        "description": "The blockchain of the wallet"
                      }
                    ]
                  },
                  "keystore": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Keystore"
                      },
                      {
                        "example": "HSM",
                        "description": "The keystore of the wallet"
                      }
                    ]
                  },
                  "recoveryPublicKey": {
                    "type": "string",
                    "example": "30820221300d06092a864886f70d01010105000382020e0030820209028202007b985c289e76fa4d25a72649d9b3381c12ec63e05cee00173e91f94a371a1fc0b95e98ffa0c435a651db17924d9089951f844d00e52fb5ddf3ac0843ea2cdf6ddf54c6926147229722e1cbd8d50a4a62e2d8ae1ffa466e67d23e9de8293dd9698a992a2eb00f9d5588dfacdd86f65c9c2d429da830bfb5b93568159cdece5c1f6424aabbb6058d83261322660ec8acdbe03060ad9fd547aa647fdc96b0b64a56a60070fa64ede58c5c8eb0e3779512e977170c2b7a3e32e375754d5e6e92d65e96d5e3095b455485d70f1ea76a392ff8488a9b93344a440c11e1943fe8dbd6cc98501cd0bac1408e0b47041adfc07b648e6e7feb55ebc1a62ae0cea93adbfd56eee20ffc75395773354927f1d9857050c0aa6a468620885c72a2c46d8274b2e780186743cfae2c04f7f5618df90c1bf31b54634c1b33fa80a68311d7ceb9d392a666bae1a059055a0e26ed1143e21b0ade10f4ef6e5dc8fa653da67f1317fb6f6755ae558f7f198fa1bb0db20e065720fe64f1b7eef91e744bd53df2830ae12960c11e68940f7e7915ff5d46af5e4b65d32f7196ed095a52764c585f75b81d568f101721a18123304b006730fcfb715d53853904995da7e1302a1273ac2559f789bf331dc54c1cd2a523fc665100d6cfad4e4446ff5b239517e577aaf5be1d8a2ed72087432f58d2fdffad377a01c0980efe9e5673ac93d882c64914a2111a9f0203010001",
                    "description": "Optional, hex encoded PKCS1 formatted public key of a 4096-bit RSA private key"
                  },
                  "externalId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "External ID of this wallet, unique to the organization"
                  },
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "Correlation ID for tracking correlations with the wallet"
                  },
                  "walletType": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2WalletType"
                      },
                      {
                        "example": "WALLET_TYPE_BLOCKCHAIN",
                        "description": "The type of wallet to create. Defaults to BLOCKCHAIN if not specified."
                      }
                    ]
                  },
                  "keyAlgorithm": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2KeyAlgorithm"
                      },
                      {
                        "example": "SECP256K1",
                        "description": "The key algorithm of the wallet"
                      }
                    ]
                  }
                },
                "required": [
                  "name",
                  "keystore"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/tags": {
      "get": {
        "summary": "List all wallet tags in vault",
        "description": "List all tags from all wallets in the vault",
        "operationId": "VaultService_ListWalletTagsInVault",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2WalletTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallet Tags"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}": {
      "get": {
        "summary": "Get a wallet",
        "description": "Get a wallet by ID",
        "operationId": "VaultService_GetWallet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vaultv2Wallet"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      },
      "delete": {
        "summary": "Delete a wallet",
        "description": "Delete a wallet by ID (A wallet can only be deleted if it is in PROVISIONING_FAILED status)",
        "operationId": "VaultService_DeleteWallet",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteWalletResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      },
      "put": {
        "summary": "Update a wallet",
        "description": "Update a wallet's name and description by ID",
        "operationId": "VaultService_UpdateWallet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vaultv2Wallet"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "USD Issuing wallet",
                    "description": "The name of the wallet"
                  },
                  "description": {
                    "type": "string",
                    "example": "Main USD issuing account used internally",
                    "description": "The description of the wallet"
                  },
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "Correlation ID for tracking correlated actions on the wallet"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/balances": {
      "get": {
        "summary": "Get Wallet Balances",
        "description": "Get the balances of a wallet. Populated filters and search are AND-ed; values within each in filter are OR-ed, and duplicate inputs do not duplicate response balances. Contract addresses use blockchain-aware canonical matching. Select native assets with filter.contract.isNull=true or filter.standard.in=NATIVE. Sortable fields are symbol, name, blockchain, contract_address, source, and standard; results always use a stable asset-identity tie-breaker. Any populated pagination field enables paging, with pageSize defaulting to 50 when omitted. Omitting search, the new filters, and pagination preserves the legacy balance selection and source-only query behavior. No matches return HTTP 200 with an empty balances list, zero aggregatedFiatValue, and pagination metadata when requested. aggregatedFiatValue covers the complete filtered result, not only the current page.",
        "operationId": "BalanceService_GetWalletBalances",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2GetWalletBalancesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currencyCode",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.source.eq",
            "description": "Exact asset source match\n\n - ASSET_SOURCE_LEGACY: Legacy entries\n - ASSET_SOURCE_AUTO: Auto-generated\n - ASSET_SOURCE_COINGECKO: From CoinGecko sync\n - ASSET_SOURCE_PALISADE: Admin entries\n - ASSET_SOURCE_CUSTOMER: Customer entries",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ASSET_SOURCE_LEGACY",
                "ASSET_SOURCE_AUTO",
                "ASSET_SOURCE_COINGECKO",
                "ASSET_SOURCE_PALISADE",
                "ASSET_SOURCE_CUSTOMER"
              ]
            }
          },
          {
            "name": "filter.source.notEq",
            "description": "Exclude this asset source\n\n - ASSET_SOURCE_LEGACY: Legacy entries\n - ASSET_SOURCE_AUTO: Auto-generated\n - ASSET_SOURCE_COINGECKO: From CoinGecko sync\n - ASSET_SOURCE_PALISADE: Admin entries\n - ASSET_SOURCE_CUSTOMER: Customer entries",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ASSET_SOURCE_LEGACY",
                "ASSET_SOURCE_AUTO",
                "ASSET_SOURCE_COINGECKO",
                "ASSET_SOURCE_PALISADE",
                "ASSET_SOURCE_CUSTOMER"
              ]
            }
          },
          {
            "name": "filter.source.in",
            "description": "Asset source is in this list\n\n - ASSET_SOURCE_LEGACY: Legacy entries\n - ASSET_SOURCE_AUTO: Auto-generated\n - ASSET_SOURCE_COINGECKO: From CoinGecko sync\n - ASSET_SOURCE_PALISADE: Admin entries\n - ASSET_SOURCE_CUSTOMER: Customer entries",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ASSET_SOURCE_LEGACY",
                  "ASSET_SOURCE_AUTO",
                  "ASSET_SOURCE_COINGECKO",
                  "ASSET_SOURCE_PALISADE",
                  "ASSET_SOURCE_CUSTOMER"
                ]
              }
            }
          },
          {
            "name": "filter.source.notIn",
            "description": "Asset source is not in this list\n\n - ASSET_SOURCE_LEGACY: Legacy entries\n - ASSET_SOURCE_AUTO: Auto-generated\n - ASSET_SOURCE_COINGECKO: From CoinGecko sync\n - ASSET_SOURCE_PALISADE: Admin entries\n - ASSET_SOURCE_CUSTOMER: Customer entries",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "ASSET_SOURCE_LEGACY",
                  "ASSET_SOURCE_AUTO",
                  "ASSET_SOURCE_COINGECKO",
                  "ASSET_SOURCE_PALISADE",
                  "ASSET_SOURCE_CUSTOMER"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.contract.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.contract.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.contract.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.contract.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.contract.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.contract.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.contract.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.contract.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.symbol.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.symbol.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.symbol.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.symbol.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.symbol.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.symbol.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.symbol.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.symbol.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.standard.eq",
            "description": "Exact asset standard match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "NATIVE",
                "ERC20",
                "ISSUED_CURRENCY",
                "ERC721",
                "SPL",
                "CUSTOM"
              ]
            }
          },
          {
            "name": "filter.standard.notEq",
            "description": "Exclude this asset standard",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "NATIVE",
                "ERC20",
                "ISSUED_CURRENCY",
                "ERC721",
                "SPL",
                "CUSTOM"
              ]
            }
          },
          {
            "name": "filter.standard.in",
            "description": "Asset standard is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NATIVE",
                  "ERC20",
                  "ISSUED_CURRENCY",
                  "ERC721",
                  "SPL",
                  "CUSTOM"
                ]
              }
            }
          },
          {
            "name": "filter.standard.notIn",
            "description": "Asset standard is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NATIVE",
                  "ERC20",
                  "ISSUED_CURRENCY",
                  "ERC721",
                  "SPL",
                  "CUSTOM"
                ]
              }
            }
          },
          {
            "name": "refreshRegistryMetadata",
            "description": "When true, bypass cached registry resolution for assets in this wallet before returning balances. This does not mutate registry records, and a registry resolution failure fails the request. Intended only for bounded reads immediately after a registry mutation; leave false for routine balance reads.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over asset ID, symbol, name, contract address, blockchain name, source label, and standard label.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Balances"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/balances/sync": {
      "post": {
        "summary": "Sync Wallet Balances",
        "description": "Trigger a refresh of the balances for a wallet. Note: This only syncs balances for assets already known to the system. It will not discover new tokens that were received but not yet tracked.",
        "operationId": "BalanceService_SyncWalletBalances",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2SyncWalletBalancesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Balances"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules": {
      "get": {
        "summary": "List policy rules",
        "description": "List policy rules for the specified wallet",
        "operationId": "PolicyService_ListPolicyRules",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListPolicyRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.vaultId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.walletId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.trigger",
            "description": "Filter by rule trigger\n\n - OUTBOUND_INITIATED: Any outbound operation submitted for policy evaluation before\nsigning (withdrawals, web3 transfers, palisade transfers, raw and\nmanaged transactions) — not only value transfers.\n - INBOUND_DETECTED: Any inbound activity observed on a monitored address (deposits and\nother incoming operations detected by block monitoring).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "OUTBOUND_INITIATED",
                "INBOUND_DETECTED"
              ]
            }
          },
          {
            "name": "filter.assetId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by policy rule status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "RULE_CREATED",
                "RULE_ENABLED",
                "RULE_REJECTED",
                "RULE_DELETED",
                "RULE_ERROR",
                "RULE_CREATION_APPROVAL_PENDING",
                "RULE_CREATION_APPROVAL_COMPLETE",
                "RULE_DELETION_APPROVAL_PENDING",
                "RULE_DELETION_APPROVAL_COMPLETE"
              ]
            }
          },
          {
            "name": "filter.active.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.active.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.kind",
            "description": "Filter by rule kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "LIMIT",
                "APPROVAL",
                "TRAVEL_RULE"
              ]
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over policy rule ID, vault ID, wallet ID, and asset ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      },
      "post": {
        "summary": "Create a policy rule",
        "description": "Create a typed policy rule (limit, approval, or travel rule) for the specified wallet.",
        "operationId": "PolicyService_CreatePolicyRule",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2PolicyRule"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID the rule applies to",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trigger": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2RuleTrigger"
                      },
                      {
                        "example": "OUTBOUND_INITIATED",
                        "description": "Required for ordinary rules. Approval defaults use OUTBOUND_INITIATED; an omitted or unspecified trigger is treated as outbound."
                      }
                    ]
                  },
                  "matchers": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/v2Matcher"
                    }
                  },
                  "assetId": {
                    "type": "string",
                    "example": "5:0xbehbehfb:USDC",
                    "description": "The asset ID the rule applies to. Unset means any asset (wildcard), which is legal only without an amount condition."
                  },
                  "definition": {
                    "$ref": "#/components/schemas/v2PolicyRuleDefinition"
                  }
                },
                "required": [
                  "definition"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits": {
      "get": {
        "summary": "List wallet limit policies",
        "description": "List wallet limit policies for the specified wallet",
        "operationId": "PolicyService_ListWalletLimits",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWalletLimitsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockchain",
            "description": "Optional filter by blockchain. If not specified, returns policies for all blockchains.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.vaultId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.walletId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.walletId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.walletId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.assetSymbol.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.limitType",
            "description": "Filter by limit type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "PER_TX",
                "CONSTANT",
                "ROLLING_DURATION"
              ]
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by wallet limit status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "LIMIT_CREATED",
                "LIMIT_ENABLED",
                "LIMIT_REJECTED",
                "LIMIT_DELETED",
                "LIMIT_ERROR",
                "LIMIT_CREATION_APPROVAL_PENDING",
                "LIMIT_CREATION_APPROVAL_COMPLETE",
                "LIMIT_DELETION_APPROVAL_PENDING",
                "LIMIT_DELETION_APPROVAL_COMPLETE"
              ]
            }
          },
          {
            "name": "filter.active.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.active.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over wallet limit ID, vault ID, wallet ID, and asset symbol.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      },
      "put": {
        "summary": "Create a wallet limit policy",
        "description": "Create a wallet limit policy for the specified wallet",
        "operationId": "PolicyService_CreateWalletLimit",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2WalletLimit"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "limitQty": {
                    "type": "string",
                    "example": "200.00",
                    "description": "The limit quantity"
                  },
                  "duration": {
                    "type": "string",
                    "example": "200s",
                    "description": "The limit duration"
                  },
                  "limitType": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2LimitType"
                      },
                      {
                        "example": "PER_TX",
                        "description": "The limit type"
                      }
                    ]
                  },
                  "contract": {
                    "type": "string",
                    "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                    "description": "The contract/issuing address"
                  },
                  "symbol": {
                    "type": "string",
                    "example": "USD",
                    "description": "The asset symbol"
                  },
                  "matchers": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/v2Matcher"
                    }
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "ETHEREUM",
                        "description": "The blockchain for this policy. If not specified, defaults to the wallet's blockchain."
                      }
                    ]
                  }
                },
                "required": [
                  "limitQty",
                  "limitType",
                  "symbol"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits/{id}": {
      "get": {
        "summary": "Get a wallet limit policy",
        "description": "Get the specified wallet limit policy",
        "operationId": "PolicyService_GetWalletLimit",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2WalletLimit"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "description": "The wallet limit policy ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      },
      "delete": {
        "summary": "Delete a wallet limit policy",
        "description": "Delete the specified wallet limit policy",
        "operationId": "PolicyService_DeleteWalletLimit",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteWalletLimitResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "description": "The wallet limit policy ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits:list": {
      "post": {
        "summary": "List wallet limit policies",
        "description": "List wallet limit policies for the specified wallet",
        "operationId": "PolicyService_ListWalletLimits2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWalletLimitsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1000,
                    "description": "The number of results to return per page (default 50, max 1000)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "ETHEREUM",
                        "description": "Optional filter by blockchain. If not specified, returns policies for all blockchains."
                      }
                    ]
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: asset_symbol, blockchain, limit_type, status, active, created_at, updated_at."
                      }
                    ]
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2WalletLimitFilter"
                      },
                      {
                        "description": "Optional wallet-limit filters. Each populated sub-filter is AND-ed."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "USDC",
                    "description": "Case-insensitive search over wallet limit ID, vault ID, wallet ID, and asset symbol."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/{id}": {
      "get": {
        "summary": "Get a policy rule",
        "description": "Get the specified policy rule for the specified wallet",
        "operationId": "PolicyService_GetPolicyRule",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2PolicyRule"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "description": "The policy rule ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      },
      "delete": {
        "summary": "Delete a policy rule",
        "description": "Delete the specified policy rule for the specified wallet (deletion pending approval, mirroring the limits lifecycle)",
        "operationId": "PolicyService_DeletePolicyRule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeletePolicyRuleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "description": "The policy rule ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules:list": {
      "post": {
        "summary": "List policy rules",
        "description": "List policy rules for the specified wallet",
        "operationId": "PolicyService_ListPolicyRules2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListPolicyRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1000,
                    "description": "The number of results to return per page (default 50, max 1000)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: kind, trigger, status, active, created_at, updated_at."
                      }
                    ]
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2PolicyRuleFilter"
                      },
                      {
                        "description": "Optional policy-rule filters. Each populated sub-filter is AND-ed."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "USDC",
                    "description": "Case-insensitive search over policy rule ID, vault ID, wallet ID, and asset ID."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/sequence": {
      "get": {
        "summary": "Get a wallet nonce/sequence",
        "description": "Get blockchain nonce/sequence of a specific wallet by ID",
        "operationId": "VaultService_GetWalletSequence",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2GetWalletSequenceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/settings": {
      "put": {
        "summary": "Update a wallet's settings",
        "description": "Update a wallet's settings by ID",
        "operationId": "VaultService_UpdateWalletSettings",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vaultv2Wallet"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "settings": {
                    "$ref": "#/components/schemas/v2WalletSettings"
                  }
                },
                "required": [
                  "settings"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/tags": {
      "get": {
        "summary": "List wallet tags for the wallet",
        "description": "List all wallet tags for the wallet",
        "operationId": "VaultService_ListWalletTags",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2WalletTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallet Tags"
        ]
      },
      "delete": {
        "summary": "Delete a wallet tag",
        "description": "Delete a wallet tag from a wallet",
        "operationId": "VaultService_DeleteWalletTag",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteWalletTagResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "description": "The tag",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallet Tags"
        ]
      },
      "post": {
        "summary": "Add a new wallet tag",
        "description": "Add a new wallet tag to a wallet",
        "operationId": "VaultService_AddWalletTag",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2WalletTag"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tag": {
                    "type": "string",
                    "example": "Issuing wallet",
                    "description": "The tag"
                  }
                },
                "required": [
                  "tag"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallet Tags"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions": {
      "get": {
        "summary": "List wallet transactions",
        "description": "List wallet transactions with optional filtering, sorting, and pagination. Supports both GET (bookmarkable, simple queries) and POST :list (complex filter objects as a JSON body).",
        "operationId": "TransactionsService_ListWalletTransactions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWalletTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "DEPRECATED: use pagination.page_size instead. The number of results to return per page (default 50, max 1000).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "DEPRECATED: use pagination.page_token instead. The token to retrieve the next page of results.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "correlationId",
            "description": "DEPRECATED: use filter.correlation_id instead. Correlation ID for this request, used to correlate multiple actions.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.status.eq",
            "description": "Exact transaction status match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REQUESTED",
                "POLICY_CHECK_PENDING",
                "POLICY_CHECK_PASSED",
                "APPROVAL_CHECK_PENDING",
                "APPROVAL_CHECK_PASSED",
                "COMPILATION_PENDING",
                "COMPILED",
                "SIGNATURE_PENDING",
                "SIGNED",
                "PUBLISH_PENDING",
                "PUBLISHED",
                "CONFIRMATION_PENDING",
                "CONFIRMED",
                "REJECTED",
                "FAILED"
              ]
            }
          },
          {
            "name": "filter.status.notEq",
            "description": "Exclude this transaction status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REQUESTED",
                "POLICY_CHECK_PENDING",
                "POLICY_CHECK_PASSED",
                "APPROVAL_CHECK_PENDING",
                "APPROVAL_CHECK_PASSED",
                "COMPILATION_PENDING",
                "COMPILED",
                "SIGNATURE_PENDING",
                "SIGNED",
                "PUBLISH_PENDING",
                "PUBLISHED",
                "CONFIRMATION_PENDING",
                "CONFIRMED",
                "REJECTED",
                "FAILED"
              ]
            }
          },
          {
            "name": "filter.status.in",
            "description": "Transaction status is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "REQUESTED",
                  "POLICY_CHECK_PENDING",
                  "POLICY_CHECK_PASSED",
                  "APPROVAL_CHECK_PENDING",
                  "APPROVAL_CHECK_PASSED",
                  "COMPILATION_PENDING",
                  "COMPILED",
                  "SIGNATURE_PENDING",
                  "SIGNED",
                  "PUBLISH_PENDING",
                  "PUBLISHED",
                  "CONFIRMATION_PENDING",
                  "CONFIRMED",
                  "REJECTED",
                  "FAILED"
                ]
              }
            }
          },
          {
            "name": "filter.status.notIn",
            "description": "Transaction status is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "REQUESTED",
                  "POLICY_CHECK_PENDING",
                  "POLICY_CHECK_PASSED",
                  "APPROVAL_CHECK_PENDING",
                  "APPROVAL_CHECK_PASSED",
                  "COMPILATION_PENDING",
                  "COMPILED",
                  "SIGNATURE_PENDING",
                  "SIGNED",
                  "PUBLISH_PENDING",
                  "PUBLISHED",
                  "CONFIRMATION_PENDING",
                  "CONFIRMED",
                  "REJECTED",
                  "FAILED"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.assetSymbol.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.assetSymbol.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.assetSymbol.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.qty.eq",
            "description": "Equals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.qty.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.qty.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.qty.gt",
            "description": "Greater than",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.gte",
            "description": "Greater than or equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.lt",
            "description": "Less than",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.qty.lte",
            "description": "Less than or equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.originAddress.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.originAddress.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.originAddress.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.destinationAddress.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destinationAddress.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destinationAddress.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destinationAddress.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.transactionId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.transactionHash.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.transactionHash.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionHash.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.transactionHash.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.externalId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.correlationId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.type.eq",
            "description": "Exact transaction type match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPOSIT",
                "WITHDRAWAL",
                "WEB3_RAW",
                "WEB3_SIGN",
                "PASSKEY_RAW",
                "PASSKEY_SIGN",
                "PALISADE_TRANSFER",
                "PALISADE_RAW",
                "PALISADE_MANAGED",
                "PALISADE_SIGN_PLAINTEXT",
                "PALISADE_SWEEP"
              ]
            }
          },
          {
            "name": "filter.type.notEq",
            "description": "Exclude this transaction type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPOSIT",
                "WITHDRAWAL",
                "WEB3_RAW",
                "WEB3_SIGN",
                "PASSKEY_RAW",
                "PASSKEY_SIGN",
                "PALISADE_TRANSFER",
                "PALISADE_RAW",
                "PALISADE_MANAGED",
                "PALISADE_SIGN_PLAINTEXT",
                "PALISADE_SWEEP"
              ]
            }
          },
          {
            "name": "filter.type.in",
            "description": "Transaction type is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "DEPOSIT",
                  "WITHDRAWAL",
                  "WEB3_RAW",
                  "WEB3_SIGN",
                  "PASSKEY_RAW",
                  "PASSKEY_SIGN",
                  "PALISADE_TRANSFER",
                  "PALISADE_RAW",
                  "PALISADE_MANAGED",
                  "PALISADE_SIGN_PLAINTEXT",
                  "PALISADE_SWEEP"
                ]
              }
            }
          },
          {
            "name": "filter.type.notIn",
            "description": "Transaction type is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "DEPOSIT",
                  "WITHDRAWAL",
                  "WEB3_RAW",
                  "WEB3_SIGN",
                  "PASSKEY_RAW",
                  "PASSKEY_SIGN",
                  "PALISADE_TRANSFER",
                  "PALISADE_RAW",
                  "PALISADE_MANAGED",
                  "PALISADE_SIGN_PLAINTEXT",
                  "PALISADE_SWEEP"
                ]
              }
            }
          },
          {
            "name": "filter.origin.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.origin.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.origin.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.origin.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.destination.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.destination.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destination.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.destination.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive free-text search over transaction ID, transaction hash, external ID, correlation ID, asset symbol, origin address, and destination address.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/raw": {
      "post": {
        "summary": "Create a new raw transaction",
        "description": "Create a new raw transaction, and optionally publish it to the blockchain",
        "operationId": "TransactionsService_RawTransaction",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "encodedTransaction": {
                    "type": "string",
                    "example": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080",
                    "description": "The encoded transaction. Note that this must be encoded in the relevant blockchain format. RLP encoded for EVM chains. Binary codec encoding for XRP. Maximum size is 200KB."
                  },
                  "signOnly": {
                    "type": "boolean",
                    "example": "true",
                    "description": "Whether to only sign the transaction, or also publish it to the blockchain"
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "AVALANCHE",
                        "description": "Deprecated. This field is ignored for raw transactions. For EVM wallets except 1Money, the target blockchain is auto-detected from the encoded transaction's chain ID. For 1Money and non-EVM wallets, raw transactions execute on the wallet's native blockchain."
                      }
                    ]
                  },
                  "externalId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "External ID of this transaction, unique to the organization"
                  }
                },
                "required": [
                  "encodedTransaction",
                  "signOnly"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/sign-plaintext": {
      "post": {
        "summary": "(BETA) Create a new sign plaintext transaction",
        "description": "(BETA) Create a new sign plaintext transaction",
        "operationId": "TransactionsService_SignPlaintext",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string",
                    "example": "Sign: 1234",
                    "description": "The plaintext message to sign."
                  }
                },
                "required": [
                  "message"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/transfer": {
      "post": {
        "summary": "Create a new transfer transaction",
        "description": "Create a new transfer transaction",
        "operationId": "TransactionsService_TransferTransaction",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "destinationAddress": {
                    "type": "string",
                    "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
                    "description": "The destination address"
                  },
                  "contract": {
                    "type": "string",
                    "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
                    "description": "The contract/issuing address"
                  },
                  "symbol": {
                    "type": "string",
                    "example": "USD",
                    "description": "The asset symbol"
                  },
                  "qty": {
                    "type": "string",
                    "example": "155.672",
                    "description": "The quantity of the asset to transfer"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "externalId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "External ID of this transaction, unique to the organization"
                  },
                  "networkFee": {
                    "type": "string",
                    "example": "155.672",
                    "description": "The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)"
                  },
                  "config": {
                    "$ref": "#/components/schemas/v2XRPTransactionConfig"
                  },
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "Correlation ID for this transaction, used to correlate multiple actions"
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "AVALANCHE",
                        "description": "Override blockchain for transaction execution. If specified, the transaction will execute on this blockchain instead of the wallet's configured blockchain. Only valid for EVM-compatible wallets executing on other EVM chains. Allows recovery of cross-chain deposits."
                      }
                    ]
                  }
                },
                "required": [
                  "destinationAddress",
                  "symbol",
                  "qty"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/account-set": {
      "post": {
        "summary": "Create a new XRP Account Set transaction",
        "description": "Create a new XRP Account Set transaction",
        "operationId": "TransactionsService_SubmitAccountSet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "setFlag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2AccountSetFlag"
                      },
                      {
                        "example": "DISALLOW_XRP",
                        "description": "Flag to enable for this account"
                      }
                    ]
                  },
                  "clearFlag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2AccountSetFlag"
                      },
                      {
                        "example": "DEPOSIT_AUTH",
                        "description": "Flag to disable for this account"
                      }
                    ]
                  },
                  "domain": {
                    "type": "string",
                    "example": "6578616d706c652e636f6d",
                    "description": "Hex encoded string representing domain that owns this account in ASCII, less than 256 chars. Set empty to unset."
                  },
                  "emailHash": {
                    "type": "string",
                    "example": "7e0ded033511a87ad8d04d5dfae1fcad",
                    "description": "Hex encoded 128-bit hash bytes of the email address representing this account. Set empty to unset."
                  },
                  "messageKey": {
                    "type": "string",
                    "example": "032CC3AFAD020F8E69DFEC08A45D303CE9E1693EB89DE0E268ADB6D7E93F19B7DF",
                    "description": "33-byte public key for sending encrypted messages to this account. First byte must be one of (0x02, 0x03, 0xED). Set empty to unset."
                  },
                  "nfTokenMinter": {
                    "type": "string",
                    "example": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
                    "description": "Address of another account that can mint NFTokens for this account"
                  },
                  "transferRate": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1800000000,
                    "description": "Fee to charge when users transfer tokens issued by this account, represented as billionths of a unit between 1000000000 and 2000000000 or 0."
                  },
                  "tickSize": {
                    "type": "integer",
                    "format": "int64",
                    "example": 4,
                    "description": "Tick size to use for offers involving a currency issued by this address, must be 3 to 15 (inclusive) or 0"
                  },
                  "walletLocator": {
                    "type": "string",
                    "example": "678e749011f8a911f011e105c618db898a71f8759929cc9a9ebcfe7b125870ee",
                    "description": "An arbitrary 256-bit hash value to associate with this account"
                  },
                  "walletSize": {
                    "type": "integer",
                    "format": "int64",
                    "example": 3,
                    "description": "Unused field to associate on the account"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-create": {
      "post": {
        "summary": "Create a new XRP AMM Create transaction",
        "description": "Create a new XRP AMM Create transaction",
        "operationId": "TransactionsService_SubmitAMMCreate",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The first asset with amount to deposit into this AMM"
                      }
                    ]
                  },
                  "amount2": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The second asset with amount to deposit into this AMM"
                      }
                    ]
                  },
                  "tradingFee": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1000,
                    "description": "The fee to charge for trades against this AMM instance, in units of 1/100,000"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "amount",
                  "amount2",
                  "tradingFee"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-deposit": {
      "post": {
        "summary": "Create a new XRP AMM Deposit transaction",
        "description": "Create a new XRP AMM Deposit transaction",
        "operationId": "TransactionsService_SubmitAMMDeposit",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2Asset"
                      },
                      {
                        "description": "The first asset to deposit"
                      }
                    ]
                  },
                  "amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "Amount of the first asset to deposit"
                      }
                    ]
                  },
                  "asset2": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2Asset"
                      },
                      {
                        "description": "The second asset to deposit"
                      }
                    ]
                  },
                  "amount2": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The amount of the second asset to deposit"
                      }
                    ]
                  },
                  "ePrice": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The maximum effective price, in the deposit asset, to pay for each LP Token received"
                      }
                    ]
                  },
                  "lpTokenOut": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "How many of the AMM's LP tokens to buy"
                      }
                    ]
                  },
                  "tradingFee": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1000,
                    "description": "Submit a vote for the AMM's trading fee, in units of 1/100,000"
                  },
                  "flags": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2AMMDepositFlag"
                      },
                      {
                        "example": "DEPOSIT_TWO_ASSET",
                        "description": "Flags for this transaction"
                      }
                    ]
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "asset",
                  "asset2"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-withdraw": {
      "post": {
        "summary": "Create a new XRP AMM Withdraw transaction",
        "description": "Create a new XRP AMM Withdraw transaction",
        "operationId": "TransactionsService_SubmitAMMWithdraw",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2Asset"
                      },
                      {
                        "description": "The first asset to withdraw"
                      }
                    ]
                  },
                  "amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "Amount of the first asset to withdraw. Required only with WITHDRAW_ONE_ASSET_LP_TOKEN; omit with WITHDRAW_LP_TOKEN."
                      }
                    ]
                  },
                  "asset2": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2Asset"
                      },
                      {
                        "description": "The second asset to withdraw"
                      }
                    ]
                  },
                  "amount2": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "Unsupported for the currently accepted AMM withdraw shapes."
                      }
                    ]
                  },
                  "ePrice": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "Unsupported for the currently accepted AMM withdraw shapes."
                      }
                    ]
                  },
                  "lpTokenIn": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "How many of the AMM's LP tokens to redeem. Required for both supported shapes."
                      }
                    ]
                  },
                  "flags": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2AMMWithdrawFlag"
                      },
                      {
                        "example": "WITHDRAW_LP_TOKEN",
                        "description": "Required AMM withdraw mode. WITHDRAW_LP_TOKEN accepts lp_token_in only. WITHDRAW_ONE_ASSET_LP_TOKEN accepts lp_token_in and amount. All other flags are unsupported."
                      }
                    ]
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "asset",
                  "asset2",
                  "lpTokenIn",
                  "flags"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/clawback": {
      "post": {
        "summary": "Create a new XRP Clawback transaction",
        "description": "Create a new XRP Clawback transaction to recover issued tokens",
        "operationId": "TransactionsService_SubmitClawback",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The amount and currency to claw back. The issuer field represents the token holder's address."
                      }
                    ]
                  },
                  "holder": {
                    "type": "string",
                    "example": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
                    "description": "Optional holder address for MPTokens"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "amount"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/offer-cancel": {
      "post": {
        "summary": "Create a new XRP Offer Cancel transaction",
        "description": "Create a new XRP Offer Cancel transaction",
        "operationId": "TransactionsService_SubmitOfferCancel",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "offerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "Sequence of offer to cancel"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "offerSequence"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/offer-create": {
      "post": {
        "summary": "Create a new XRP Offer Create transaction",
        "description": "Create a new XRP Offer Create transaction",
        "operationId": "TransactionsService_SubmitOfferCreate",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "expiration": {
                    "type": "string",
                    "format": "uint64",
                    "example": "1885634315",
                    "description": "Unix timestamp after which this offer is no longer active"
                  },
                  "offerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "Sequence of offer to delete first, specified in the same way as OfferCancel"
                  },
                  "takerGets": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The amount of type of currency being sold"
                      }
                    ]
                  },
                  "takerPays": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "The amount of type of currency being bought"
                      }
                    ]
                  },
                  "flags": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/transactionsv2OfferCreateFlags"
                    },
                    "description": "Configuration flags"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "takerGets",
                  "takerPays"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/signer-list-set": {
      "post": {
        "summary": "Create a new XRP SignerList Set transaction",
        "description": "Create a new XRP SignerList Set transaction",
        "operationId": "TransactionsService_SubmitSignerListSet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signerQuorum": {
                    "type": "integer",
                    "format": "int64",
                    "example": 3,
                    "description": "Minimum sum of weights required in order to authorise a transaction. Sum of all weights of individual signers must be greater than or equal to this value."
                  },
                  "signerEntries": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/transactionsv2SignerEntry"
                    },
                    "description": "List of signers. Leave empty with `signerQuorum` set to 0 to disable."
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "signerQuorum"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/trust-set": {
      "post": {
        "summary": "Create a new XRP Trust Set transaction",
        "description": "Create a new XRP Trust Set transaction",
        "operationId": "TransactionsService_SubmitTrustSet",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "limitAmount": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/transactionsv2CurrencyAmount"
                      },
                      {
                        "description": "Trustline definition to create or modify"
                      }
                    ]
                  },
                  "qualityIn": {
                    "type": "integer",
                    "format": "int64",
                    "example": 0,
                    "description": "Value incoming balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of 0 is shorthand for treating balances at face value."
                  },
                  "qualityOut": {
                    "type": "integer",
                    "format": "int64",
                    "example": 0,
                    "description": "Value outgoing balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of 0 is shorthand for treating balances at face value."
                  },
                  "flags": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/transactionsv2TrustSetFlag"
                    },
                    "description": "Configuration flags"
                  },
                  "sequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "2",
                    "description": "The blockchain nonce/sequence to use"
                  },
                  "lastLedgerSequence": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Highest ledger index this transaction can appear in."
                  },
                  "sourceTag": {
                    "type": "string",
                    "format": "uint64",
                    "example": "123456",
                    "description": "Source tag to use for this transaction"
                  }
                },
                "required": [
                  "limitAmount"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions - XRP"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}": {
      "get": {
        "summary": "Get a transaction",
        "description": "Get a transaction by ID",
        "operationId": "TransactionsService_GetTransaction",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionId",
            "description": "The transaction ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}/freeze": {
      "put": {
        "summary": "Freeze a transaction",
        "description": "Freeze a transaction by ID",
        "operationId": "TransactionsService_FreezeTransaction",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionId",
            "description": "The transaction ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reason",
            "description": "Reason for freezing the transaction",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mutationId",
            "description": "Stable identifier to reuse when retrying this freeze request",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}/unfreeze": {
      "put": {
        "summary": "Unfreeze a transaction",
        "description": "Unfreeze a transaction by ID",
        "operationId": "TransactionsService_UnfreezeTransaction",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transactionsv2Transaction"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionId",
            "description": "The transaction ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reason",
            "description": "Reason for unfreezing the transaction",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mutationId",
            "description": "Stable identifier to reuse when retrying this unfreeze request",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets/{walletId}/transactions:list": {
      "post": {
        "summary": "List wallet transactions",
        "description": "List wallet transactions with optional filtering, sorting, and pagination. Supports both GET (bookmarkable, simple queries) and POST :list (complex filter objects as a JSON body).",
        "operationId": "TransactionsService_ListWalletTransactions2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWalletTransactionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "walletId",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1000,
                    "description": "DEPRECATED: use pagination.page_size instead. The number of results to return per page (default 50, max 1000)."
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "DEPRECATED: use pagination.page_token instead. The token to retrieve the next page of results."
                  },
                  "correlationId": {
                    "type": "string",
                    "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
                    "description": "DEPRECATED: use filter.correlation_id instead. Correlation ID for this request, used to correlate multiple actions."
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2TransactionFilter"
                      },
                      {
                        "description": "Optional filters: status, type, blockchain, asset_symbol, created_at range, updated_at range, qty range, origin, destination, transaction_id, transaction_hash, external_id, correlation_id. origin and destination match Address, wallet/address ID, or CounterpartyID; deprecated origin_address and destination_address match Address only. Each sub-filter is AND-ed."
                      }
                    ]
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: created_at, updated_at, amount, status. If set, overrides legacy page_size/page_token."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
                    "description": "Case-insensitive free-text search over transaction ID, transaction hash, external ID, correlation ID, asset symbol, origin address, and destination address."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Transactions"
        ]
      }
    },
    "/v2/vaults/{vaultId}/wallets:list": {
      "post": {
        "summary": "List vault wallets",
        "description": "List all wallets within a vault",
        "operationId": "VaultService_ListVaultWallets2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListVaultWalletsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "vaultId",
            "description": "The vault ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1000,
                    "description": "The number of results to return per page (default 50, max 1000)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "blockchain": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2Blockchain"
                      },
                      {
                        "example": "ETHEREUM",
                        "description": "The blockchain of the wallet"
                      }
                    ]
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: name, address, blockchain, status, created_at, updated_at."
                      }
                    ]
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2WalletFilter"
                      },
                      {
                        "description": "Optional wallet filters. Each populated sub-filter is AND-ed."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "USD Issuing",
                    "description": "Case-insensitive search over wallet ID, name, address, alias, external ID, and correlation ID."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/vaults:list": {
      "post": {
        "summary": "List vaults",
        "description": "List all vaults within the organization",
        "operationId": "VaultService_ListVaults2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListVaultsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListVaultsRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Vaults"
        ]
      }
    },
    "/v2/wallets": {
      "get": {
        "summary": "List organization wallets",
        "description": "List all wallets within the organization",
        "operationId": "VaultService_ListGlobalWallets",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalWalletsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "blockchain",
            "description": "The blockchain of the wallet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "correlationId",
            "description": "Correlation ID for tracking various actions on the wallet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "description": "The wallet address to filter by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.vaultId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.vaultId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.vaultId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.address.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.address.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.address.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.alias.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.alias.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.alias.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.alias.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.externalId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.externalId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.externalId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.correlationId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.correlationId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.correlationId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.blockchain.eq",
            "description": "Exact blockchain match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.notEq",
            "description": "Exclude this blockchain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "AVALANCHE",
                "ETHEREUM",
                "XRP_LEDGER",
                "POLYGON",
                "BNBCHAIN",
                "BASE",
                "HEDERA",
                "ARBITRUM",
                "ONE_MONEY",
                "SOLANA",
                "TRON",
                "BITCOIN",
                "OPTIMISM"
              ]
            }
          },
          {
            "name": "filter.blockchain.in",
            "description": "Blockchain is in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.blockchain.notIn",
            "description": "Blockchain is not in this list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AVALANCHE",
                  "ETHEREUM",
                  "XRP_LEDGER",
                  "POLYGON",
                  "BNBCHAIN",
                  "BASE",
                  "HEDERA",
                  "ARBITRUM",
                  "ONE_MONEY",
                  "SOLANA",
                  "TRON",
                  "BITCOIN",
                  "OPTIMISM"
                ]
              }
            }
          },
          {
            "name": "filter.status",
            "description": "Filter by wallet status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CREATED",
                "PROVISIONING",
                "PROVISIONED_WALLET",
                "PROVISIONING_POLICY",
                "PROVISIONING_COMPLIANCE",
                "PROVISIONED_COMPLIANCE",
                "PROVISIONED",
                "PROVISIONING_FAILED"
              ]
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over wallet ID, name, address, alias, external ID, and correlation ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/wallets/{id}": {
      "get": {
        "summary": "Get a wallet by ID",
        "description": "Get a wallet by its unique ID",
        "operationId": "VaultService_GetWalletByID",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vaultv2Wallet"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The wallet ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/wallets:list": {
      "post": {
        "summary": "List organization wallets",
        "description": "List all wallets within the organization",
        "operationId": "VaultService_ListGlobalWallets2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListGlobalWalletsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListGlobalWalletsRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Wallets"
        ]
      }
    },
    "/v2/webhooks": {
      "get": {
        "summary": "List webhooks",
        "description": "List webhooks",
        "operationId": "WebhookService_ListWebhooks",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWebhooksResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 100)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.name.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.name.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.name.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.description.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.description.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.description.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.endpoint.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.endpoint.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.endpoint.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.endpoint.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.endpoint.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.endpoint.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.endpoint.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.endpoint.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.lastSuccess.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastSuccess.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.lastSuccess.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.lastFailure.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.lastFailure.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.lastFailure.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over webhook ID, name, description, and endpoint.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      },
      "post": {
        "summary": "Create webhooks",
        "description": "Create a new webhook",
        "operationId": "WebhookService_CreateWebhook",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Webhook"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2CreateWebhookRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/webhooks/{id}": {
      "get": {
        "summary": "Get webhooks",
        "description": "Get a single webhook based on its ID",
        "operationId": "WebhookService_GetWebhook",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Webhook"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      },
      "delete": {
        "summary": "Delete webhooks",
        "description": "Delete a single webhook based on its ID",
        "operationId": "WebhookService_DeleteWebhook",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteWebhookResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/webhooks/{webhookId}/subscriptions": {
      "get": {
        "summary": "List subscriptions",
        "description": "List subscriptions",
        "operationId": "WebhookService_ListSubscriptions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListSubscriptionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "description": "The number of results to return per page (default 50, max 100)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageToken",
            "description": "The token to retrieve the next page of results",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.pageSize",
            "description": "Number of results per page (default 50, max 1000)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pagination.pageToken",
            "description": "Token for pagination from previous response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.orderBy",
            "description": "Field to order results by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagination.order",
            "description": "Sort order (ASC or DESC)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SORT_ORDER_ASC",
                "SORT_ORDER_DESC"
              ]
            }
          },
          {
            "name": "filter.id.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.id.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.id.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.webhookId.eq",
            "description": "Exact match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.webhookId.notEq",
            "description": "Not equal to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.webhookId.contains",
            "description": "Contains substring (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.webhookId.startsWith",
            "description": "Starts with prefix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.webhookId.endsWith",
            "description": "Ends with suffix (case-insensitive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter.webhookId.in",
            "description": "Value is in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.webhookId.notIn",
            "description": "Value is not in the list",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filter.webhookId.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.domain",
            "description": "Filter by subscription domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "TRANSACTION",
                "WALLET",
                "APPROVAL"
              ]
            }
          },
          {
            "name": "filter.scope",
            "description": "Filter by subscription scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ORG"
              ]
            }
          },
          {
            "name": "filter.createdAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.createdAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.createdAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter.updatedAt.eq",
            "description": "Exact timestamp match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.notEq",
            "description": "Not equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.before",
            "description": "Before this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.after",
            "description": "After this timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.gte",
            "description": "Greater than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.lte",
            "description": "Less than or equal to timestamp",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.start",
            "description": "Start of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.between.end",
            "description": "End of time range (inclusive)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filter.updatedAt.isNull",
            "description": "Check if field is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter.updatedAt.relativeDays",
            "description": "Relative days from now (negative for past, positive for future)",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "description": "Case-insensitive search over subscription ID and webhook ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      },
      "post": {
        "summary": "Create webhook subscriptions",
        "description": "Create one or more new webhook subscription",
        "operationId": "WebhookService_CreateSubscriptions",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/v2Subscription"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "example": [
                  {
                    "domain": "TRANSACTION",
                    "scope": "ORG"
                  }
                ],
                "items": {
                  "$ref": "#/components/schemas/v2SubscriptionConfig"
                },
                "description": "The subscription domains and scopes",
                "required": [
                  "subscriptions"
                ]
              }
            }
          },
          "required": true
        },
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/webhooks/{webhookId}/subscriptions/{subscriptionId}": {
      "get": {
        "summary": "Get subscriptions",
        "description": "Get a single subscription based on its ID",
        "operationId": "WebhookService_GetSubscription",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2Subscription"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "description": "The subscription ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      },
      "delete": {
        "summary": "Delete subscriptions",
        "description": "Delete a single subscription based on its ID",
        "operationId": "WebhookService_DeleteSubscription",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2DeleteSubscriptionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "description": "The subscription ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/webhooks/{webhookId}/subscriptions:list": {
      "post": {
        "summary": "List subscriptions",
        "description": "List subscriptions",
        "operationId": "WebhookService_ListSubscriptions2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListSubscriptionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "description": "The webhook ID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "The number of results to return per page (default 50, max 100)"
                  },
                  "pageToken": {
                    "type": "string",
                    "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
                    "description": "The token to retrieve the next page of results"
                  },
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2FilterRequest"
                      },
                      {
                        "description": "Pagination and sorting. Sortable fields: domain, scope, created_at, updated_at."
                      }
                    ]
                  },
                  "filter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2SubscriptionFilter"
                      },
                      {
                        "description": "Optional subscription filters. Each populated sub-filter is AND-ed."
                      }
                    ]
                  },
                  "search": {
                    "type": "string",
                    "example": "transaction",
                    "description": "Case-insensitive search over subscription ID and webhook ID."
                  }
                }
              }
            }
          },
          "required": true
        },
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/webhooks:list": {
      "post": {
        "summary": "List webhooks",
        "description": "List webhooks",
        "operationId": "WebhookService_ListWebhooks2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2ListWebhooksResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/v2ListWebhooksRequest"
              }
            }
          },
          "required": true
        },
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v2/workflows/sweep/{id}/trigger": {
      "post": {
        "summary": "Trigger a sweep configuration",
        "description": "Manually trigger a single sweep configuration based on its ID",
        "operationId": "SweepService_TriggerSweepConfiguration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v2TriggerSweepConfigurationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returned when the request is malformed or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "validation error: - name: value length must be at least 1 characters [string.min_len].",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Returned when the request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authorization requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Returned when the request was forbidden.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The access token provided does not meet the authentication requirements.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": 123,
                      "message": "The resource does not exist.",
                      "details": [
                        {
                          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
                          "reason": "PAL000.000",
                          "domain": "app.development.palisade.co/api",
                          "metadata": {}
                        },
                        {
                          "@type": "type.googleapis.com/google.rpc.RequestInfo",
                          "requestId": "c817569e-b765-4e6e-a3af-bdb1d07e7517",
                          "servingData": ""
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rpcStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "description": "The ID of the sweep configuration",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "Sweep Configurations"
        ]
      }
    }
  },
  "security": [
    {
      "TokenAuth": []
    }
  ],
  "externalDocs": {
    "description": "Click here for the API docs",
    "url": "https://palisade.readme.io"
  },
  "components": {
    "securitySchemes": {
      "TokenAuth": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    },
    "schemas": {
      "PublicTransactionHistoryEntryHistoryEvent": {
        "type": "string",
        "enum": [
          "HISTORY_EVENT_OTHER",
          "HISTORY_EVENT_STATUS_CHANGED",
          "HISTORY_EVENT_POLICY_DECISION",
          "HISTORY_EVENT_EXTERNAL_WAIT",
          "HISTORY_EVENT_EXTERNAL_RESULT",
          "HISTORY_EVENT_APPROVAL_REQUIREMENT",
          "HISTORY_EVENT_APPROVAL_VOTE",
          "HISTORY_EVENT_APPROVAL_RESULT",
          "HISTORY_EVENT_FREEZE_REQUESTED",
          "HISTORY_EVENT_FREEZE_APPLIED",
          "HISTORY_EVENT_UNFREEZE_APPLIED"
        ]
      },
      "PublicTransactionHistoryEntryOutcome": {
        "type": "string",
        "enum": [
          "OUTCOME_OTHER",
          "OUTCOME_PENDING",
          "OUTCOME_SUCCEEDED",
          "OUTCOME_REJECTED",
          "OUTCOME_FAILED",
          "OUTCOME_APPROVED",
          "OUTCOME_EXPIRED",
          "OUTCOME_NOT_MET"
        ]
      },
      "PublicTransactionHistoryEntryStage": {
        "type": "string",
        "enum": [
          "STAGE_OTHER",
          "STAGE_CREATION",
          "STAGE_POLICY",
          "STAGE_APPROVAL",
          "STAGE_COMPILATION",
          "STAGE_SIGNING",
          "STAGE_PUBLICATION",
          "STAGE_CONFIRMATION",
          "STAGE_FREEZE"
        ]
      },
      "TimestampFilterTimestampRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-01T00:00:00Z",
            "description": "Start of time range (inclusive)"
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-31T23:59:59Z",
            "description": "End of time range (inclusive)"
          }
        }
      },
      "accountv2Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The organization ID"
          },
          "name": {
            "type": "string",
            "example": "Palisade",
            "description": "The organization name"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this organization"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the organization was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this organization"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the organization was updated"
          },
          "settings": {
            "$ref": "#/components/schemas/v2OrganizationSettings"
          },
          "address": {
            "$ref": "#/components/schemas/commonv2Address"
          }
        },
        "required": [
          "id",
          "name",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "settings",
          "address"
        ]
      },
      "approvalv2Approval": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The approval ID"
          },
          "approvalSetId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The approval set ID"
          },
          "userId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID"
          },
          "organizationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The organization ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the approval was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the approval was updated"
          },
          "signature": {
            "type": "string",
            "format": "byte",
            "description": "The signed approval"
          },
          "reasons": {
            "type": "array",
            "example": [
              "the transaction was not previously discussed"
            ],
            "items": {
              "type": "string"
            },
            "description": "The reasons for an approval or rejection"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/approvalv2ApprovalStatus"
              },
              {
                "example": "PROCESSING",
                "description": "The approval status"
              }
            ]
          }
        },
        "required": [
          "id",
          "approvalSetId",
          "userId",
          "organizationId",
          "createdAt",
          "updatedAt",
          "reasons",
          "status"
        ]
      },
      "approvalv2ApprovalSetStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "MET",
          "NOT_MET",
          "EXPIRED",
          "FAILED"
        ]
      },
      "approvalv2ApprovalStatus": {
        "type": "string",
        "enum": [
          "PROCESSING",
          "APPROVED",
          "REJECTED"
        ]
      },
      "approvalv2ApprovalSummary": {
        "type": "object",
        "properties": {
          "approval": {
            "$ref": "#/components/schemas/approvalv2Approval"
          },
          "summary": {
            "$ref": "#/components/schemas/approvalv2Summary"
          }
        },
        "required": [
          "approval",
          "summary"
        ]
      },
      "approvalv2Summary": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The summary ID"
          },
          "sourceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SourceType"
              },
              {
                "example": "TRANSACTION",
                "description": "The summary source type"
              }
            ]
          },
          "sourceRaw": {
            "type": "string",
            "format": "byte",
            "description": "The raw source containing the item to be approved"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the approval set expires"
          },
          "metAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the approval set was met"
          },
          "currentApprovedCount": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "The current number of approvals"
          },
          "requiredApproverCount": {
            "type": "integer",
            "format": "int32",
            "example": 3,
            "description": "The required number of approvals"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/approvalv2ApprovalSetStatus"
              },
              {
                "example": "WAITING",
                "description": "The approval set status"
              }
            ]
          },
          "requestedBy": {
            "type": "string"
          },
          "action": {
            "$ref": "#/components/schemas/v2Action"
          }
        },
        "required": [
          "sourceId",
          "sourceType",
          "sourceRaw",
          "expiresAt",
          "currentApprovedCount",
          "requiredApproverCount",
          "status"
        ]
      },
      "commonv2Address": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string",
            "example": "Flat B",
            "description": "The first line of the address"
          },
          "address2": {
            "type": "string",
            "example": "10 Mayo Road",
            "description": "The second line of the address"
          },
          "city": {
            "type": "string",
            "example": "London",
            "description": "The city of the address"
          },
          "state": {
            "type": "string",
            "example": "Greater London",
            "description": "The state of the address"
          },
          "postCode": {
            "type": "string",
            "example": "W1 1AA",
            "description": "The postal code of the address"
          },
          "country": {
            "type": "string",
            "example": "United Kingdom",
            "description": "The country of the address"
          }
        },
        "required": [
          "address1",
          "city",
          "state",
          "postCode",
          "country"
        ]
      },
      "commonv2Asset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "5:0xbehbehfb:USDC",
            "description": "ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol"
          },
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Standard"
              },
              {
                "example": "ERC20",
                "description": "The standard of the asset"
              }
            ]
          },
          "symbol": {
            "type": "string",
            "example": "LINK",
            "description": "The currency symbol of the asset"
          },
          "name": {
            "type": "string",
            "example": "Chainlink",
            "description": "The human readable name of the asset"
          },
          "blockchain": {
            "$ref": "#/components/schemas/v2Blockchain"
          },
          "decimals": {
            "type": "integer",
            "format": "int32",
            "example": 18,
            "description": "Count of decimal places for the asset"
          },
          "vetted": {
            "type": "boolean",
            "example": true,
            "description": "Whether the asset is vetted on the regulated platform"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the asset is currently enabled on the platform"
          },
          "contract": {
            "type": "string",
            "example": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e",
            "description": "The token contract address. This field will be empty if the asset is the native coin of the blockchain"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the asset was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the asset was last updated"
          },
          "organizationId": {
            "type": "string",
            "description": "Organization ID for custom assets"
          },
          "coingeckoId": {
            "type": "string",
            "example": "ethereum",
            "description": "CoinGecko identifier for price data (optional for testnet assets)"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetSource"
              },
              {
                "example": "ASSET_SOURCE_COINGECKO",
                "description": "Data source for this asset"
              }
            ]
          },
          "sourceMetadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/protobufAny"
              },
              {
                "description": "JSON metadata about the source"
              }
            ]
          },
          "lastSyncedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:22:22.420Z",
            "description": "When this asset was last synchronized"
          },
          "syncVersion": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "description": "Version counter for sync updates"
          },
          "contractAddressChecksummed": {
            "type": "string",
            "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "description": "Checksummed version of the contract address"
          },
          "iconUrl": {
            "type": "string",
            "example": "https://static.palisade.co/registry/assets/coingecko/production/usd-coin.png",
            "description": "Public URL for the asset icon. Registry asset REST endpoints populate this when configured; other Asset responses may omit it.",
            "readOnly": true
          },
          "displaySymbol": {
            "type": "string",
            "example": "weETH",
            "description": "Authoritative source casing for displaying the asset symbol. Registry endpoints fall back to symbol when source casing is unavailable.",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "standard",
          "symbol",
          "blockchain",
          "createdAt"
        ]
      },
      "counterpartyv2Address": {
        "type": "object",
        "properties": {
          "addressId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The address ID"
          },
          "counterpartyId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The counterparty ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this address"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the address was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this address"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the address was updated"
          },
          "custodian": {
            "$ref": "#/components/schemas/v2Custodian"
          },
          "termsAndConditionsAccepted": {
            "type": "boolean",
            "example": true,
            "description": "Whether the user has accepted the terms and conditions"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AddressDetails"
              },
              {
                "description": "The address details"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AddressStatus"
              },
              {
                "example": "PENDING",
                "description": "The address status"
              }
            ]
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Whether the address is active"
          }
        },
        "required": [
          "addressId",
          "counterpartyId",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "termsAndConditionsAccepted",
          "details",
          "status",
          "active"
        ]
      },
      "counterpartyv2AddressType": {
        "type": "string",
        "enum": [
          "EXTERNAL"
        ]
      },
      "counterpartyv2Organization": {
        "type": "object",
        "properties": {
          "legalName": {
            "type": "string",
            "example": "Palisade Financial",
            "description": "The full legal name of the organization"
          },
          "address": {
            "$ref": "#/components/schemas/commonv2Address"
          }
        },
        "required": [
          "legalName"
        ]
      },
      "devicev2ApprovalStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "APPROVED",
          "REJECTED"
        ]
      },
      "identityv1Approval": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "approvalSetId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "signature": {
            "type": "string",
            "format": "byte"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "$ref": "#/components/schemas/identityv1ApprovalStatus"
          }
        }
      },
      "identityv1ApprovalSetStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "MET",
          "NOT_MET",
          "EXPIRED",
          "FAILED"
        ]
      },
      "identityv1ApprovalStatus": {
        "type": "string",
        "enum": [
          "PROCESSING",
          "APPROVED",
          "REJECTED"
        ]
      },
      "identityv1ApprovalSummary": {
        "type": "object",
        "properties": {
          "approval": {
            "$ref": "#/components/schemas/identityv1Approval"
          },
          "summary": {
            "$ref": "#/components/schemas/identityv1Summary"
          }
        }
      },
      "identityv1GetApprovalSummaryResponse": {
        "type": "object",
        "properties": {
          "approvalSummary": {
            "$ref": "#/components/schemas/identityv1ApprovalSummary"
          }
        }
      },
      "identityv1GetTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/identityv1Transaction"
          }
        }
      },
      "identityv1GetWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/identityv1Wallet"
          }
        }
      },
      "identityv1ListApprovalSummariesResponse": {
        "type": "object",
        "properties": {
          "approvalSummaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/identityv1ApprovalSummary"
            }
          }
        }
      },
      "identityv1Summary": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string"
          },
          "sourceType": {
            "$ref": "#/components/schemas/v1SummarySourceType"
          },
          "sourceRaw": {
            "type": "string",
            "format": "byte"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "metAt": {
            "type": "string",
            "format": "date-time"
          },
          "currentApprovedCount": {
            "type": "integer",
            "format": "int32"
          },
          "requiredApproverCount": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/identityv1ApprovalSetStatus"
          }
        }
      },
      "identityv1Transaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "status": {
            "$ref": "#/components/schemas/identityv1TransactionStatus"
          },
          "action": {
            "$ref": "#/components/schemas/identityv1TransactionAction"
          },
          "encodedTransaction": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "canonicalSignature": {
            "type": "string"
          },
          "signedTransaction": {
            "type": "string"
          },
          "signOnly": {
            "type": "boolean"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "identityv1TransactionAction": {
        "type": "string",
        "enum": [
          "PASSKEY_RAW",
          "PASSKEY_SIGN"
        ]
      },
      "identityv1TransactionStatus": {
        "type": "string",
        "enum": [
          "TRANSACTION_CREATED",
          "TRANSACTION_APPROVED",
          "TRANSACTION_SIGNED",
          "TRANSACTION_PUBLISHED",
          "TRANSACTION_CONFIRMED",
          "TRANSACTION_FAILED"
        ]
      },
      "identityv1UpdateApprovalResponse": {
        "type": "object",
        "properties": {
          "approvalSummary": {
            "$ref": "#/components/schemas/identityv1ApprovalSummary"
          }
        }
      },
      "identityv1Wallet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/identityv1WalletStatus"
          },
          "blockchain": {
            "$ref": "#/components/schemas/v2Blockchain"
          },
          "address": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          }
        }
      },
      "identityv1WalletStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "PROVISIONING",
          "PROVISIONED",
          "PROVISIONING_FAILED"
        ]
      },
      "protobufAny": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "protobufNullValue": {
        "type": "string"
      },
      "rpcStatus": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/protobufAny"
            }
          }
        }
      },
      "transactionsv2AMMDepositFlag": {
        "type": "string",
        "enum": [
          "DEPOSIT_LP_TOKEN",
          "DEPOSIT_SINGLE_ASSET",
          "DEPOSIT_TWO_ASSET",
          "DEPOSIT_ONE_ASSET_LP_TOKEN",
          "DEPOSIT_LIMIT_LP_TOKEN",
          "DEPOSIT_TWO_ASSET_IF_EMPTY"
        ]
      },
      "transactionsv2AMMWithdrawFlag": {
        "type": "string",
        "enum": [
          "WITHDRAW_LP_TOKEN",
          "WITHDRAW_WITHDRAW_ALL",
          "WITHDRAW_ONE_ASSET_WITHDRAW_ALL",
          "WITHDRAW_SINGLE_ASSET",
          "WITHDRAW_TWO_ASSET",
          "WITHDRAW_ONE_ASSET_LP_TOKEN",
          "WITHDRAW_LIMIT_LP_TOKEN"
        ]
      },
      "transactionsv2AccountSetFlag": {
        "type": "string",
        "enum": [
          "ACCOUNT_TXN_ID",
          "ALLOW_TRUSTLINE_CLAWBACK",
          "AUTHZ_NFTOKEN_MINTER",
          "DEFAULT_RIPPLE",
          "DEPOSIT_AUTH",
          "DISABLE_MASTER",
          "DISALLOW_INCOMING_CHECK",
          "DISALLOW_INCOMING_PAY_CHAN",
          "DISALLOW_INCOMING_TRUSTLINE",
          "DISALLOW_XRP",
          "GLOBAL_FREEZE",
          "NO_FREEZE",
          "REQUIRE_AUTH",
          "REQUIRE_DEST"
        ]
      },
      "transactionsv2Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Either addressID or walletID, or allowAddressID, or not set when the address does not exist within palisade e.g. a deposit from outside of Palisade"
          },
          "counterpartyId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The counterparty ID"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2AddressType"
              },
              {
                "example": "EXTERNAL",
                "description": "The address type"
              }
            ]
          },
          "address": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The address"
          }
        },
        "required": [
          "type",
          "address"
        ]
      },
      "transactionsv2AddressType": {
        "type": "string",
        "enum": [
          "COUNTERPARTY",
          "WALLET",
          "EXTERNAL",
          "ALLOW_ADDRESS"
        ]
      },
      "transactionsv2Asset": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "string",
            "example": "USD",
            "description": "The asset symbol"
          },
          "issuer": {
            "type": "string",
            "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "description": "The contract/issuing address. Optional if asset is XRP."
          }
        },
        "required": [
          "asset"
        ]
      },
      "transactionsv2CurrencyAmount": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "155.672",
            "description": "The quantity of the asset"
          },
          "asset": {
            "type": "string",
            "example": "USD",
            "description": "The asset symbol"
          },
          "issuer": {
            "type": "string",
            "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "description": "The contract/issuing address. Optional if asset is XRP."
          }
        },
        "required": [
          "value",
          "asset"
        ]
      },
      "transactionsv2GetTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "transactionsv2OfferCreateFlags": {
        "type": "string",
        "enum": [
          "PASSIVE",
          "IMMEDIATE_OR_CANCEL",
          "FILL_OR_KILL",
          "SELL"
        ]
      },
      "transactionsv2SignerEntry": {
        "type": "object",
        "properties": {
          "account": {
            "type": "string",
            "example": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
            "description": "Wallet address of the signer. The wallet does not need to exist."
          },
          "signerWeight": {
            "type": "integer",
            "format": "int64",
            "example": 2,
            "description": "Weight of the signature produced by this signer."
          }
        },
        "required": [
          "account",
          "signerWeight"
        ]
      },
      "transactionsv2Transaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The transaction ID"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user that created the transaction"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the transaction was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the transaction was updated"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionStatus"
              },
              {
                "example": "REQUESTED",
                "description": "The transaction status"
              }
            ]
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionAction"
              },
              {
                "example": "DEPOSIT",
                "description": "The transaction action"
              }
            ]
          },
          "externalId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "External ID of this transaction, unique to the organization"
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The correlation ID of the transaction, used to link related transactions"
          },
          "asset": {
            "$ref": "#/components/schemas/commonv2Asset"
          },
          "feeAsset": {
            "$ref": "#/components/schemas/commonv2Asset"
          },
          "blockchain": {
            "$ref": "#/components/schemas/v2Blockchain"
          },
          "destinationAddress": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "Deprecated. Use destination. The destination recorded for the transaction. Once a transaction reaches COMPILED, this is the blockchain execution target address. For a contract-token transfer, this is the token contract rather than the recipient wallet; use destination.address on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the recipient wallet."
          },
          "destination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2Address"
              },
              {
                "description": "The destination recorded for the transaction. Once a transaction reaches COMPILED, this is the blockchain execution target. For a contract-token transfer, this is the token contract rather than the recipient wallet; use destination.address on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the recipient wallet."
              }
            ]
          },
          "originAddress": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The origin address"
          },
          "origin": {
            "$ref": "#/components/schemas/transactionsv2Address"
          },
          "qty": {
            "type": "string",
            "example": "155.672",
            "description": "The quantity recorded at the top level. Once a contract-token transfer reaches COMPILED, this may be zero because it is the quantity sent to the execution target; use qty on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the token quantity."
          },
          "feeQtyLimit": {
            "type": "string",
            "example": "155.672",
            "description": "The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)"
          },
          "sequence": {
            "type": "string",
            "format": "uint64",
            "example": "2",
            "description": "The blockchain nonce/sequence to use"
          },
          "encodedTransaction": {
            "type": "string",
            "example": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080",
            "description": "The encoded transaction. Maximum size is 200KB."
          },
          "signOnly": {
            "type": "boolean",
            "example": "true",
            "description": "Whether to only sign the transaction, or also publish it to the blockchain"
          },
          "config": {
            "$ref": "#/components/schemas/v2XRPTransactionConfig"
          },
          "freezeInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FreezeInfo"
              },
              {
                "description": "Comprehensive freeze information including status, reason, and history"
              }
            ]
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2PublicTransactionHistoryEntry"
            },
            "description": "V1 business view of every accumulated history record, in archive acceptance order. Unrepresented records appear as informational OTHER entries.",
            "readOnly": true
          },
          "snapshotRevision": {
            "type": "string",
            "format": "uint64",
            "example": "9223372036854775807",
            "description": "Archive-authoritative snapshot revision, emitted as a decimal string in ProtoJSON.",
            "readOnly": true
          },
          "originContext": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PublicTransactionOriginContext"
              },
              {
                "description": "Optional business origin type. Existing origin address and attributes are retained.",
                "readOnly": true
              }
            ]
          },
          "feeQty": {
            "type": "string",
            "example": "155.672",
            "description": "The actual network fee for this transaction in base asset units (eg ETH for Ethereum)"
          },
          "hash": {
            "type": "string",
            "example": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671",
            "description": "The transaction hash"
          },
          "signature": {
            "type": "string",
            "example": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43",
            "description": "The transaction signature"
          },
          "transactionType": {
            "type": "string",
            "example": "Payment",
            "description": "The transaction type"
          },
          "reasons": {
            "type": "array",
            "example": [
              "unfunded"
            ],
            "items": {
              "type": "string"
            },
            "description": "Deprecated. Use problems for structured transaction failure details."
          },
          "canonicalSignature": {
            "type": "string",
            "example": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE",
            "description": "The canonical transaction signature"
          },
          "signedTransaction": {
            "type": "string",
            "example": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB",
            "description": "The signed transaction (multi-sign is not supported). Maximum size is 200KB."
          },
          "proposedAssetChanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2AssetChange"
            },
            "description": "Asset changes expected before confirmation. In TRANSFER entries, destination.address is the recipient wallet and qty is the asset quantity."
          },
          "confirmedAssetChanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2AssetChange"
            },
            "description": "Asset changes observed after confirmation. In TRANSFER entries, destination.address is the recipient wallet and qty is the asset quantity."
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T16:22:22.420Z",
            "description": "The time after which this transaction will be rejected if not confirmed",
            "readOnly": true
          },
          "problems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Problem"
            },
            "description": "Structured transaction failure details."
          },
          "signingPayloads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2SigningPayload"
            },
            "description": "Multiple signing payloads for UTXO-based transactions, one per input"
          }
        },
        "required": [
          "id",
          "walletId",
          "vaultId",
          "createdBy",
          "createdAt",
          "updatedAt",
          "status",
          "action",
          "asset",
          "feeAsset",
          "blockchain",
          "originAddress",
          "origin",
          "qty",
          "signOnly",
          "freezeInfo"
        ]
      },
      "transactionsv2TransactionAction": {
        "type": "string",
        "enum": [
          "DEPOSIT",
          "WITHDRAWAL",
          "WEB3_RAW",
          "WEB3_SIGN",
          "PASSKEY_RAW",
          "PASSKEY_SIGN",
          "PALISADE_TRANSFER",
          "PALISADE_RAW",
          "PALISADE_MANAGED",
          "PALISADE_SIGN_PLAINTEXT",
          "PALISADE_SWEEP"
        ]
      },
      "transactionsv2TransactionStatus": {
        "type": "string",
        "enum": [
          "REQUESTED",
          "POLICY_CHECK_PENDING",
          "POLICY_CHECK_PASSED",
          "APPROVAL_CHECK_PENDING",
          "APPROVAL_CHECK_PASSED",
          "COMPILATION_PENDING",
          "COMPILED",
          "SIGNATURE_PENDING",
          "SIGNED",
          "PUBLISH_PENDING",
          "PUBLISHED",
          "CONFIRMATION_PENDING",
          "CONFIRMED",
          "REJECTED",
          "FAILED"
        ]
      },
      "transactionsv2TrustSetFlag": {
        "type": "string",
        "enum": [
          "SETF_AUTH",
          "SET_NORIPPLE",
          "UNSET_NORIPPLE",
          "SET_FREEZE",
          "UNSET_FREEZE",
          "SET_DEEP_FREEZE",
          "UNSET_DEEP_FREEZE"
        ]
      },
      "v1DAppConfig": {
        "type": "object",
        "properties": {
          "appId": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "origins": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "v1GetDAppConfigResponse": {
        "type": "object",
        "properties": {
          "dappConfig": {
            "$ref": "#/components/schemas/v1DAppConfig"
          }
        }
      },
      "v1GetIdentityResponse": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/v1Identity"
          }
        }
      },
      "v1GetOrProvisionIdentityResponse": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/v1Identity"
          }
        }
      },
      "v1GetOrProvisionWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/identityv1Wallet"
          }
        }
      },
      "v1Identity": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "publicKey": {
            "type": "string",
            "format": "byte"
          },
          "credentialId": {
            "type": "string",
            "format": "byte"
          },
          "credential": {
            "type": "string",
            "format": "byte"
          },
          "walletId": {
            "type": "string"
          }
        }
      },
      "v1ListIdentitiesResponse": {
        "type": "object",
        "properties": {
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v1Identity"
            }
          }
        }
      },
      "v1ProvisionIdentityResponse": {
        "type": "object",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/v1Identity"
          }
        }
      },
      "v1SubmitTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/identityv1Transaction"
          }
        }
      },
      "v1SummarySourceType": {
        "type": "string",
        "enum": [
          "TRANSACTION",
          "DEVICE"
        ]
      },
      "v1ValidateDAppConfigResponse": {
        "type": "object"
      },
      "v2Action": {
        "type": "string",
        "enum": [
          "CREATE",
          "READ",
          "UPDATE",
          "DELETE",
          "ENABLE",
          "DISABLE"
        ]
      },
      "v2AddVaultTagResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultTag"
            }
          }
        }
      },
      "v2AddWalletTagResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletTag"
            }
          }
        }
      },
      "v2AddressDetails": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/counterpartyv2AddressType"
              },
              {
                "example": "EXTERNAL",
                "description": "The address type"
              }
            ]
          },
          "externalAddress": {
            "$ref": "#/components/schemas/v2ExternalAddress"
          }
        },
        "required": [
          "type"
        ]
      },
      "v2AddressFilter": {
        "type": "object",
        "properties": {
          "addressId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by address ID"
              }
            ]
          },
          "counterpartyId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by counterparty ID. For scoped address list requests, the top-level counterparty_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by on-chain address"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by address name"
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by address description"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AddressStatus"
              },
              {
                "description": "Filter by address status"
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BoolFilter"
              },
              {
                "description": "Filter by active status"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter by supported blockchain"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2AddressStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "ENABLED",
          "REJECTED",
          "DELETED",
          "ERROR",
          "COMPLIANCE_PENDING",
          "COMPLIANCE_COMPLETE",
          "CREATION_APPROVAL_PENDING",
          "CREATION_APPROVAL_COMPLETE",
          "DELETION_APPROVAL_PENDING",
          "DELETION_APPROVAL_COMPLETE"
        ]
      },
      "v2AddressUpdate": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/counterpartyv2Address"
          }
        }
      },
      "v2AddressUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2AddressUpdate"
          }
        }
      },
      "v2Alert": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          }
        }
      },
      "v2AmountAggregation": {
        "type": "string",
        "enum": [
          "SINGLE_TX",
          "ROLLING",
          "TOTAL"
        ]
      },
      "v2AmountCondition": {
        "type": "object",
        "properties": {
          "threshold": {
            "type": "string",
            "example": "200.00",
            "description": "The amount threshold as a decimal string"
          },
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AmountOperator"
              },
              {
                "example": "GTE",
                "description": "The comparison operator applied to the threshold"
              }
            ]
          },
          "aggregation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AmountAggregation"
              },
              {
                "example": "SINGLE_TX",
                "description": "The aggregation basis the threshold is evaluated over"
              }
            ]
          },
          "duration": {
            "type": "string",
            "example": "86400s",
            "description": "The rolling window duration. Set only when aggregation is ROLLING."
          }
        },
        "required": [
          "threshold",
          "operator",
          "aggregation"
        ]
      },
      "v2AmountOperator": {
        "type": "string",
        "enum": [
          "GT",
          "GTE"
        ]
      },
      "v2ApprovalDefaultResource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "walletId": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/v2PolicyRuleScope"
          },
          "approval": {
            "$ref": "#/components/schemas/v2ApprovalRule"
          },
          "status": {
            "$ref": "#/components/schemas/v2PolicyRuleStatus"
          },
          "active": {
            "type": "boolean"
          },
          "createdBy": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "v2ApprovalGroupTargetScope": {
        "type": "string",
        "enum": [
          "APPROVAL_GROUP_TARGET_SCOPE_ORG",
          "APPROVAL_GROUP_TARGET_SCOPE_WALLET"
        ]
      },
      "v2ApprovalGroupUpdate": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "targetScope": {
            "$ref": "#/components/schemas/v2ApprovalGroupTargetScope"
          },
          "targetId": {
            "type": "string"
          },
          "sourceType": {
            "$ref": "#/components/schemas/v2SourceType"
          }
        }
      },
      "v2ApprovalGroupUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2ApprovalGroupUpdate"
          }
        }
      },
      "v2ApprovalRule": {
        "type": "object",
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AmountCondition"
              },
              {
                "description": "Required for an ordinary step-up rule; absent for a wallet default."
              }
            ]
          },
          "users": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2UserList"
              },
              {
                "description": "Required for ordinary step-up rules and REQUIRE defaults; absent for NONE defaults."
              }
            ]
          },
          "requiredApprovals": {
            "type": "integer",
            "format": "int32",
            "example": 2,
            "description": "The number of distinct user approvals required. Positive for ordinary step-up rules and REQUIRE defaults; omitted or zero for NONE defaults."
          },
          "timeoutDuration": {
            "type": "string",
            "example": "3600s",
            "description": "Approval timeout duration. Defaults to 1 hour (3600s) if not specified. Minimum 5 minutes, maximum 24 hours."
          },
          "walletDefaultMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletDefaultMode"
              },
              {
                "example": "REQUIRE",
                "description": "Present only for an asset-independent wallet transaction-approval default: REQUIRE explicit users/quorum, or NONE to suppress inherited approvals. Omission retains ordinary step-up semantics. Delete the resource to inherit."
              }
            ]
          }
        }
      },
      "v2ApprovalSummaryStatusUpdate": {
        "type": "object",
        "properties": {
          "approvalSummary": {
            "$ref": "#/components/schemas/approvalv2ApprovalSummary"
          }
        }
      },
      "v2ApprovalSummaryUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2ApprovalSummaryStatusUpdate"
          }
        }
      },
      "v2AssetChange": {
        "type": "object",
        "properties": {
          "purpose": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetChangePurpose"
              },
              {
                "example": "TRANSFER",
                "description": "Purpose of this asset change"
              }
            ]
          },
          "asset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/commonv2Asset"
              },
              {
                "description": "The asset that is part of this change"
              }
            ]
          },
          "qty": {
            "type": "string",
            "example": "155.672",
            "description": "The quantity of the asset to transfer"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetChangeWallet"
              },
              {
                "description": "Source of this asset change"
              }
            ]
          },
          "destination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetChangeWallet"
              },
              {
                "description": "Destination of this asset change"
              }
            ]
          }
        },
        "required": [
          "purpose",
          "asset",
          "qty"
        ]
      },
      "v2AssetChangePurpose": {
        "type": "string",
        "enum": [
          "FEE",
          "TRANSFER"
        ]
      },
      "v2AssetChangeWallet": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "example": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
            "description": "The blockchain address of the wallet"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID that is part of this change, populated only if it belongs to the same organization that is party to the transaction"
          },
          "subAccountAddress": {
            "type": "string",
            "example": "CaVHtunHxQfGYVKJ4WzUe1217UTCrREh3hg2RW8cS2Gk",
            "description": "The Rosetta SubAccount address (e.g., SPL token account address for Solana, contract-specific state address for other chains). This represents the actual on-chain address where the asset resides, while 'address' contains the owner wallet address."
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID for the wallet that is part of this change, populated only if it belongs to the same organization that is party to the transaction"
          }
        },
        "required": [
          "address"
        ]
      },
      "v2AssetFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset ID"
              }
            ]
          },
          "symbol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset symbol"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset name"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter by blockchain"
              }
            ]
          },
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetStandardFilter"
              },
              {
                "description": "Filter by asset standard"
              }
            ]
          },
          "contract": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by contract address. Use is_null=true for native assets and is_null=false for contract assets."
              }
            ]
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetSourceFilter"
              },
              {
                "description": "Filter by asset source"
              }
            ]
          },
          "enabled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BoolFilter"
              },
              {
                "description": "Filter by enabled status"
              }
            ]
          },
          "vetted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BoolFilter"
              },
              {
                "description": "Filter by vetted status"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by update timestamp"
              }
            ]
          },
          "coingeckoId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by CoinGecko ID"
              }
            ]
          }
        }
      },
      "v2AssetIdentifier": {
        "type": "object",
        "properties": {
          "assetId": {
            "type": "string",
            "example": "ETHEREUM:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48:USDC",
            "description": "Composite asset ID in format blockchain:contract:symbol."
          },
          "lookup": {
            "$ref": "#/components/schemas/v2AssetLookup"
          }
        }
      },
      "v2AssetLookup": {
        "type": "object",
        "properties": {
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "description": "Blockchain the asset belongs to."
              }
            ]
          },
          "contract": {
            "type": "string",
            "description": "Contract address. Omit or leave empty to address the blockchain native asset."
          },
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. USDC."
          },
          "decimals": {
            "type": "integer",
            "format": "int32",
            "description": "Asset decimals. Values outside 0..36 are isolated to NOT_FOUND by the internal resolver."
          }
        },
        "required": [
          "blockchain",
          "symbol"
        ]
      },
      "v2AssetSource": {
        "type": "string",
        "enum": [
          "ASSET_SOURCE_LEGACY",
          "ASSET_SOURCE_AUTO",
          "ASSET_SOURCE_COINGECKO",
          "ASSET_SOURCE_PALISADE",
          "ASSET_SOURCE_CUSTOMER"
        ]
      },
      "v2AssetSourceFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetSource"
              },
              {
                "description": "Exact asset source match"
              }
            ]
          },
          "notEq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetSource"
              },
              {
                "description": "Exclude this asset source"
              }
            ]
          },
          "in": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2AssetSource"
            },
            "description": "Asset source is in this list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2AssetSource"
            },
            "description": "Asset source is not in this list"
          }
        }
      },
      "v2AssetStandardFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Standard"
              },
              {
                "description": "Exact asset standard match"
              }
            ]
          },
          "notEq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Standard"
              },
              {
                "description": "Exclude this asset standard"
              }
            ]
          },
          "in": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Standard"
            },
            "description": "Asset standard is in this list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Standard"
            },
            "description": "Asset standard is not in this list"
          }
        }
      },
      "v2BackupStrategy": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the backup strategy (UUID v7)"
          },
          "orgId": {
            "type": "string",
            "description": "Organization ID this backup strategy belongs to"
          },
          "name": {
            "type": "string",
            "description": "Name of the backup strategy (2-64 characters)"
          },
          "recoveryPublicKeys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2RecoveryPublicKey"
            },
            "description": "List of backup keys - DER formatted, hex encoded RSA public keys (min 4096 bits)"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Creation timestamp"
          },
          "createdBy": {
            "type": "string",
            "description": "User who created the backup strategy"
          },
          "s3Config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2S3Config"
              },
              {
                "description": "S3 configuration for backup storage"
              }
            ]
          }
        }
      },
      "v2Balance": {
        "type": "object",
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/commonv2Asset"
          },
          "balance": {
            "type": "string",
            "example": "200.00",
            "description": "The total balance of the asset on the blockchain. When breakdown fields are present, this equals available_balance + pending_balance + frozen_balance"
          },
          "rate": {
            "type": "string",
            "example": "0.50",
            "description": "The exchange rate between the asset and 'currencyCode'"
          },
          "fiatValue": {
            "type": "string",
            "example": "100.00",
            "description": "The aggregated fiat value of an asset for a wallet"
          },
          "availableBalance": {
            "type": "string",
            "example": "150.00",
            "description": "The available balance that can be spent"
          },
          "pendingBalance": {
            "type": "string",
            "example": "30.00",
            "description": "The balance tied up in pending transactions"
          },
          "frozenBalance": {
            "type": "string",
            "example": "20.00",
            "description": "The balance frozen by policy actions"
          }
        }
      },
      "v2BalanceUpdate": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "vaultId": {
            "type": "string"
          },
          "walletId": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "aggregatedFiatValue": {
            "type": "string"
          },
          "assetBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Balance"
            }
          },
          "walletBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletBalance"
            }
          },
          "vaultBalances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultBalance"
            }
          }
        }
      },
      "v2BalanceUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2BalanceUpdate"
          }
        }
      },
      "v2Blockchain": {
        "type": "string",
        "enum": [
          "AVALANCHE",
          "ETHEREUM",
          "XRP_LEDGER",
          "POLYGON",
          "BNBCHAIN",
          "BASE",
          "HEDERA",
          "ARBITRUM",
          "ONE_MONEY",
          "SOLANA",
          "TRON",
          "BITCOIN",
          "OPTIMISM"
        ]
      },
      "v2BlockchainAddressSpace": {
        "type": "string",
        "enum": [
          "BLOCKCHAIN_ADDRESS_SPACE_EVM",
          "BLOCKCHAIN_ADDRESS_SPACE_BITCOIN",
          "BLOCKCHAIN_ADDRESS_SPACE_SOLANA",
          "BLOCKCHAIN_ADDRESS_SPACE_XRP",
          "BLOCKCHAIN_ADDRESS_SPACE_TRON"
        ]
      },
      "v2BlockchainFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "description": "Exact blockchain match"
              }
            ]
          },
          "notEq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "description": "Exclude this blockchain"
              }
            ]
          },
          "in": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Blockchain"
            },
            "description": "Blockchain is in this list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Blockchain"
            },
            "description": "Blockchain is not in this list"
          }
        }
      },
      "v2BlockchainInfo": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM",
                "description": "The blockchain identifier"
              }
            ]
          },
          "name": {
            "type": "string",
            "example": "Ethereum",
            "description": "Human-readable name of the blockchain"
          },
          "namespace": {
            "type": "string",
            "example": "eip155",
            "description": "The CAIP-2 namespace identifier"
          },
          "chainId": {
            "type": "string",
            "example": "1",
            "description": "The chain ID (supports large numbers)"
          },
          "rpcEndpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2RPCEndpoint"
            },
            "description": "RPC endpoints for blockchain connectivity"
          },
          "supportedEvents": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "WalletConnect event types supported by this blockchain"
          },
          "supportedMethods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "WalletConnect methods supported by this blockchain"
          },
          "keystoreTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Keystore"
            },
            "description": "Supported keystore types (HSM, MPC)"
          },
          "keyAlgorithms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2KeyAlgorithm"
            },
            "description": "Supported key algorithms"
          },
          "routing": {
            "type": "string",
            "example": "ethereum",
            "description": "Message queue routing key base"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainStatus"
              },
              {
                "description": "The operational status of the blockchain"
              }
            ]
          },
          "supportsWalletConnect": {
            "type": "boolean",
            "description": "Whether this blockchain supports WalletConnect"
          },
          "explorers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Explorer"
            },
            "description": "Blockchain explorers for viewing transactions and addresses"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the blockchain was created",
            "readOnly": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the blockchain was last updated",
            "readOnly": true
          },
          "chain": {
            "type": "string",
            "example": "ethereum-mainnet",
            "description": "Chain identifier (e.g., 'ethereum-mainnet', 'ethereum-goerli')"
          },
          "coingeckoPlatformId": {
            "type": "string",
            "example": "ethereum",
            "description": "CoinGecko platform identifier for sync (optional for testnets)"
          },
          "checksumType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2ChecksumType"
              },
              {
                "example": "CHECKSUM_TYPE_EIP55",
                "description": "Type of address checksum used by this blockchain"
              }
            ]
          },
          "blockTime": {
            "type": "integer",
            "format": "int32",
            "example": 12,
            "description": "Average block time in seconds"
          },
          "confirmationBlocks": {
            "type": "integer",
            "format": "int32",
            "example": 6,
            "description": "Recommended number of confirmations for finality"
          },
          "addressSpace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainAddressSpace"
              },
              {
                "example": "BLOCKCHAIN_ADDRESS_SPACE_EVM",
                "description": "Canonical address-space family used for address validation and wallet derivation"
              }
            ]
          },
          "supportsConnectorGateway": {
            "type": "boolean",
            "description": "Whether this blockchain is served by connector-gateway"
          },
          "iconUrl": {
            "type": "string",
            "example": "https://cdn.example.com/blockchains/ethereum.png",
            "description": "Public URL for the blockchain icon",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "name",
          "namespace",
          "chainId",
          "routing",
          "status"
        ]
      },
      "v2BlockchainStatus": {
        "type": "string",
        "enum": [
          "BLOCKCHAIN_STATUS_ENABLED",
          "BLOCKCHAIN_STATUS_DISABLED"
        ]
      },
      "v2BoolFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "boolean",
            "description": "Equals"
          },
          "isNull": {
            "type": "boolean",
            "description": "Check if field is null"
          }
        }
      },
      "v2Category": {
        "type": "string",
        "enum": [
          "CONTROLS",
          "WALLETS",
          "TRANSACTIONS",
          "AUDIT"
        ]
      },
      "v2ChecksumType": {
        "type": "string",
        "enum": [
          "CHECKSUM_TYPE_NONE",
          "CHECKSUM_TYPE_EIP55",
          "CHECKSUM_TYPE_BASE58CHECK",
          "CHECKSUM_TYPE_XRP"
        ]
      },
      "v2ComplianceIntegration": {
        "type": "string",
        "enum": [
          "COMPLY",
          "ELLIPTIC",
          "NOTABENE",
          "NOTABENE_TRAVEL_RULE"
        ]
      },
      "v2Connection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The connection ID"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID that the connection is associated with"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID that the connection is associated with"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID that the connection is associated with"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the connection was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the connection was updated"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2ConnectionStatus"
              },
              {
                "example": "CONNECTED",
                "description": "The connection status"
              }
            ]
          },
          "proposer": {
            "$ref": "#/components/schemas/v2Proposer"
          }
        },
        "required": [
          "id",
          "walletId",
          "vaultId",
          "createdBy",
          "createdAt",
          "updatedAt",
          "status"
        ]
      },
      "v2ConnectionStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "PROPOSING",
          "PROPOSED",
          "CONNECTED",
          "DISCONNECTED",
          "REJECTED",
          "UNSUPPORTED",
          "EXPIRED",
          "ERROR"
        ]
      },
      "v2ConnectionStatusUpdate": {
        "type": "object",
        "properties": {
          "connection": {
            "$ref": "#/components/schemas/v2Connection"
          }
        }
      },
      "v2ConnectionUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2ConnectionStatusUpdate"
          }
        }
      },
      "v2Counterparty": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The counterparty ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this counterparty"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the counterparty was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this counterparty"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the counterparty was updated"
          },
          "name": {
            "type": "string",
            "example": "Palisade",
            "description": "The counterparty name"
          },
          "description": {
            "type": "string",
            "example": "A counterparty used by the treasury department",
            "description": "The counterparty description"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CounterpartyDetails"
              },
              {
                "description": "The counterparty details"
              }
            ]
          },
          "addressCount": {
            "type": "integer",
            "format": "int32",
            "example": 5,
            "description": "The number of addresses associated with the counterparty"
          }
        },
        "required": [
          "id",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "name",
          "details",
          "addressCount"
        ]
      },
      "v2CounterpartyDetails": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CounterpartyType"
              },
              {
                "example": "ORGANIZATION",
                "description": "The counterparty type"
              }
            ]
          },
          "individual": {
            "$ref": "#/components/schemas/v2Individual"
          },
          "organization": {
            "$ref": "#/components/schemas/counterpartyv2Organization"
          },
          "dApp": {
            "$ref": "#/components/schemas/v2DApp"
          }
        },
        "required": [
          "type"
        ]
      },
      "v2CounterpartyFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by counterparty ID"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by counterparty name"
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by counterparty description"
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CounterpartyType"
              },
              {
                "description": "Filter by counterparty type"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2CounterpartyType": {
        "type": "string",
        "enum": [
          "ORGANIZATION",
          "INDIVIDUAL",
          "DAPP"
        ]
      },
      "v2CreateAddressResponse": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/counterpartyv2Address"
          }
        }
      },
      "v2CreateCounterpartyRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Palisade",
            "description": "The counterparty name"
          },
          "description": {
            "type": "string",
            "example": "A counterparty used by the treasury department",
            "description": "The counterparty description"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CounterpartyDetails"
              },
              {
                "description": "The counterparty details"
              }
            ]
          }
        },
        "required": [
          "name",
          "details"
        ]
      },
      "v2CreateCounterpartyResponse": {
        "type": "object",
        "properties": {
          "counterparty": {
            "$ref": "#/components/schemas/v2Counterparty"
          }
        }
      },
      "v2CreateOrProvisionPasskeyWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2CreatePolicyRuleResponse": {
        "type": "object",
        "properties": {
          "policyRule": {
            "$ref": "#/components/schemas/v2PolicyRule"
          }
        }
      },
      "v2CreateSubscriptionsResponse": {
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Subscription"
            }
          }
        }
      },
      "v2CreateVaultRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Treasury vault",
            "description": "The name of the vault"
          },
          "description": {
            "type": "string",
            "example": "A vault used by the treasury department",
            "description": "The description of the vault"
          },
          "externalId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "External ID of this vault, unique to the organization"
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Correlation ID for tracking correlating actions with this vault creation"
          }
        },
        "required": [
          "name"
        ]
      },
      "v2CreateVaultResponse": {
        "type": "object",
        "properties": {
          "vault": {
            "$ref": "#/components/schemas/v2Vault"
          }
        }
      },
      "v2CreateWalletApprovalDefaultForPolicyResponse": {
        "type": "object",
        "properties": {
          "approvalDefault": {
            "$ref": "#/components/schemas/v2ApprovalDefaultResource"
          }
        }
      },
      "v2CreateWalletLimitResponse": {
        "type": "object",
        "properties": {
          "walletLimit": {
            "$ref": "#/components/schemas/v2WalletLimit"
          }
        }
      },
      "v2CreateWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2CreateWebhookRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Palisade Transactions",
            "description": "The webhook name."
          },
          "description": {
            "type": "string",
            "example": "A webhook used to monitor transactions",
            "description": "The webhook description."
          },
          "endpoint": {
            "type": "string",
            "example": "https://palisade.co/webhook",
            "description": "The webhook endpoint to send data to"
          }
        },
        "required": [
          "name",
          "endpoint"
        ]
      },
      "v2CreateWebhookResponse": {
        "type": "object",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/v2Webhook"
          }
        }
      },
      "v2Credential": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The credential ID"
          },
          "name": {
            "type": "string",
            "example": "Treasury",
            "description": "The credential name"
          },
          "description": {
            "type": "string",
            "example": "Credentials that belong to trading desk #1",
            "description": "The credential description"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Category"
              },
              {
                "example": "CATEGORY_WALLETS",
                "description": "The credential category"
              }
            ]
          },
          "permissions": {
            "type": "array",
            "example": [
              "vault:read:org:id=ce4918bf-a199-4ce2-85a3-d0d296855384:*"
            ],
            "items": {
              "type": "string"
            },
            "description": "The credential permissions"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created the credential"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the credential was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the credential was updated"
          },
          "clientId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The credential client ID"
          },
          "clientSecret": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The credential client secret"
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "The credential active status"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CredentialStatus"
              },
              {
                "example": "PENDING",
                "description": "The credential status"
              }
            ]
          },
          "proposedPermissions": {
            "type": "array",
            "example": [
              "vault:read:org:id=ce4918bf-a199-4ce2-85a3-d0d296855384:*"
            ],
            "items": {
              "type": "string"
            },
            "description": "The proposed credential permissions"
          },
          "allowedIps": {
            "type": "array",
            "example": [
              "88.9.2.1",
              "88.10.2.1/0"
            ],
            "items": {
              "type": "string"
            },
            "description": "List of IP addresses (in IP address or CIDR notation) that the credential is allowed to use"
          }
        },
        "required": [
          "id",
          "name",
          "category",
          "permissions",
          "createdBy",
          "createdAt",
          "updatedAt",
          "clientId",
          "active",
          "status",
          "proposedPermissions"
        ]
      },
      "v2CredentialStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "ENABLED",
          "DISABLED",
          "REJECTED",
          "DELETED",
          "ERROR",
          "CREATION_APPROVAL_PENDING",
          "CREATION_APPROVAL_COMPLETE",
          "DELETION_APPROVAL_PENDING",
          "DELETION_APPROVAL_COMPLETE",
          "ENABLE_APPROVAL_PENDING",
          "ENABLE_APPROVAL_COMPLETE",
          "DISABLE_APPROVAL_PENDING",
          "DISABLE_APPROVAL_COMPLETE",
          "MODIFICATION_APPROVAL_PENDING",
          "MODIFICATION_APPROVAL_COMPLETE"
        ]
      },
      "v2CredentialUpdate": {
        "type": "object",
        "properties": {
          "credential": {
            "$ref": "#/components/schemas/v2Credential"
          }
        }
      },
      "v2CredentialUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2CredentialUpdate"
          }
        }
      },
      "v2Currency": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "United States Dollar",
            "description": "The human readable name of the currency"
          },
          "code": {
            "type": "string",
            "example": "USD",
            "description": "The unique currency code"
          },
          "symbol": {
            "type": "string",
            "example": "$",
            "description": "The currency symbol"
          },
          "decimals": {
            "type": "integer",
            "format": "int32",
            "example": 2,
            "description": "The number of decimal places for the currency",
            "readOnly": true
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the currency is enabled for use",
            "readOnly": true
          }
        },
        "required": [
          "name",
          "code",
          "symbol"
        ]
      },
      "v2Custodian": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Palisade Financial",
            "description": "The Virtual Asset Service Provider's name"
          },
          "dId": {
            "type": "string",
            "example": "did:example:123456789abcdefghi",
            "description": "The Virtual Asset Service Provider's Decentralized Identifier"
          }
        },
        "required": [
          "name",
          "dId"
        ]
      },
      "v2DApp": {
        "type": "object"
      },
      "v2DeleteAddressResponse": {
        "type": "object"
      },
      "v2DeleteCounterpartyResponse": {
        "type": "object"
      },
      "v2DeletePolicyRuleResponse": {
        "type": "object"
      },
      "v2DeleteSubscriptionResponse": {
        "type": "object"
      },
      "v2DeleteVaultTagResponse": {
        "type": "object"
      },
      "v2DeleteWalletApprovalDefaultForPolicyResponse": {
        "type": "object"
      },
      "v2DeleteWalletLimitResponse": {
        "type": "object"
      },
      "v2DeleteWalletResponse": {
        "type": "object"
      },
      "v2DeleteWalletTagResponse": {
        "type": "object"
      },
      "v2DeleteWebhookResponse": {
        "type": "object"
      },
      "v2Device": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The device ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID that created the device"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the device was created"
          },
          "pairedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the device was paired"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the device was updated"
          },
          "clientId": {
            "type": "string",
            "example": "muDigc2N34HnKJh28l9pK6d0lBOFAe",
            "description": "The client ID"
          },
          "displayName": {
            "type": "string",
            "example": "Treasury vault",
            "description": "The name of the device"
          },
          "approvalStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/devicev2ApprovalStatus"
              },
              {
                "example": "APPROVED",
                "description": "The approval status"
              }
            ]
          },
          "enabledStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2EnabledStatus"
              },
              {
                "example": "ENABLED",
                "description": "The enabled status"
              }
            ]
          },
          "publicKeyHash": {
            "type": "string",
            "example": "muDigc2N34HnKJh28l9pK6d0lBOFAe",
            "description": "The hash of the devices public key"
          },
          "deleted": {
            "type": "boolean",
            "example": "false",
            "description": "Whether the device has been deleted"
          },
          "deviceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2DeviceType"
              },
              {
                "example": "MOBILE",
                "description": "The device type"
              }
            ]
          },
          "playerId": {
            "type": "integer",
            "format": "int64",
            "example": 123456,
            "description": "The player ID"
          },
          "version": {
            "type": "string",
            "example": "1.0.0",
            "description": "The version of the device"
          },
          "lastHeartbeatAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-06-09T12:34:56.000Z",
            "description": "The date and time the device last reported a heartbeat",
            "readOnly": true
          },
          "connectionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2DeviceConnectionStatus"
              },
              {
                "example": "ONLINE",
                "description": "The derived heartbeat connection status for the device",
                "readOnly": true
              }
            ]
          },
          "heartbeatMetadata": {
            "type": "object",
            "example": {
              "tsmType": "MPC",
              "platform": "linux/amd64"
            },
            "description": "The latest self-reported device heartbeat metadata",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "createdBy",
          "createdAt",
          "pairedAt",
          "updatedAt",
          "displayName",
          "approvalStatus",
          "enabledStatus",
          "publicKeyHash",
          "deleted",
          "deviceType"
        ]
      },
      "v2DeviceConnectionStatus": {
        "type": "string",
        "enum": [
          "ONLINE",
          "OFFLINE",
          "UNKNOWN",
          "UNSUPPORTED"
        ]
      },
      "v2DeviceOwner": {
        "type": "string",
        "enum": [
          "THIS_ORGANIZATION",
          "TRUSTED_ORGANIZATION"
        ]
      },
      "v2DeviceType": {
        "type": "string",
        "enum": [
          "MOBILE",
          "CLOUD"
        ]
      },
      "v2DeviceUpdate": {
        "type": "object",
        "properties": {
          "device": {
            "$ref": "#/components/schemas/v2Device"
          }
        }
      },
      "v2DeviceUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2DeviceUpdate"
          }
        }
      },
      "v2EnabledStatus": {
        "type": "string",
        "enum": [
          "ENABLED_STATUS_PENDING",
          "ENABLED",
          "DISABLED"
        ]
      },
      "v2EnsureObservedAssetStatus": {
        "type": "string",
        "enum": [
          "ENSURE_OBSERVED_ASSET_STATUS_CREATED",
          "ENSURE_OBSERVED_ASSET_STATUS_EXISTS",
          "ENSURE_OBSERVED_ASSET_STATUS_SKIPPED"
        ]
      },
      "v2EnsuredObservedAsset": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/v2EnsureObservedAssetStatus"
          },
          "asset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/commonv2Asset"
              },
              {
                "description": "The created or existing asset. Absent when status is SKIPPED."
              }
            ]
          }
        }
      },
      "v2EstimateTransferFeeRequest": {
        "type": "object",
        "properties": {
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM"
              }
            ]
          },
          "contract": {
            "type": "string",
            "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "description": "The contract/issuing address"
          },
          "symbol": {
            "type": "string",
            "example": "USD",
            "description": "The asset symbol"
          },
          "originAddress": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The origin address"
          },
          "destinationAddress": {
            "type": "string",
            "example": "TLsV52sRDL79HXGGm9yzwKibb6BeruhUzy",
            "description": "Optional destination address. When provided, allows for more accurate fee estimation on chains where transfer costs vary based on recipient state (e.g., TRON, Solana)."
          }
        },
        "required": [
          "blockchain",
          "symbol",
          "originAddress"
        ]
      },
      "v2EstimateTransferFeeResponse": {
        "type": "object",
        "properties": {
          "feeEstimate": {
            "$ref": "#/components/schemas/v2FeeEstimate"
          }
        }
      },
      "v2Event": {
        "type": "object",
        "properties": {
          "trigger": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        }
      },
      "v2EvmFeeEstimate": {
        "type": "object",
        "properties": {
          "gasPrice": {
            "type": "string",
            "format": "uint64",
            "example": "155",
            "description": "Gas price in wei (base_fee + priority_fee)"
          },
          "baseFee": {
            "type": "string",
            "format": "uint64",
            "example": "155",
            "description": "Base Fee in wei"
          },
          "priorityFee": {
            "type": "string",
            "format": "uint64",
            "example": "155",
            "description": "Average priority Fee in wei"
          },
          "gasLimit": {
            "type": "string",
            "format": "uint64",
            "example": "21000",
            "description": "Gas limit"
          }
        },
        "required": [
          "gasPrice",
          "baseFee",
          "priorityFee",
          "gasLimit"
        ]
      },
      "v2ExchangeCredentialRequest": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "example": "jhYMYU4opaGhdsXuebOwQXqV0pZcGuph",
            "description": "The client ID"
          },
          "clientSecret": {
            "type": "string",
            "example": "zjI4XChsnwMh8wvKQG2tVBLUI4k9JittZQGerUfHv0CiqZZ_5MofAfRQ15pnKY-B",
            "description": "The client ID"
          }
        },
        "required": [
          "clientId",
          "clientSecret"
        ]
      },
      "v2ExchangeCredentialResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "example": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImxBMmpQWDd5NWZTR0tMWDFtMkpucyJ9.eyJodHRwczovL3BhbGlzYWRlLmNvIjp7ImRldmljZUlkIjpudWxsLCJvcmdhbml6YXRpb25JZCI6ImNlNDkxOGJmLWExOTktNGNlMi04NWEzLWQwZDI5Njg1NTM4NCIsInNpZ25hdHVyZVZlcmlmaWNhdGlvbktleSI6bnVsbCwidXNlcklkIjoiYTdkNzI2YTUtZjZlMC00ZmE2LWJiOGUtM2Q5OTNhZjY0MzUxIn0sImlzcyI6Imh0dHBzOi8vcGFsaXNhZGUtZGV2ZWxvcG1lbnQuZXUuYXV0aDAuY29tLyIsInN1YiI6IlVNbWZ5RWNPcnN3Szl4ODJvQWw0ZnpLRjlCTmRheW5KQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2FwaS5wYWxpc2FkZS5jby8iLCJpYXQiOjE3MDQ5ODg0NDQsImV4cCI6MTcwNDk5MjA0NCwiYXpwIjoiVU1tZnlFY09yc3dLOXg4Mm9BbDRmektGOUJOZGF5bkoiLCJzY29wZSI6ImJhbGFuY2VzOnJlYWQ6b3JnOmlkPWNlNDkxOGJmLWExOTktNGNlMi04NWEzLWQwZDI5Njg1NTM4NDoqIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIiwicGVybWlzc2lvbnMiOlsiYmFsYW5jZXM6cmVhZDpvcmc6aWQ9Y2U0OTE4YmYtYTE5OS00Y2UyLTg1YTMtZDBkMjk2ODU1Mzg0OioiXX0.RdKm2CvCAJYDno4dCdQ-G8k4ia7oHnVFW7O9mrcPhxnBayKPa2kLPcDJbFineU2s_AIlCjp6-1Bx6gOTytNVI4hWpS8ho_QSkQVipDAltq06Lg0N__NYZG11ZaDwlC0MLC2zcTYwIZcHY2_cC5kwOQ5Dc4no_IFCPtU_UbepqXZuj9uJda-9vrLv0zFoKD7bKUQkSaDam7Qvq6J7Q-sKwu_8wZ3tfSLqk53ECLZn4d9sJnsWaXixoQd1s0w5qKDSwjRMLeB8rm2ATAR4r4FayCKrSYgAuaK0heoYS158x69ThtTWZJFi0gPf1yD2DpshiEAFWyv4mMkH7YVs-fi6_x",
            "description": "The access token"
          },
          "scope": {
            "type": "string",
            "example": "balances:read:org:id=ce4918bf-a199-4ce2-85a3-d0d296855384:*",
            "description": "The scope"
          },
          "expiresIn": {
            "type": "integer",
            "format": "int64",
            "example": 3600,
            "description": "The expiration time in seconds"
          },
          "tokenType": {
            "type": "string",
            "example": "Bearer",
            "description": "The token type"
          }
        },
        "required": [
          "accessToken",
          "scope",
          "expiresIn",
          "tokenType"
        ]
      },
      "v2Explorer": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Etherscan",
            "description": "Name of the explorer"
          },
          "url": {
            "type": "string",
            "example": "https://etherscan.io",
            "description": "Base URL of the explorer"
          },
          "transactionFormat": {
            "type": "string",
            "example": "/tx/{txHash}",
            "description": "URL format for transaction links (use {txHash} as placeholder)"
          },
          "addressFormat": {
            "type": "string",
            "example": "/address/{address}",
            "description": "URL format for address links (use {address} as placeholder)"
          }
        },
        "required": [
          "name",
          "url",
          "transactionFormat",
          "addressFormat"
        ]
      },
      "v2ExternalAddress": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The address"
          },
          "name": {
            "type": "string",
            "example": "Treasury",
            "description": "The address name"
          },
          "description": {
            "type": "string",
            "example": "Wallet used to store treasury funds",
            "description": "The address description"
          },
          "blockchains": {
            "type": "array",
            "example": [
              "ETHEREUM"
            ],
            "items": {
              "$ref": "#/components/schemas/v2Blockchain"
            },
            "description": "The blockchains supported by the address"
          }
        },
        "required": [
          "address",
          "name",
          "blockchains"
        ]
      },
      "v2FeeEstimate": {
        "type": "object",
        "properties": {
          "evm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2EvmFeeEstimate"
              },
              {
                "example": {
                  "gas_price": "0.007",
                  "base_fee": "155.672",
                  "priority_fee": "0.001",
                  "gas_limit": 21000
                },
                "description": "EVM specific fee estimates"
              }
            ]
          },
          "networkFees": {
            "type": "object",
            "example": {
              "slowest": "0.00001",
              "slow": "0.00005",
              "medium": "0.00010",
              "fast": "0.00015",
              "fastest": "0.0002"
            },
            "additionalProperties": {
              "type": "string"
            },
            "description": "Map of fee options where keys are fee types (slowest, slow, medium, fast, fastest) and values are the fee amounts in base asset units"
          }
        },
        "required": [
          "networkFees"
        ]
      },
      "v2FilterRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 50,
            "description": "Number of results per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "Token for pagination from previous response"
          },
          "orderBy": {
            "type": "string",
            "example": "created_at",
            "description": "Field to order results by"
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SortOrder"
              },
              {
                "description": "Sort order (ASC or DESC)"
              }
            ]
          }
        }
      },
      "v2FilterResponse": {
        "type": "object",
        "properties": {
          "previousPageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the previous page of results"
          },
          "nextPageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "example": 100,
            "description": "The total number of results"
          }
        },
        "required": [
          "total"
        ]
      },
      "v2FreezeAction": {
        "type": "string",
        "enum": [
          "FREEZE_ACTION_FREEZE",
          "FREEZE_ACTION_UNFREEZE"
        ]
      },
      "v2FreezeAuthority": {
        "type": "string",
        "enum": [
          "FREEZE_AUTHORITY_AUTOMATIC_POLICY",
          "FREEZE_AUTHORITY_CUSTOMER_MANUAL",
          "FREEZE_AUTHORITY_MANAGEMENT_COMPLIANCE"
        ]
      },
      "v2FreezeHistoryEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Unique identifier for this history entry"
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FreezeAction"
              },
              {
                "example": "FREEZE_ACTION_FREEZE",
                "description": "The action taken (FREEZE or UNFREEZE)"
              }
            ]
          },
          "reason": {
            "type": "string",
            "example": "Transaction frozen due to suspicious activity pattern",
            "description": "Reason for the freeze or unfreeze action"
          },
          "userId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "User who performed the action (empty for automatic actions)"
          },
          "organizationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Organization of the user who performed the action (empty for automatic actions)"
          },
          "performedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "Timestamp when the action was performed"
          },
          "freezeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FreezeType"
              },
              {
                "example": "FREEZE_TYPE_AUTO_RISK",
                "description": "Type of freeze (required for FREEZE actions, shows original type for UNFREEZE)"
              }
            ]
          },
          "riskScore": {
            "type": "number",
            "format": "double",
            "example": 85.5,
            "description": "Risk score that triggered auto-freeze (0-100)"
          },
          "authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FreezeAuthority"
              },
              {
                "example": "FREEZE_AUTHORITY_CUSTOMER_MANUAL",
                "description": "Authority that applied this freeze state change"
              }
            ]
          },
          "mutationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Stable identifier for the freeze mutation"
          },
          "freezeRevision": {
            "type": "string",
            "format": "uint64",
            "example": "1",
            "description": "Monotonic transaction freeze-state revision"
          }
        }
      },
      "v2FreezeInfo": {
        "type": "object",
        "properties": {
          "isFrozen": {
            "type": "boolean",
            "example": false,
            "description": "Whether the transaction is currently frozen"
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2FreezeHistoryEntry"
            },
            "description": "History of all freeze/unfreeze actions. Latest entry contains current state details when frozen."
          },
          "authority": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FreezeAuthority"
              },
              {
                "example": "FREEZE_AUTHORITY_CUSTOMER_MANUAL",
                "description": "Authority that owns the current freeze state"
              }
            ]
          },
          "freezeRevision": {
            "type": "string",
            "format": "uint64",
            "example": "1",
            "description": "Latest monotonic transaction freeze-state revision, or zero when unchanged"
          },
          "mutationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Stable identifier for the latest freeze mutation"
          }
        }
      },
      "v2FreezeTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2FreezeType": {
        "type": "string",
        "enum": [
          "FREEZE_TYPE_MANUAL",
          "FREEZE_TYPE_AUTO_RISK",
          "FREEZE_TYPE_AUTO_AMOUNT",
          "FREEZE_TYPE_COMPLIANCE",
          "FREEZE_TYPE_AUTO_WALLET_SETTING",
          "FREEZE_TYPE_TRAVEL_RULE"
        ]
      },
      "v2GetAddressResponse": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/counterpartyv2Address"
          }
        }
      },
      "v2GetCounterpartyResponse": {
        "type": "object",
        "properties": {
          "counterparty": {
            "$ref": "#/components/schemas/v2Counterparty"
          }
        }
      },
      "v2GetOrgBalancesResponse": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "example": "USD",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used."
          },
          "aggregatedFiatValue": {
            "type": "string",
            "example": "100.00",
            "description": "The aggregated fiat value of the organization's balances"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultBalance"
            }
          }
        },
        "required": [
          "currencyCode"
        ]
      },
      "v2GetPolicyRuleResponse": {
        "type": "object",
        "properties": {
          "policyRule": {
            "$ref": "#/components/schemas/v2PolicyRule"
          }
        }
      },
      "v2GetSubscriptionResponse": {
        "type": "object",
        "properties": {
          "subscription": {
            "$ref": "#/components/schemas/v2Subscription"
          }
        }
      },
      "v2GetVaultBalancesResponse": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "example": "USD",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used."
          },
          "aggregatedFiatValue": {
            "type": "string",
            "example": "100.00",
            "description": "The aggregated fiat value of the vault's balances"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletBalance"
            }
          }
        },
        "required": [
          "currencyCode"
        ]
      },
      "v2GetVaultResponse": {
        "type": "object",
        "properties": {
          "vault": {
            "$ref": "#/components/schemas/v2Vault"
          }
        }
      },
      "v2GetWalletBalancesResponse": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "example": "USD",
            "description": "The currency code to be used for the fiat value. When omitted, 'USD' will be used."
          },
          "aggregatedFiatValue": {
            "type": "string",
            "description": "The fiat value aggregated over the complete filtered result, not only the current page. Returns \"0\" when no balances match."
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Balance"
            }
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterResponse"
              },
              {
                "description": "Pagination metadata for the complete filtered result. Populated for paginated requests.",
                "readOnly": true
              }
            ]
          }
        },
        "required": [
          "currencyCode",
          "aggregatedFiatValue",
          "balances"
        ]
      },
      "v2GetWalletByIDResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2GetWalletLimitResponse": {
        "type": "object",
        "properties": {
          "walletLimit": {
            "$ref": "#/components/schemas/v2WalletLimit"
          }
        }
      },
      "v2GetWalletSequenceResponse": {
        "type": "object",
        "properties": {
          "sequence": {
            "type": "string",
            "format": "uint64",
            "example": "2",
            "description": "The wallets nonce/sequence"
          }
        }
      },
      "v2GetWebhookResponse": {
        "type": "object",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/v2Webhook"
          }
        }
      },
      "v2Individual": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "example": "Joe",
            "description": "The persons first name"
          },
          "lastName": {
            "type": "string",
            "example": "Bloggs",
            "description": "The persons last name"
          },
          "address": {
            "$ref": "#/components/schemas/commonv2Address"
          }
        },
        "required": [
          "firstName",
          "lastName"
        ]
      },
      "v2InternalApplyTransactionFreezeMutationResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalApproverCountResponse": {
        "type": "object",
        "properties": {
          "approverCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "v2InternalCountSweepConfigurationsByFeeWalletResponse": {
        "type": "object",
        "properties": {
          "sweepConfigurationCount": {
            "type": "integer",
            "format": "int64",
            "example": 1,
            "description": "The number of current sweep configurations using the wallet as their fee wallet",
            "readOnly": true
          }
        }
      },
      "v2InternalDecompileTransactionResponse": {
        "type": "object",
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/commonv2Asset"
          },
          "destinationAddress": {
            "type": "string"
          },
          "qty": {
            "type": "string"
          },
          "feeQtyLimit": {
            "type": "string"
          },
          "sequence": {
            "type": "string",
            "format": "uint64"
          },
          "transactionType": {
            "type": "string"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "originAddress": {
            "type": "string"
          }
        }
      },
      "v2InternalEnsureObservedAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2EnsuredObservedAsset"
            }
          }
        }
      },
      "v2InternalEstimateNetworkFeeResponse": {
        "type": "object",
        "properties": {
          "feeEstimate": {
            "$ref": "#/components/schemas/v2FeeEstimate"
          }
        }
      },
      "v2InternalEstimateTransferFeeResponse": {
        "type": "object",
        "properties": {
          "feeEstimate": {
            "$ref": "#/components/schemas/v2FeeEstimate"
          }
        }
      },
      "v2InternalFreezeTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalGetAddressesResponse": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "v2InternalGetAssetResponse": {
        "type": "object",
        "properties": {
          "asset": {
            "$ref": "#/components/schemas/commonv2Asset"
          }
        }
      },
      "v2InternalGetBackupStrategyResponse": {
        "type": "object",
        "properties": {
          "strategy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BackupStrategy"
              },
              {
                "description": "The requested backup strategy"
              }
            ]
          }
        }
      },
      "v2InternalGetBlockchainResponse": {
        "type": "object",
        "properties": {
          "blockchain": {
            "$ref": "#/components/schemas/v2BlockchainInfo"
          }
        }
      },
      "v2InternalGetComplianceInfoResponse": {
        "type": "object",
        "properties": {
          "counterparty": {
            "$ref": "#/components/schemas/v2Counterparty"
          },
          "address": {
            "$ref": "#/components/schemas/counterpartyv2Address"
          }
        }
      },
      "v2InternalGetCurrencyResponse": {
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/v2Currency"
          }
        }
      },
      "v2InternalGetDeviceResponse": {
        "type": "object",
        "properties": {
          "device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Device"
              },
              {
                "description": "The device"
              }
            ]
          }
        },
        "required": [
          "device"
        ]
      },
      "v2InternalGetNativeOwnershipResponse": {
        "type": "object",
        "properties": {
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2NativeOwnershipState"
              },
              {
                "example": "NATIVE_OWNERSHIP_STATE_READY",
                "description": "Ownership read state. Use snapshot only when READY and snapshot.reconciled is true.",
                "readOnly": true
              }
            ]
          },
          "snapshot": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2NativeOwnershipSnapshot"
              },
              {
                "description": "Native ownership snapshot populated only when state is READY.",
                "readOnly": true
              }
            ]
          },
          "readAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-06-10T11:34:00Z",
            "description": "Time at which the service assembled this response.",
            "readOnly": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-06-10T11:35:00Z",
            "description": "Time after which callers must discard or re-read this response according to state.",
            "readOnly": true
          }
        }
      },
      "v2InternalGetOrgBalancesResponse": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string"
          },
          "aggregatedFiatValue": {
            "type": "string"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultBalance"
            }
          }
        }
      },
      "v2InternalGetOrganizationResponse": {
        "type": "object",
        "properties": {
          "organization": {
            "$ref": "#/components/schemas/accountv2Organization"
          }
        }
      },
      "v2InternalGetRateResponse": {
        "type": "object",
        "properties": {
          "rate": {
            "type": "string"
          }
        }
      },
      "v2InternalGetSelfCredentialPermissionsResponse": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "example": [
              "vault:read:org:id=ce4918bf-a199-4ce2-85a3-d0d296855384:*"
            ],
            "items": {
              "type": "string"
            },
            "description": "The permissions granted to the calling credential"
          },
          "hash": {
            "type": "string",
            "example": "v1:sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
            "description": "Versioned hash of the returned permissions (algorithm prefix included). Callers must verify this matches the hash in their token before trusting the permissions."
          }
        },
        "required": [
          "permissions",
          "hash"
        ]
      },
      "v2InternalGetTotalWithdrawnResponse": {
        "type": "object",
        "properties": {
          "totalWithdrawn": {
            "type": "string"
          }
        }
      },
      "v2InternalGetTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalGetTravelRuleConnectionStateResponse": {
        "type": "object",
        "properties": {
          "connected": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/v2TravelRuleConnectionStatus"
          },
          "vaspDidPresent": {
            "type": "boolean"
          }
        }
      },
      "v2InternalGetWalletBalancesResponse": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string"
          },
          "aggregatedFiatValue": {
            "type": "string"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Balance"
            }
          }
        },
        "required": [
          "currencyCode"
        ]
      },
      "v2InternalGetWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2InternalIngestTravelRuleWebhookResponse": {
        "type": "object",
        "properties": {
          "outcome": {
            "$ref": "#/components/schemas/v2TravelRuleWebhookIngestOutcome"
          }
        }
      },
      "v2InternalListApprovalSummariesResponse": {
        "type": "object",
        "properties": {
          "approvalSummaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/approvalv2ApprovalSummary"
            }
          }
        },
        "required": [
          "approvalSummaries"
        ]
      },
      "v2InternalListAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/commonv2Asset"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/v2FilterResponse"
          }
        }
      },
      "v2InternalListBlockchainsResponse": {
        "type": "object",
        "properties": {
          "blockchains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2BlockchainInfo"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/v2FilterResponse"
          }
        }
      },
      "v2InternalListCurrenciesResponse": {
        "type": "object",
        "properties": {
          "currencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Currency"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/v2FilterResponse"
          }
        }
      },
      "v2InternalListDevicesResponse": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Device"
            }
          }
        }
      },
      "v2InternalListVaultsResponse": {
        "type": "object",
        "properties": {
          "vaults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Vault"
            }
          }
        }
      },
      "v2InternalListWalletsResponse": {
        "type": "object",
        "properties": {
          "wallets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vaultv2Wallet"
            }
          }
        }
      },
      "v2InternalLookupAddressesResponse": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/counterpartyv2Address"
            }
          }
        }
      },
      "v2InternalLookupWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2InternalPublishDeviceNotificationResponse": {
        "type": "object",
        "properties": {
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "v2InternalPublishInterestNotificationResponse": {
        "type": "object"
      },
      "v2InternalResolveAssetsResponse": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2ResolvedAsset"
            }
          }
        }
      },
      "v2InternalStreamWalletsResponse": {
        "type": "object",
        "properties": {
          "wallets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletMetadata"
            }
          }
        }
      },
      "v2InternalSubmitAMMCreateResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitAMMDepositResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitAMMWithdrawResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitAccountSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitClawbackResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitOfferCancelResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitOfferCreateResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitSignerListSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSubmitTrustSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalSweepTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalUnfreezeTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalUpdateFrozenAmountResponse": {
        "type": "object"
      },
      "v2InternalValidateS3AccessResponse": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": "string"
          }
        }
      },
      "v2InternalWeb3SignResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2InternalWeb3TransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2IsWalletOwnerResponse": {
        "type": "object"
      },
      "v2KeyAlgorithm": {
        "type": "string",
        "enum": [
          "SECP256K1",
          "ED25519"
        ]
      },
      "v2Keystore": {
        "type": "string",
        "enum": [
          "HSM",
          "MPC"
        ]
      },
      "v2LimitRule": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/v2AmountCondition"
          }
        },
        "required": [
          "amount"
        ]
      },
      "v2LimitType": {
        "type": "string",
        "enum": [
          "PER_TX",
          "CONSTANT",
          "ROLLING_DURATION"
        ]
      },
      "v2ListAddressesResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/counterpartyv2Address"
            }
          }
        }
      },
      "v2ListApprovalDefaultsForPolicyResponse": {
        "type": "object",
        "properties": {
          "approvalDefaults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2ApprovalDefaultResource"
            }
          }
        }
      },
      "v2ListCounterpartiesRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000,
            "description": "The number of results to return per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: name, type, created_at, updated_at."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2CounterpartyFilter"
              },
              {
                "description": "Optional counterparty filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "Treasury",
            "description": "Case-insensitive search over counterparty ID, name, description, and counterparty details."
          }
        }
      },
      "v2ListCounterpartiesResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "counterparties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Counterparty"
            }
          }
        }
      },
      "v2ListGlobalAddressesRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000,
            "description": "The number of results to return per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "address": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The on-chain address to search for"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: address, name, status, active, created_at, updated_at."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AddressFilter"
              },
              {
                "description": "Optional address filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "Treasury",
            "description": "Case-insensitive search over address ID, on-chain address, name, and description."
          }
        }
      },
      "v2ListGlobalAddressesResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/counterpartyv2Address"
            }
          }
        }
      },
      "v2ListGlobalTagsResponse": {
        "type": "object",
        "properties": {
          "walletTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletTag"
            }
          },
          "vaultTags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultTag"
            }
          }
        }
      },
      "v2ListGlobalVaultTagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultTag"
            }
          }
        }
      },
      "v2ListGlobalWalletLimitsRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000,
            "description": "The number of results to return per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: asset_symbol, blockchain, limit_type, status, active, created_at, updated_at."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletLimitFilter"
              },
              {
                "description": "Optional wallet-limit filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "limit",
            "description": "Case-insensitive search over wallet limit ID, vault ID, wallet ID, and asset symbol."
          }
        }
      },
      "v2ListGlobalWalletLimitsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "walletLimits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletLimit"
            }
          }
        }
      },
      "v2ListGlobalWalletsRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000,
            "description": "The number of results to return per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM",
                "description": "The blockchain of the wallet"
              }
            ]
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Correlation ID for tracking various actions on the wallet"
          },
          "address": {
            "type": "string",
            "example": "0x1234567890abcdef1234567890abcdef12345678",
            "description": "The wallet address to filter by"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: name, address, blockchain, status, created_at, updated_at."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletFilter"
              },
              {
                "description": "Optional wallet filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "Case-insensitive search over wallet ID, name, address, alias, external ID, and correlation ID."
          }
        }
      },
      "v2ListGlobalWalletsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "wallets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vaultv2Wallet"
            }
          }
        }
      },
      "v2ListPolicyRulesResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "policyRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2PolicyRule"
            }
          }
        }
      },
      "v2ListSubscriptionsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Subscription"
            }
          }
        }
      },
      "v2ListSweepInstanceTransactionsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2Transaction"
            }
          }
        }
      },
      "v2ListTransactionsRequest": {
        "type": "object",
        "properties": {
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TransactionFilter"
              },
              {
                "description": "Optional filters: status, type, blockchain, asset_symbol, created_at range, updated_at range, qty range, origin, destination, transaction_id, transaction_hash, external_id, correlation_id. origin and destination match Address, wallet/address ID, or CounterpartyID; deprecated origin_address and destination_address match Address only. Each sub-filter is AND-ed."
              }
            ]
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: created_at, updated_at, amount, status."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "Case-insensitive free-text search over transaction ID, transaction hash, external ID, correlation ID, asset symbol, origin address, and destination address."
          }
        }
      },
      "v2ListTransactionsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2Transaction"
            }
          }
        }
      },
      "v2ListVaultTagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2VaultTag"
            }
          }
        }
      },
      "v2ListVaultWalletsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "wallets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/vaultv2Wallet"
            }
          }
        }
      },
      "v2ListVaultsRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000,
            "description": "The number of results to return per page (default 50, max 1000)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Correlation ID for tracking various actions on the vault"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: name, created_at, updated_at."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2VaultFilter"
              },
              {
                "description": "Optional vault filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "Treasury",
            "description": "Case-insensitive search over vault ID, name, description, external ID, and correlation ID."
          }
        }
      },
      "v2ListVaultsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "vaults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Vault"
            }
          }
        }
      },
      "v2ListWalletLimitsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "walletLimits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletLimit"
            }
          }
        }
      },
      "v2ListWalletTagsInVaultResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletTag"
            }
          }
        }
      },
      "v2ListWalletTagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2WalletTag"
            }
          }
        }
      },
      "v2ListWalletTransactionsResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2Transaction"
            }
          }
        }
      },
      "v2ListWebhooksRequest": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 100,
            "description": "The number of results to return per page (default 50, max 100)"
          },
          "pageToken": {
            "type": "string",
            "example": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=",
            "description": "The token to retrieve the next page of results"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2FilterRequest"
              },
              {
                "description": "Pagination and sorting. Sortable fields: name, endpoint, created_at, updated_at, last_success, last_failure."
              }
            ]
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WebhookFilter"
              },
              {
                "description": "Optional webhook filters. Each populated sub-filter is AND-ed."
              }
            ]
          },
          "search": {
            "type": "string",
            "example": "transactions",
            "description": "Case-insensitive search over webhook ID, name, description, and endpoint."
          }
        }
      },
      "v2ListWebhooksResponse": {
        "type": "object",
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/v2FilterResponse"
          },
          "webhooks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Webhook"
            }
          }
        }
      },
      "v2MPCAlgorithm": {
        "type": "string",
        "enum": [
          "MPC_ALGORITHM_DKLS19",
          "MPC_ALGORITHM_PDKLS23"
        ]
      },
      "v2Matcher": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2MatcherType"
              },
              {
                "description": "Type of the matcher. ALL_COUNTERPARTIES accepts no `value` or `values` and matches only destinations resolved to a counterparty; omitting destination matchers leaves the destination unconstrained."
              }
            ]
          },
          "value": {
            "type": "string",
            "description": "Comma seperated list of matcher values."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Matcher values."
          }
        },
        "required": [
          "type"
        ]
      },
      "v2MatcherType": {
        "type": "string",
        "enum": [
          "USER",
          "API_CREDENTIAL",
          "COUNTERPARTY",
          "TRANSACTION_TYPE",
          "SIGN_FOR",
          "COUNTERPARTY_ID",
          "ADDRESS_ID",
          "WALLET_ID",
          "CHAIN_ID",
          "ALL_COUNTERPARTIES"
        ]
      },
      "v2Membership": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "deviceId": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "quorumId": {
            "type": "string"
          },
          "quorumName": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "publicKey": {
            "type": "string"
          },
          "playerId": {
            "type": "integer",
            "format": "int64"
          },
          "state": {
            "$ref": "#/components/schemas/v2MembershipState"
          }
        },
        "required": [
          "id",
          "deviceId",
          "organizationId",
          "quorumId",
          "quorumName",
          "createdBy",
          "createdAt",
          "updatedAt",
          "publicKey",
          "playerId",
          "state"
        ]
      },
      "v2MembershipState": {
        "type": "string",
        "enum": [
          "MEMBERSHIP_STATE_CREATED",
          "MEMBERSHIP_STATE_PENDING",
          "MEMBERSHIP_STATE_CONFIRMED",
          "MEMBERSHIP_STATE_REJECTED",
          "MEMBERSHIP_STATE_FAILED",
          "MEMBERSHIP_STATE_SUPER",
          "MEMBERSHIP_STATE_INITIAL"
        ]
      },
      "v2Metadata": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Uniswap",
            "description": "The name of the DApp"
          },
          "description": {
            "type": "string",
            "example": "Uniswap Interface",
            "description": "A description of the DApp"
          },
          "url": {
            "type": "string",
            "example": "https://app.uniswap.org",
            "description": "The URL of the DApp"
          },
          "icons": {
            "type": "array",
            "example": [
              "https://app.uniswap.org/favicon.ico"
            ],
            "items": {
              "type": "string"
            },
            "description": "The DApp icons"
          }
        },
        "required": [
          "name",
          "description",
          "url",
          "icons"
        ]
      },
      "v2NativeOwnershipSnapshot": {
        "type": "object",
        "properties": {
          "assetId": {
            "type": "string",
            "example": "XRP",
            "description": "Registry asset ID for the native asset on the requested blockchain.",
            "readOnly": true
          },
          "customerOwnedQuantity": {
            "type": "string",
            "example": "10.5",
            "description": "Total customer-owned native quantity before subtracting customer-frozen amounts.",
            "readOnly": true
          },
          "customerFrozenQuantity": {
            "type": "string",
            "example": "1.25",
            "description": "Customer-owned native quantity reserved for in-flight transactions.",
            "readOnly": true
          },
          "customerSpendableQuantity": {
            "type": "string",
            "example": "9.25",
            "description": "Customer-owned native quantity available for sweep decisions after subtracting frozen amounts.",
            "readOnly": true
          },
          "palisadeFeeCreditQuantity": {
            "type": "string",
            "example": "0.5",
            "description": "Service-owned native fee credit held in the wallet for network fee funding.",
            "readOnly": true
          },
          "consumedFeeQuantity": {
            "type": "string",
            "example": "0.01",
            "description": "Cumulative service-owned fee credit consumed by network fees in the current ledger epoch.",
            "readOnly": true
          },
          "chainReserveQuantity": {
            "type": "string",
            "example": "0",
            "description": "Chain-specific reserve quantity that must remain on-chain.",
            "readOnly": true
          },
          "onChainQuantity": {
            "type": "string",
            "example": "10.75",
            "description": "Current on-chain native quantity tracked for this wallet and native asset.",
            "readOnly": true
          },
          "ownershipTotalQuantity": {
            "type": "string",
            "example": "10.75",
            "description": "Service-computed total ownership quantity, including unattributed ownership, still expected on-chain.",
            "readOnly": true
          },
          "discrepancyQuantity": {
            "type": "string",
            "example": "0",
            "description": "Service-computed difference between on-chain quantity and ownership total quantity.",
            "readOnly": true
          },
          "reconciled": {
            "type": "boolean",
            "example": true,
            "description": "Whether discrepancy_quantity is numerically zero after decimal normalization.",
            "readOnly": true
          },
          "snapshotId": {
            "type": "string",
            "example": "native-own-01HZY8W8Y5Q5D3M7XQ5R0A9K4E",
            "description": "Opaque identifier for this assembled ownership and on-chain snapshot.",
            "readOnly": true
          },
          "ledgerEpochId": {
            "type": "string",
            "example": "epoch-2026-06-10T11:00:00Z",
            "description": "Opaque identifier for the ledger epoch used by cumulative fields.",
            "readOnly": true
          },
          "ledgerStartedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-06-10T11:00:00Z",
            "description": "Start time of the ledger epoch used by cumulative fields.",
            "readOnly": true
          },
          "ledgerEpochSequence": {
            "type": "integer",
            "format": "uint64",
            "example": 42,
            "description": "Monotonically increasing ledger epoch sequence for the request tuple.",
            "readOnly": true
          },
          "unattributedQuantity": {
            "type": "string",
            "example": "0.25",
            "description": "Positive native quantity not represented by another ownership bucket.",
            "readOnly": true
          }
        }
      },
      "v2NativeOwnershipState": {
        "type": "string",
        "enum": [
          "NATIVE_OWNERSHIP_STATE_READY",
          "NATIVE_OWNERSHIP_STATE_INGESTING",
          "NATIVE_OWNERSHIP_STATE_UNSUPPORTED",
          "NATIVE_OWNERSHIP_STATE_STALE"
        ]
      },
      "v2Notification": {
        "type": "object",
        "properties": {
          "alert": {
            "$ref": "#/components/schemas/v2Alert"
          },
          "event": {
            "$ref": "#/components/schemas/v2Event"
          },
          "data": {
            "type": "string",
            "format": "byte"
          }
        }
      },
      "v2NumericFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "description": "Equals"
          },
          "notEq": {
            "type": "string",
            "description": "Not equal to"
          },
          "in": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Value is in the list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Value is not in the list"
          },
          "isNull": {
            "type": "boolean",
            "description": "Check if field is null"
          },
          "gt": {
            "type": "string",
            "description": "Greater than"
          },
          "gte": {
            "type": "string",
            "description": "Greater than or equal to"
          },
          "lt": {
            "type": "string",
            "description": "Less than"
          },
          "lte": {
            "type": "string",
            "description": "Less than or equal to"
          }
        }
      },
      "v2OrganizationSettings": {
        "type": "object",
        "properties": {
          "organizationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2OrganizationType"
              },
              {
                "example": "CUSTODIAL",
                "description": "The organization type"
              }
            ]
          },
          "enabledComplianceIntegrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2ComplianceIntegration"
            },
            "description": "Deprecated compatibility input for legacy organization compliance. Retained for existing clients; do not use for new configuration."
          },
          "enabledKeystores": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Keystore"
            }
          },
          "region": {
            "type": "string",
            "example": "France",
            "description": "The region in which the organization data is stored"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Whether the organization is enabled"
          },
          "logo": {
            "type": "string"
          },
          "legalName": {
            "type": "string",
            "example": "Palisade Financial",
            "description": "The full legal name of the organization"
          },
          "vaspName": {
            "type": "string",
            "example": "Palisade Financial",
            "description": "Deprecated compatibility input for the organization VASP name. Configure customer Travel Rule VASP identity through the organization's Travel Rule connection."
          },
          "vaspDid": {
            "type": "string",
            "example": "did:example:123456789abcdefghi",
            "description": "Deprecated compatibility input for the organization VASP DID. Configure customer Travel Rule VASP identity through the organization's Travel Rule connection."
          },
          "allowRawSigning": {
            "type": "boolean",
            "example": false,
            "description": "Whether the organization can create raw signed transactions (PALISADE_RAW). Defaults based on organization_type: false for CUSTODIAL, true for NON_CUSTODIAL."
          },
          "allowNonVettedAssets": {
            "type": "boolean",
            "example": false,
            "description": "Whether the organization can transact with non-vetted assets. Defaults based on organization_type: false for CUSTODIAL, true for NON_CUSTODIAL."
          },
          "allowConnections": {
            "type": "boolean",
            "example": false,
            "description": "Whether the organization can use WalletConnect/Web3 connections (WEB3_RAW, WEB3_SIGN). Defaults based on organization_type: false for CUSTODIAL, true for NON_CUSTODIAL."
          },
          "allowFreeze": {
            "type": "boolean",
            "example": true,
            "description": "Whether Palisade can freeze/unfreeze transactions. Defaults based on organization_type: true for CUSTODIAL, false for NON_CUSTODIAL."
          }
        },
        "required": [
          "organizationType",
          "enabledKeystores",
          "region",
          "enabled",
          "legalName"
        ]
      },
      "v2OrganizationType": {
        "type": "string",
        "enum": [
          "CUSTODIAL",
          "NON_CUSTODIAL"
        ]
      },
      "v2PasskeyTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2PendingSession": {
        "type": "object",
        "properties": {
          "session": {
            "$ref": "#/components/schemas/v2Session"
          },
          "membership": {
            "$ref": "#/components/schemas/v2Membership"
          }
        }
      },
      "v2PendingSessionResponse": {
        "type": "object",
        "properties": {
          "pending": {
            "$ref": "#/components/schemas/v2PendingSession"
          }
        }
      },
      "v2PolicyRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The policy rule ID",
            "readOnly": true
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID the rule applies to"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The original creator ID. Null or absent when unknown for a projected legacy approval default; required for ordinary rules.",
            "readOnly": true
          },
          "trigger": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2RuleTrigger"
              },
              {
                "example": "OUTBOUND_INITIATED",
                "description": "The transaction event the rule applies to. Approval defaults use OUTBOUND_INITIATED."
              }
            ]
          },
          "matchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Matcher"
            }
          },
          "assetId": {
            "type": "string",
            "example": "5:0xbehbehfb:USDC",
            "description": "The asset ID the rule applies to. Unset means any asset (wildcard), which is legal only without an amount condition."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PolicyRuleStatus"
              },
              {
                "example": "RULE_ENABLED",
                "description": "The policy rule status",
                "readOnly": true
              }
            ]
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Whether the rule is active",
            "readOnly": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The original creation time. Null or absent when unknown for a projected legacy approval default; required for ordinary rules.",
            "readOnly": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the policy rule was updated",
            "readOnly": true
          },
          "definition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PolicyRuleDefinition"
              },
              {
                "readOnly": true
              }
            ]
          },
          "scope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PolicyRuleScope"
              },
              {
                "example": "WALLET",
                "description": "The owner of this resource: WALLET for ordinary rules and wallet defaults, ORGANIZATION for a read-only organization default projected into this wallet.",
                "readOnly": true
              }
            ]
          }
        },
        "required": [
          "vaultId",
          "walletId",
          "trigger"
        ]
      },
      "v2PolicyRuleDefinition": {
        "type": "object",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "allOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2PolicyRuleType"
                      },
                      {
                        "description": "The rule kind"
                      }
                    ]
                  },
                  {
                    "enum": [
                      "LIMIT"
                    ]
                  }
                ],
                "example": "LIMIT"
              },
              "limit": {
                "$ref": "#/components/schemas/v2LimitRule"
              }
            },
            "required": [
              "kind",
              "limit"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "allOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2PolicyRuleType"
                      },
                      {
                        "description": "The rule kind"
                      }
                    ]
                  },
                  {
                    "enum": [
                      "TRAVEL_RULE"
                    ]
                  }
                ],
                "example": "TRAVEL_RULE"
              },
              "travelRule": {
                "$ref": "#/components/schemas/v2TravelRule"
              }
            },
            "required": [
              "kind",
              "travelRule"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "allOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/v2PolicyRuleType"
                      },
                      {
                        "description": "The rule kind"
                      }
                    ]
                  },
                  {
                    "enum": [
                      "APPROVAL"
                    ]
                  }
                ],
                "example": "APPROVAL"
              },
              "approval": {
                "$ref": "#/components/schemas/v2ApprovalRule"
              }
            },
            "required": [
              "kind",
              "approval"
            ],
            "additionalProperties": false
          }
        ]
      },
      "v2PolicyRuleFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by policy rule ID"
              }
            ]
          },
          "vaultId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault ID. For ListPolicyRules, the top-level vault_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "walletId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet ID. For ListPolicyRules, the top-level wallet_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "trigger": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2RuleTrigger"
              },
              {
                "description": "Filter by rule trigger"
              }
            ]
          },
          "assetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset ID"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PolicyRuleStatus"
              },
              {
                "description": "Filter by policy rule status"
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BoolFilter"
              },
              {
                "description": "Filter by active status"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          },
          "kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PolicyRuleType"
              },
              {
                "description": "Filter by rule kind"
              }
            ]
          }
        }
      },
      "v2PolicyRuleScope": {
        "type": "string",
        "enum": [
          "WALLET",
          "ORGANIZATION"
        ]
      },
      "v2PolicyRuleStatus": {
        "type": "string",
        "enum": [
          "RULE_CREATED",
          "RULE_ENABLED",
          "RULE_REJECTED",
          "RULE_DELETED",
          "RULE_ERROR",
          "RULE_CREATION_APPROVAL_PENDING",
          "RULE_CREATION_APPROVAL_COMPLETE",
          "RULE_DELETION_APPROVAL_PENDING",
          "RULE_DELETION_APPROVAL_COMPLETE"
        ]
      },
      "v2PolicyRuleType": {
        "type": "string",
        "enum": [
          "LIMIT",
          "APPROVAL",
          "TRAVEL_RULE"
        ]
      },
      "v2PolicyRuleUpdate": {
        "type": "object",
        "properties": {
          "rule": {
            "$ref": "#/components/schemas/v2PolicyRule"
          }
        }
      },
      "v2PolicyRuleUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2PolicyRuleUpdate"
          }
        }
      },
      "v2Problem": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "reason": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "retryability": {
            "$ref": "#/components/schemas/v2Retryability"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "v2Proposer": {
        "type": "object",
        "properties": {
          "publicKey": {
            "type": "string",
            "example": "497f83bc461e9ec55be08592cecea561ccd713781954d313976feb2d7d93293a",
            "description": "The public key of the DApp"
          },
          "metadata": {
            "$ref": "#/components/schemas/v2Metadata"
          }
        },
        "required": [
          "publicKey"
        ]
      },
      "v2PublicTransactionHistoryApproval": {
        "type": "object",
        "properties": {
          "requiredCount": {
            "type": "string",
            "format": "uint64",
            "example": "2",
            "description": "Required approval count as an exact decimal string."
          },
          "approvedCount": {
            "type": "string",
            "format": "uint64",
            "example": "1",
            "description": "Approved count at this event as an exact decimal string."
          }
        },
        "required": [
          "requiredCount",
          "approvedCount"
        ]
      },
      "v2PublicTransactionHistoryChain": {
        "type": "object",
        "properties": {
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM",
                "description": "Blockchain for this observation."
              }
            ]
          },
          "walletId": {
            "type": "string",
            "example": "7d8720b8-fab9-4715-8077-767a5f20fa31",
            "description": "Authorized wallet associated with this observation."
          },
          "hash": {
            "type": "string",
            "example": "0xabc123",
            "description": "Chain transaction hash or stable observation reference."
          }
        },
        "required": [
          "blockchain",
          "walletId",
          "hash"
        ]
      },
      "v2PublicTransactionHistoryEntry": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "type": "integer",
            "format": "int64",
            "example": 1,
            "description": "Public history schema version. V1 remains 1 independently of the internal record version."
          },
          "id": {
            "type": "string",
            "example": "event-001",
            "description": "Stable opaque event identifier. Compare or store it; its internal format is not a public contract."
          },
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicTransactionHistoryEntryHistoryEvent"
              },
              {
                "example": "HISTORY_EVENT_APPROVAL_VOTE",
                "description": "Business event family. HISTORY_EVENT_OTHER is informational and does not imply approval, success or failure."
              }
            ]
          },
          "stage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicTransactionHistoryEntryStage"
              },
              {
                "example": "STAGE_APPROVAL",
                "description": "Business phase, independent of which service performs it. STAGE_OTHER accompanies an unrepresented record."
              }
            ]
          },
          "outcome": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicTransactionHistoryEntryOutcome"
              },
              {
                "example": "OUTCOME_APPROVED",
                "description": "Business outcome. OUTCOME_OTHER makes no claim about enforcement or transaction status."
              }
            ]
          },
          "actorId": {
            "type": "string",
            "example": "actor-001",
            "description": "Relevant stable actor identity when known, never a display name."
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-09-24T10:00:00Z",
            "description": "Reliable source-business time when known. Absence does not substitute the archive time."
          },
          "recordedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-09-24T10:00:01Z",
            "description": "Time the archive first accepted this entry, when archived.",
            "readOnly": true
          },
          "recordedSequence": {
            "type": "string",
            "format": "uint64",
            "example": "9223372036854775807",
            "description": "Archive acceptance order as an exact decimal string. Zero denotes an entry not yet archived.",
            "readOnly": true
          },
          "approval": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PublicTransactionHistoryApproval"
              },
              {
                "description": "Approval progress at this event, when applicable."
              }
            ]
          },
          "chain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PublicTransactionHistoryChain"
              },
              {
                "description": "Relevant chain observation within the transaction's authorized wallet scope."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionStatus"
              },
              {
                "example": "SIGNED",
                "description": "Lifecycle status observed by this event. Informational OTHER entries do not supply a status."
              }
            ]
          }
        },
        "required": [
          "schemaVersion",
          "id",
          "event",
          "stage",
          "outcome"
        ]
      },
      "v2PublicTransactionOriginContext": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2PublicTransactionOriginContextType"
              },
              {
                "example": "TYPE_API",
                "description": "Business origin of the transaction. TYPE_OTHER represents an origin outside the V1 vocabulary."
              }
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "v2PublicTransactionOriginContextType": {
        "type": "string",
        "enum": [
          "TYPE_OTHER",
          "TYPE_API",
          "TYPE_WALLET_CONNECT",
          "TYPE_SWEEP",
          "TYPE_CHAIN"
        ]
      },
      "v2Quorum": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "operationTimeoutSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "sessionTimeoutSeconds": {
            "type": "integer",
            "format": "int64"
          },
          "requiredSigners": {
            "type": "integer",
            "format": "int64"
          },
          "state": {
            "$ref": "#/components/schemas/v2QuorumState"
          },
          "type": {
            "$ref": "#/components/schemas/v2QuorumType"
          },
          "backupStrategyId": {
            "type": "string"
          },
          "modificationRequestJsonBase64": {
            "type": "string"
          },
          "mpcAlgorithm": {
            "$ref": "#/components/schemas/v2MPCAlgorithm"
          }
        },
        "required": [
          "id",
          "organizationId",
          "createdBy",
          "createdAt",
          "updatedAt",
          "deviceIds",
          "name",
          "operationTimeoutSeconds",
          "sessionTimeoutSeconds",
          "requiredSigners",
          "state",
          "type"
        ]
      },
      "v2QuorumState": {
        "type": "string",
        "enum": [
          "QUORUM_STATE_CREATED",
          "QUORUM_STATE_PENDING",
          "QUORUM_STATE_CONFIRMED",
          "QUORUM_STATE_REJECTED",
          "QUORUM_STATE_FAILED",
          "QUORUM_STATE_SUPER",
          "QUORUM_STATE_INITIAL",
          "QUORUM_STATE_MODIFY_MEMBERSHIP",
          "QUORUM_STATE_MODIFY_SHARDS",
          "QUORUM_STATE_FINALIZE_MODIFICATION"
        ]
      },
      "v2QuorumStateUpdate": {
        "type": "object",
        "properties": {
          "quorum": {
            "$ref": "#/components/schemas/v2Quorum"
          }
        }
      },
      "v2QuorumStateUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2QuorumStateUpdate"
          }
        }
      },
      "v2QuorumType": {
        "type": "string",
        "enum": [
          "QUORUM_TYPE_MOBILE",
          "QUORUM_TYPE_CLOUD",
          "QUORUM_TYPE_MIXED"
        ]
      },
      "v2RPCEndpoint": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://mainnet.infura.io/v3/YOUR-PROJECT-ID",
            "description": "The RPC endpoint URL"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "example": 0,
            "description": "Priority for endpoint selection (lower number = higher priority)"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2RPCEndpointType"
              },
              {
                "description": "The type of RPC endpoint"
              }
            ]
          }
        },
        "required": [
          "url",
          "type"
        ]
      },
      "v2RPCEndpointType": {
        "type": "string",
        "enum": [
          "RPC_ENDPOINT_TYPE_HTTP",
          "RPC_ENDPOINT_TYPE_WEBSOCKET"
        ]
      },
      "v2RawTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2RecoveryPublicKey": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the recovery public key"
          },
          "publicKey": {
            "type": "string",
            "description": "The DER formatted, hex encoded RSA public key (stored/returned format is always hex)"
          },
          "createdBy": {
            "type": "string",
            "description": "User who created the recovery public key"
          }
        }
      },
      "v2ResolutionStatus": {
        "type": "string",
        "enum": [
          "RESOLUTION_STATUS_REGISTERED",
          "RESOLUTION_STATUS_DYNAMIC",
          "RESOLUTION_STATUS_NOT_FOUND"
        ]
      },
      "v2ResolvedAsset": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/v2ResolutionStatus"
          },
          "asset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/commonv2Asset"
              },
              {
                "description": "Resolved asset. Absent when status is NOT_FOUND."
              }
            ]
          }
        }
      },
      "v2Retryability": {
        "type": "string",
        "enum": [
          "RETRYABLE",
          "NOT_RETRYABLE"
        ]
      },
      "v2Role": {
        "type": "string",
        "enum": [
          "ADMINISTRATOR",
          "APPROVER",
          "AUDITOR",
          "OWNER",
          "PROPOSER",
          "VIEWER"
        ]
      },
      "v2RuleTrigger": {
        "type": "string",
        "enum": [
          "OUTBOUND_INITIATED",
          "INBOUND_DETECTED"
        ]
      },
      "v2S3Config": {
        "type": "object",
        "properties": {
          "bucket": {
            "type": "string",
            "description": "S3 bucket name"
          },
          "region": {
            "type": "string",
            "description": "S3 region"
          },
          "assumeRoleArn": {
            "type": "string",
            "description": "ARN of the role to assume for S3 access"
          },
          "externalId": {
            "type": "string",
            "description": "External ID for role assumption (optional, for enhanced security)"
          },
          "kmsKeyArn": {
            "type": "string",
            "description": "KMS key ARN for server-side encryption (optional)"
          }
        }
      },
      "v2Session": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "membershipId": {
            "type": "string"
          },
          "sessionSetId": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "$ref": "#/components/schemas/v2SessionType"
          },
          "accepted": {
            "type": "boolean"
          },
          "payloadId": {
            "type": "string"
          },
          "devicePayload": {
            "type": "string"
          },
          "notificationPayload": {
            "type": "string",
            "format": "byte"
          },
          "notificationTrigger": {
            "type": "string"
          },
          "notificationBody": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/v2SessionState"
          }
        },
        "required": [
          "id",
          "organizationId",
          "membershipId",
          "sessionSetId",
          "createdBy",
          "createdAt",
          "updatedAt",
          "expiresAt",
          "type",
          "accepted",
          "payloadId",
          "devicePayload",
          "notificationPayload",
          "notificationTrigger",
          "notificationBody",
          "state"
        ]
      },
      "v2SessionState": {
        "type": "string",
        "enum": [
          "SESSION_STATE_CREATED",
          "SESSION_STATE_PENDING",
          "SESSION_STATE_SUBMITTED",
          "SESSION_STATE_COMPLETED",
          "SESSION_STATE_TIMED_OUT",
          "SESSION_STATE_FAILED",
          "SESSION_STATE_PROCESSED",
          "SESSION_STATE_SUPER",
          "SESSION_STATE_INITIAL"
        ]
      },
      "v2SessionType": {
        "type": "string",
        "enum": [
          "SESSION_TYPE_QUORUM_CREATION",
          "SESSION_TYPE_KEY_CREATION",
          "SESSION_TYPE_TX_SIGN_POOL",
          "SESSION_TYPE_TX_SIGN_REQUEST",
          "SESSION_TYPE_QUORUM_JOIN",
          "SESSION_TYPE_QUORUM_MODIFY",
          "SESSION_TYPE_QUORUM_MODIFY_FINALIZE"
        ]
      },
      "v2SignPlaintextResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SigningPayload": {
        "type": "object",
        "properties": {
          "inputIndex": {
            "type": "integer",
            "format": "int64",
            "example": 0,
            "description": "The index of the UTXO input this signing payload corresponds to"
          },
          "signingHash": {
            "type": "string",
            "example": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671",
            "description": "The signing hash for this UTXO input"
          },
          "signature": {
            "type": "string",
            "example": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43",
            "description": "The signature for this UTXO input"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID that owns this signing payload. If omitted, signers use the parent transaction wallet. Native multi-wallet transactions must set this on every signing payload."
          }
        },
        "required": [
          "inputIndex",
          "signingHash"
        ]
      },
      "v2SortOrder": {
        "type": "string",
        "enum": [
          "SORT_ORDER_ASC",
          "SORT_ORDER_DESC"
        ]
      },
      "v2SourceType": {
        "type": "string",
        "enum": [
          "TRANSACTION",
          "DEVICE",
          "API_CREDENTIAL",
          "ALLOW_LIST_ENTRY",
          "POLICY",
          "USER",
          "APPROVAL_GROUP",
          "ADDRESS",
          "TRANSACTION_GATE",
          "POLICY_RULE"
        ]
      },
      "v2Standard": {
        "type": "string",
        "enum": [
          "NATIVE",
          "ERC20",
          "ISSUED_CURRENCY",
          "ERC721",
          "SPL",
          "CUSTOM"
        ]
      },
      "v2StringFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "description": "Exact match"
          },
          "notEq": {
            "type": "string",
            "description": "Not equal to"
          },
          "contains": {
            "type": "string",
            "description": "Contains substring (case-insensitive)"
          },
          "startsWith": {
            "type": "string",
            "description": "Starts with prefix (case-insensitive)"
          },
          "endsWith": {
            "type": "string",
            "description": "Ends with suffix (case-insensitive)"
          },
          "in": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Value is in the list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Value is not in the list"
          },
          "isNull": {
            "type": "boolean",
            "description": "Check if field is null"
          }
        }
      },
      "v2SubmitAMMCreateResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitAMMDepositResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitAMMWithdrawResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitAccountSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitClawbackResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitOfferCancelResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitOfferCreateResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitSignerListSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2SubmitTrustSetResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2Subscription": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The webhook subscription ID"
          },
          "webhookId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The webhook ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this webhook"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the webhook was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this webhook"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the webhook was updated"
          },
          "config": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SubscriptionConfig"
              },
              {
                "example": {
                  "domain": "TRANSACTION",
                  "scope": "ORG"
                },
                "description": "The configuration for the webhook subscription"
              }
            ]
          }
        },
        "required": [
          "id",
          "webhookId",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "config"
        ]
      },
      "v2SubscriptionConfig": {
        "type": "object",
        "properties": {
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SubscriptionDomain"
              },
              {
                "example": "TRANSACTION",
                "description": "The domain to subscribe to"
              }
            ]
          },
          "scope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SubscriptionScope"
              },
              {
                "example": "ORG",
                "description": "The scope to subscribe to"
              }
            ]
          }
        },
        "required": [
          "domain",
          "scope"
        ]
      },
      "v2SubscriptionDomain": {
        "type": "string",
        "enum": [
          "TRANSACTION",
          "WALLET",
          "APPROVAL"
        ]
      },
      "v2SubscriptionFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by subscription ID"
              }
            ]
          },
          "webhookId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by webhook ID. For ListSubscriptions, the top-level webhook_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "domain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SubscriptionDomain"
              },
              {
                "description": "Filter by subscription domain"
              }
            ]
          },
          "scope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2SubscriptionScope"
              },
              {
                "description": "Filter by subscription scope"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2SubscriptionScope": {
        "type": "string",
        "enum": [
          "ORG"
        ]
      },
      "v2SyncWalletBalancesResponse": {
        "type": "object"
      },
      "v2TimestampFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "Exact timestamp match"
          },
          "notEq": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "Not equal to timestamp"
          },
          "before": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "Before this timestamp"
          },
          "after": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "After this timestamp"
          },
          "gte": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "Greater than or equal to timestamp"
          },
          "lte": {
            "type": "string",
            "format": "date-time",
            "example": "2024-08-08T10:00:00Z",
            "description": "Less than or equal to timestamp"
          },
          "between": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimestampFilterTimestampRange"
              },
              {
                "description": "Between two timestamps (inclusive)"
              }
            ]
          },
          "isNull": {
            "type": "boolean",
            "description": "Check if field is null"
          },
          "relativeDays": {
            "type": "integer",
            "format": "int32",
            "example": -7,
            "description": "Relative days from now (negative for past, positive for future)"
          }
        }
      },
      "v2TransactionActionFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionAction"
              },
              {
                "description": "Exact transaction type match"
              }
            ]
          },
          "notEq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionAction"
              },
              {
                "description": "Exclude this transaction type"
              }
            ]
          },
          "in": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2TransactionAction"
            },
            "description": "Transaction type is in this list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2TransactionAction"
            },
            "description": "Transaction type is not in this list"
          }
        }
      },
      "v2TransactionFilter": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TransactionStatusFilter"
              },
              {
                "description": "Filter by transaction status using enum names such as CONFIRMED or FAILED"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter by blockchain using common.v2.Blockchain enum names such as ETHEREUM or BITCOIN"
              }
            ]
          },
          "assetSymbol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset symbol (e.g. ETH, BTC, USDC)"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp; supports before/after, between, relative_days"
              }
            ]
          },
          "qty": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2NumericFilter"
              },
              {
                "description": "Filter by transferred quantity as an arbitrary precision numeric string; supports eq/not_eq/in/not_in/gt/gte/lt/lte."
              }
            ]
          },
          "originAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Deprecated: use origin. Filters the origin Address only; exact/list operators are case-sensitive and pattern operators are case-insensitive."
              }
            ]
          },
          "destinationAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Deprecated: use destination. Filters the destination Address only; exact/list operators are case-sensitive and pattern operators are case-insensitive."
              }
            ]
          },
          "transactionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Search by Palisade transaction ID (UUID). Supports eq/in/contains."
              }
            ]
          },
          "transactionHash": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Search by on-chain transaction hash (case-insensitive). Supports eq/in only."
              }
            ]
          },
          "externalId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Search by customer-assigned external transaction ID. Supports eq/in/contains."
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp; supports before/after, between, relative_days. Mirrors the updated_at sort field."
              }
            ]
          },
          "correlationId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by correlation ID. Supports eq/in/contains."
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TransactionActionFilter"
              },
              {
                "description": "Filter by transaction type using enum names such as PALISADE_TRANSFER or WEB3_SIGN"
              }
            ]
          },
          "origin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by origin Address, wallet/address ID, or CounterpartyID. eq/in match any value; not_eq/not_in require no value to match; contains/starts_with/ends_with apply only to Address; is_null applies to the side as a whole."
              }
            ]
          },
          "destination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by destination Address, wallet/address ID, or CounterpartyID. eq/in match any value; not_eq/not_in require no value to match; contains/starts_with/ends_with apply only to Address; is_null applies to the side as a whole."
              }
            ]
          }
        }
      },
      "v2TransactionStatusFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionStatus"
              },
              {
                "description": "Exact transaction status match"
              }
            ]
          },
          "notEq": {
            "allOf": [
              {
                "$ref": "#/components/schemas/transactionsv2TransactionStatus"
              },
              {
                "description": "Exclude this transaction status"
              }
            ]
          },
          "in": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2TransactionStatus"
            },
            "description": "Transaction status is in this list"
          },
          "notIn": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transactionsv2TransactionStatus"
            },
            "description": "Transaction status is not in this list"
          }
        }
      },
      "v2TransactionStatusUpdate": {
        "type": "object",
        "properties": {
          "tx": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          },
          "policyEngineV2": {
            "type": "boolean"
          }
        }
      },
      "v2TransactionUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2TransactionStatusUpdate"
          }
        }
      },
      "v2TransferTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2TravelRule": {
        "type": "object",
        "properties": {
          "travelRuleReleaseLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TravelRuleReleaseLevel"
              },
              {
                "example": "TRAVEL_RULE_RELEASE_LEVEL_ACCEPTED",
                "description": "Outbound TRAVEL_RULE rules only. Exchange milestone that releases the withdrawal: NEW (message exists at the provider), SENT (dispatched to the beneficiary VASP), ACK (beneficiary confirmed the address), or ACCEPTED (beneficiary accepted)."
              }
            ]
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AmountCondition"
              },
              {
                "description": "Optional single-transaction amount threshold. Omit it to require Travel Rule information for every matching transfer."
              }
            ]
          }
        }
      },
      "v2TravelRuleConnectionStatus": {
        "type": "string",
        "enum": [
          "DISCONNECTED",
          "WEBHOOK_PENDING",
          "CONNECTED",
          "CREDENTIALS_INVALID"
        ]
      },
      "v2TravelRuleReleaseLevel": {
        "type": "string",
        "enum": [
          "TRAVEL_RULE_RELEASE_LEVEL_NEW",
          "TRAVEL_RULE_RELEASE_LEVEL_SENT",
          "TRAVEL_RULE_RELEASE_LEVEL_ACK",
          "TRAVEL_RULE_RELEASE_LEVEL_ACCEPTED"
        ]
      },
      "v2TravelRuleWebhookIngestOutcome": {
        "type": "string",
        "enum": [
          "TRAVEL_RULE_WEBHOOK_INGEST_OUTCOME_UNKNOWN_TOKEN",
          "TRAVEL_RULE_WEBHOOK_INGEST_OUTCOME_SIGNATURE_INVALID",
          "TRAVEL_RULE_WEBHOOK_INGEST_OUTCOME_MALFORMED",
          "TRAVEL_RULE_WEBHOOK_INGEST_OUTCOME_UNMATCHED",
          "TRAVEL_RULE_WEBHOOK_INGEST_OUTCOME_ACCEPTED"
        ]
      },
      "v2TriggerSweepConfigurationResponse": {
        "type": "object"
      },
      "v2UnfreezeTransactionResponse": {
        "type": "object",
        "properties": {
          "transaction": {
            "$ref": "#/components/schemas/transactionsv2Transaction"
          }
        }
      },
      "v2UpdateCounterpartyResponse": {
        "type": "object",
        "properties": {
          "counterparty": {
            "$ref": "#/components/schemas/v2Counterparty"
          }
        }
      },
      "v2UpdateVaultResponse": {
        "type": "object",
        "properties": {
          "vault": {
            "$ref": "#/components/schemas/v2Vault"
          }
        }
      },
      "v2UpdateWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2UpdateWalletSettingsResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID"
          },
          "firstName": {
            "type": "string",
            "example": "Joe",
            "description": "The users first name"
          },
          "lastName": {
            "type": "string",
            "example": "Bloggs",
            "description": "The users last name"
          },
          "email": {
            "type": "string",
            "example": "jbloggs@gmail.com",
            "description": "The users email"
          },
          "roles": {
            "type": "array",
            "example": [
              "ADMINISTRATOR"
            ],
            "items": {
              "$ref": "#/components/schemas/v2Role"
            },
            "description": "The roles that the user has"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this user"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the user was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this user"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the user was updated"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2UserStatus"
              },
              {
                "example": "ACTIVATED",
                "description": "The user status"
              }
            ]
          },
          "blockedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who blocked this user"
          },
          "blockedReason": {
            "type": "string",
            "example": "Lost device",
            "description": "The reason the user was blocked"
          },
          "authLoginCount": {
            "type": "integer",
            "format": "int32",
            "example": 10,
            "description": "The number of time the user has logged in"
          },
          "authLastLogin": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the user last logged in"
          },
          "authLastPasswordReset": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the user last reset their password"
          },
          "authLastIp": {
            "type": "string",
            "example": "192.168.0.1",
            "description": "The last IP address from which this user logged in"
          },
          "picture": {
            "type": "string",
            "example": "https://s.gravatar.com/avatar/621f114992de896519becb13976039cd?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fka.png",
            "description": "A link to the users gravatar image"
          },
          "proposedFirstName": {
            "type": "string",
            "example": "Joe",
            "description": "The proposed first name for the user"
          },
          "proposedUpdatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who proposed the update"
          },
          "proposedLastName": {
            "type": "string",
            "example": "Bloggs",
            "description": "The proposed last name for the user"
          },
          "proposedRoles": {
            "type": "array",
            "example": [
              "ADMINISTRATOR"
            ],
            "items": {
              "$ref": "#/components/schemas/v2Role"
            },
            "description": "The proposed roles for the user"
          },
          "proposedBlockedReason": {
            "type": "string",
            "example": "Lost device",
            "description": "The proposed reason the user was blocked"
          },
          "lastInvitationSentAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the last invitation was sent to this user",
            "readOnly": true
          }
        },
        "required": [
          "id",
          "firstName",
          "lastName",
          "email",
          "roles",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "status"
        ]
      },
      "v2UserList": {
        "type": "object",
        "properties": {
          "userIds": {
            "type": "array",
            "example": [
              "ce4918bf-a199-4ce2-85a3-d0d296855384"
            ],
            "items": {
              "type": "string"
            },
            "description": "The approver user IDs"
          }
        },
        "required": [
          "userIds"
        ]
      },
      "v2UserStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "INVITED",
          "ACTIVATED",
          "BLOCKED",
          "REJECTED",
          "DELETED",
          "ERROR",
          "CREATION_APPROVAL_PENDING",
          "CREATION_APPROVAL_COMPLETE",
          "BLOCK_APPROVAL_PENDING",
          "BLOCK_APPROVAL_COMPLETE",
          "UNBLOCK_APPROVAL_PENDING",
          "UNBLOCK_APPROVAL_COMPLETE",
          "MODIFICATION_APPROVAL_PENDING",
          "MODIFICATION_APPROVAL_COMPLETE"
        ]
      },
      "v2UserUpdate": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/v2User"
          }
        }
      },
      "v2UserUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2UserUpdate"
          }
        }
      },
      "v2Vault": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID that created the vault"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the vault was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the vault was updated"
          },
          "name": {
            "type": "string",
            "example": "Treasury vault",
            "description": "The name of the vault"
          },
          "description": {
            "type": "string",
            "example": "A vault used by the treasury department",
            "description": "The description of the vault"
          },
          "externalId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "External ID of this vault, unique to the organization"
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Correlation ID for the vault"
          }
        },
        "required": [
          "id",
          "createdBy",
          "createdAt",
          "updatedAt",
          "name"
        ]
      },
      "v2VaultBalance": {
        "type": "object",
        "properties": {
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID that the connection is associated with"
          },
          "aggregatedFiatValue": {
            "type": "string",
            "example": "100.00",
            "description": "The aggregated fiat value of the vault"
          }
        }
      },
      "v2VaultFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault ID"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault name"
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault description"
              }
            ]
          },
          "externalId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by external ID"
              }
            ]
          },
          "correlationId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by correlation ID"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2VaultTag": {
        "type": "object",
        "properties": {
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "tags": {
            "type": "array",
            "example": [
              "Treasury vault"
            ],
            "items": {
              "type": "string"
            },
            "description": "The tags belonging to the vault"
          }
        },
        "required": [
          "vaultId"
        ]
      },
      "v2VaultWalletIdentifier": {
        "type": "object",
        "properties": {
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the wallet"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the vault"
          }
        },
        "required": [
          "walletId",
          "vaultId"
        ]
      },
      "v2WalletBalance": {
        "type": "object",
        "properties": {
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID that the connection is associated with"
          },
          "aggregatedFiatValue": {
            "type": "string",
            "example": "100.00",
            "description": "The aggregated fiat value of the wallet"
          }
        }
      },
      "v2WalletBalanceFilter": {
        "type": "object",
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetSourceFilter"
              },
              {
                "description": "Filter wallet balances by registry asset source"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter wallet balances by blockchain"
              }
            ]
          },
          "contract": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter wallet balances by contract address. Repeated in values are OR-ed. Use is_null=true for native assets."
              }
            ]
          },
          "symbol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter wallet balances by asset symbol"
              }
            ]
          },
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2AssetStandardFilter"
              },
              {
                "description": "Filter wallet balances by asset standard"
              }
            ]
          }
        }
      },
      "v2WalletDefaultMode": {
        "type": "string",
        "enum": [
          "REQUIRE",
          "NONE"
        ]
      },
      "v2WalletFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet ID"
              }
            ]
          },
          "vaultId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault ID. For ListVaultWallets, the top-level vault_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet name"
              }
            ]
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet address"
              }
            ]
          },
          "alias": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet alias"
              }
            ]
          },
          "externalId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by external ID"
              }
            ]
          },
          "correlationId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by correlation ID"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter by blockchain"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/vaultv2WalletStatus"
              },
              {
                "description": "Filter by wallet status"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2WalletLimit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet limit policy ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The creator ID"
          },
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "limitQty": {
            "type": "string",
            "example": "200.00",
            "description": "The limit quantity"
          },
          "duration": {
            "type": "string",
            "example": "200s",
            "description": "The limit duration"
          },
          "limitType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2LimitType"
              },
              {
                "example": "PER_TX",
                "description": "The limit type"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the wallet limit policy was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the wallet limit policy was updated"
          },
          "asset": {
            "$ref": "#/components/schemas/commonv2Asset"
          },
          "matchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/v2Matcher"
            }
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletLimitStatus"
              },
              {
                "example": "PENDING",
                "description": "The wallet limit status"
              }
            ]
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Whether the limit is active"
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM",
                "description": "The blockchain associated with this policy"
              }
            ]
          }
        },
        "required": [
          "id",
          "createdBy",
          "walletId",
          "vaultId",
          "limitType",
          "createdAt",
          "updatedAt",
          "asset",
          "status",
          "active"
        ]
      },
      "v2WalletLimitFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet limit ID"
              }
            ]
          },
          "vaultId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by vault ID. For ListWalletLimits, the top-level vault_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "walletId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by wallet ID. For ListWalletLimits, the top-level wallet_id still scopes the request; if both are supplied, both predicates are AND-ed."
              }
            ]
          },
          "assetSymbol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by asset symbol"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BlockchainFilter"
              },
              {
                "description": "Filter by blockchain"
              }
            ]
          },
          "limitType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2LimitType"
              },
              {
                "description": "Filter by limit type"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletLimitStatus"
              },
              {
                "description": "Filter by wallet limit status"
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2BoolFilter"
              },
              {
                "description": "Filter by active status"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          }
        }
      },
      "v2WalletLimitStatus": {
        "type": "string",
        "enum": [
          "LIMIT_CREATED",
          "LIMIT_ENABLED",
          "LIMIT_REJECTED",
          "LIMIT_DELETED",
          "LIMIT_ERROR",
          "LIMIT_CREATION_APPROVAL_PENDING",
          "LIMIT_CREATION_APPROVAL_COMPLETE",
          "LIMIT_DELETION_APPROVAL_PENDING",
          "LIMIT_DELETION_APPROVAL_COMPLETE"
        ]
      },
      "v2WalletLimitUpdate": {
        "type": "object",
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/v2WalletLimit"
          }
        }
      },
      "v2WalletLimitUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2WalletLimitUpdate"
          }
        }
      },
      "v2WalletMetadata": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "vaultId": {
            "type": "string"
          },
          "keyId": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "blockchain": {
            "$ref": "#/components/schemas/v2Blockchain"
          },
          "alias": {
            "type": "string"
          }
        },
        "required": [
          "blockchain"
        ]
      },
      "v2WalletSettings": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "example": "true",
            "description": "Whether the wallet is enabled or not"
          },
          "rawSigningEnabled": {
            "type": "boolean",
            "example": "true",
            "description": "Whether raw signing is enabled for the wallet"
          },
          "sweepingEnabled": {
            "type": "boolean",
            "example": "true",
            "description": "Whether sweeping is enabled for the wallet"
          },
          "defaultFreezeEnabled": {
            "type": "boolean",
            "example": "true",
            "description": "Whether to freeze inbound transactions by default"
          }
        },
        "required": [
          "enabled",
          "rawSigningEnabled",
          "sweepingEnabled",
          "defaultFreezeEnabled"
        ]
      },
      "v2WalletStatusUpdate": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "v2WalletTag": {
        "type": "object",
        "properties": {
          "walletId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "tags": {
            "type": "array",
            "example": [
              "Issuing wallet"
            ],
            "items": {
              "type": "string"
            },
            "description": "The tags belonging to the wallet"
          }
        },
        "required": [
          "walletId",
          "vaultId"
        ]
      },
      "v2WalletType": {
        "type": "string",
        "enum": [
          "WALLET_TYPE_BLOCKCHAIN"
        ]
      },
      "v2WalletUpdatedResponse": {
        "type": "object",
        "properties": {
          "update": {
            "$ref": "#/components/schemas/v2WalletStatusUpdate"
          }
        }
      },
      "v2Webhook": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The webhook ID."
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who created this webhook"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the webhook was created"
          },
          "updatedBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The ID of the user who updated this webhook"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the webhook was updated"
          },
          "name": {
            "type": "string",
            "example": "Palisade Transactions",
            "description": "The webhook name"
          },
          "description": {
            "type": "string",
            "example": "A webhook used to monitor transactions",
            "description": "The webhook description"
          },
          "endpoint": {
            "type": "string",
            "example": "https://palisade.co/webhook",
            "description": "The webhook endpoint to send data to"
          },
          "subscriptionCount": {
            "type": "integer",
            "format": "int32",
            "example": 5,
            "description": "The number of subscriptions associated with the webhook"
          },
          "publicKey": {
            "type": "string",
            "example": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpHiEkdd/ba5dU4sNCgsWrMOE6fLakHywl0OgF5aVfxkiqNh22oybRAREev7jvnwH4jqitHx79KGi6CMwiJjmaw==",
            "description": "The public key used to verify the webhook signature"
          },
          "lastSuccess": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The timestamp of the last successful webhook delivery"
          },
          "lastFailure": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The timestamp of the last failed webhook delivery"
          },
          "successCount": {
            "type": "integer",
            "format": "int32",
            "example": 42,
            "description": "The number of successful webhook deliveries in the last hour"
          },
          "failureCount": {
            "type": "integer",
            "format": "int32",
            "example": 3,
            "description": "The number of failed webhook deliveries in the last hour"
          }
        },
        "required": [
          "id",
          "createdBy",
          "createdAt",
          "updatedBy",
          "updatedAt",
          "name",
          "endpoint",
          "subscriptionCount",
          "publicKey",
          "successCount",
          "failureCount"
        ]
      },
      "v2WebhookFilter": {
        "type": "object",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by webhook ID"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by webhook name"
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by webhook description"
              }
            ]
          },
          "endpoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2StringFilter"
              },
              {
                "description": "Filter by webhook endpoint"
              }
            ]
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by creation timestamp"
              }
            ]
          },
          "updatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-update timestamp"
              }
            ]
          },
          "lastSuccess": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-success timestamp"
              }
            ]
          },
          "lastFailure": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2TimestampFilter"
              },
              {
                "description": "Filter by last-failure timestamp"
              }
            ]
          }
        }
      },
      "v2XRPTransactionConfig": {
        "type": "object",
        "properties": {
          "sourceTag": {
            "type": "string",
            "example": "123456",
            "description": "The source tag for XRP transactions"
          },
          "destinationTag": {
            "type": "string",
            "example": "123456",
            "description": "The destination tag for XRP transactions"
          }
        }
      },
      "vaultv2GetWalletResponse": {
        "type": "object",
        "properties": {
          "wallet": {
            "$ref": "#/components/schemas/vaultv2Wallet"
          }
        }
      },
      "vaultv2Wallet": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The wallet ID"
          },
          "vaultId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The vault ID"
          },
          "quorumId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The quorum ID"
          },
          "createdBy": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "The user ID that created the wallet"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the wallet was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2022-03-29T10:22:22.420Z",
            "description": "The date and time the wallet was update"
          },
          "name": {
            "type": "string",
            "example": "USD Issuing wallet",
            "description": "The name of the wallet"
          },
          "description": {
            "type": "string",
            "example": "Main USD issuing account used internally",
            "description": "The description of the wallet"
          },
          "address": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The address of the wallet"
          },
          "publicKey": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The public key of the wallet"
          },
          "keystore": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Keystore"
              },
              {
                "example": "HSM",
                "description": "The type of the wallet"
              }
            ]
          },
          "blockchain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2Blockchain"
              },
              {
                "example": "ETHEREUM",
                "description": "The blockchain of the wallet"
              }
            ]
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletSettings"
              },
              {
                "description": "The settings of the wallet"
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/vaultv2WalletStatus"
              },
              {
                "example": "PROVISIONED",
                "description": "The wallet status"
              }
            ]
          },
          "reasons": {
            "type": "array",
            "example": [
              "MPC session timed out"
            ],
            "items": {
              "type": "string"
            },
            "description": "The reasons why the wallet may have failed to provision"
          },
          "alias": {
            "type": "string",
            "example": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
            "description": "The alias of the wallet"
          },
          "externalId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "External ID of this wallet, unique to the organization"
          },
          "correlationId": {
            "type": "string",
            "example": "ce4918bf-a199-4ce2-85a3-d0d296855384",
            "description": "Correlation ID for the wallet"
          },
          "keyAlgorithm": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2KeyAlgorithm"
              },
              {
                "example": "SEC256K1",
                "description": "The key algorithm of the wallet"
              }
            ]
          },
          "walletType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/v2WalletType"
              },
              {
                "example": "WALLET_TYPE_BLOCKCHAIN",
                "description": "The type of the wallet"
              }
            ]
          }
        },
        "required": [
          "id",
          "vaultId",
          "createdBy",
          "createdAt",
          "updatedAt",
          "name",
          "keystore",
          "settings",
          "status",
          "keyAlgorithm"
        ]
      },
      "vaultv2WalletStatus": {
        "type": "string",
        "enum": [
          "CREATED",
          "PROVISIONING",
          "PROVISIONED_WALLET",
          "PROVISIONING_POLICY",
          "PROVISIONING_COMPLIANCE",
          "PROVISIONED_COMPLIANCE",
          "PROVISIONED",
          "PROVISIONING_FAILED"
        ]
      },
      "xrpv2AMMDepositFlag": {
        "type": "string",
        "enum": [
          "DEPOSIT_LP_TOKEN",
          "DEPOSIT_SINGLE_ASSET",
          "DEPOSIT_TWO_ASSET",
          "DEPOSIT_ONE_ASSET_LP_TOKEN",
          "DEPOSIT_LIMIT_LP_TOKEN",
          "DEPOSIT_TWO_ASSET_IF_EMPTY"
        ]
      },
      "xrpv2AMMWithdrawFlag": {
        "type": "string",
        "enum": [
          "WITHDRAW_LP_TOKEN",
          "WITHDRAW_WITHDRAW_ALL",
          "WITHDRAW_ONE_ASSET_WITHDRAW_ALL",
          "WITHDRAW_SINGLE_ASSET",
          "WITHDRAW_TWO_ASSET",
          "WITHDRAW_ONE_ASSET_LP_TOKEN",
          "WITHDRAW_LIMIT_LP_TOKEN"
        ]
      },
      "xrpv2AccountSetFlag": {
        "type": "string",
        "enum": [
          "ACCOUNT_TXN_ID",
          "ALLOW_TRUSTLINE_CLAWBACK",
          "AUTHZ_NFTOKEN_MINTER",
          "DEFAULT_RIPPLE",
          "DEPOSIT_AUTH",
          "DISABLE_MASTER",
          "DISALLOW_INCOMING_CHECK",
          "DISALLOW_INCOMING_PAY_CHAN",
          "DISALLOW_INCOMING_TRUSTLINE",
          "DISALLOW_XRP",
          "GLOBAL_FREEZE",
          "NO_FREEZE",
          "REQUIRE_AUTH",
          "REQUIRE_DEST"
        ]
      },
      "xrpv2Asset": {
        "type": "object",
        "properties": {
          "asset": {
            "type": "string",
            "example": "USD",
            "description": "The asset symbol"
          },
          "issuer": {
            "type": "string",
            "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "description": "The contract/issuing address. Optional if asset is XRP."
          }
        },
        "required": [
          "asset"
        ]
      },
      "xrpv2CurrencyAmount": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "155.672",
            "description": "The quantity of the asset"
          },
          "asset": {
            "type": "string",
            "example": "USD",
            "description": "The asset symbol"
          },
          "issuer": {
            "type": "string",
            "example": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "description": "The contract/issuing address. Optional if asset is XRP."
          }
        },
        "required": [
          "value",
          "asset"
        ]
      },
      "xrpv2OfferCreateFlags": {
        "type": "string",
        "enum": [
          "PASSIVE",
          "IMMEDIATE_OR_CANCEL",
          "FILL_OR_KILL",
          "SELL"
        ]
      },
      "xrpv2SignerEntry": {
        "type": "object",
        "properties": {
          "account": {
            "type": "string"
          },
          "signerWeight": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "xrpv2TrustSetFlag": {
        "type": "string",
        "enum": [
          "SETF_AUTH",
          "SET_NORIPPLE",
          "UNSET_NORIPPLE",
          "SET_FREEZE",
          "UNSET_FREEZE",
          "SET_DEEP_FREEZE",
          "UNSET_DEEP_FREEZE"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://api.sandbox.palisade.co",
      "description": "Sandbox server (uses TESTNET data, private keys and accounts)"
    },
    {
      "url": "https://api.palisade.co",
      "description": "Palisade server (uses MAINNET data, private keys and accounts)"
    }
  ]
}