{
    "openapi": "3.0.3",
    "info": {
        "title": "Openfort API",
        "version": "1.0.0",
        "description": "Complete Openfort API references and guides can be found at: https://www.openfort.io/docs",
        "termsOfService": "https://www.openfort.io",
        "contact": {
            "name": "Openfort Team",
            "email": "founders@openfort.xyz",
            "url": "https://www.openfort.io"
        }
    },
    "servers": [
        {
            "url": "https://api.openfort.io",
            "description": "Openfort API Server"
        }
    ],
    "security": [
        {
            "apiKeyCookie": [],
            "auth_token": [],
            "projectKey": []
        }
    ],
    "tags": [],
    "paths": {
        "/v1/transaction_intents": {
            "get": {
                "operationId": "GetTransactionIntents",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIntentListResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "object": "list",
                                            "url": "/v1/transaction_intents",
                                            "start": 0,
                                            "end": 1,
                                            "total": 1,
                                            "data": [
                                                {
                                                    "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                                    "createdAt": 1689869074,
                                                    "object": "transactionIntent",
                                                    "finalCost": "0.42",
                                                    "details": {
                                                        "userOperationHash": "0x25d3...005c",
                                                        "userOperation": {
                                                            "sender": "0x48930Cd730652bf0B18Ef8c80cD0Fa1Cc72A233E",
                                                            "nonce": "0x2",
                                                            "initCode": "0x",
                                                            "callData": "0xb61d...0000",
                                                            "callGasLimit": "0x27863",
                                                            "verificationGasLimit": "0x16001",
                                                            "preVerificationGas": "0xb818",
                                                            "maxFeePerGas": "0x62590091",
                                                            "maxPriorityFeePerGas": "0x62590091",
                                                            "paymasterAndData": "0x3210...b51c",
                                                            "signature": "0x6202...3d1b"
                                                        }
                                                    },
                                                    "chainId": 80002,
                                                    "abstractionType": "accountAbstractionV6",
                                                    "updatedAt": 1689869074,
                                                    "policy": {
                                                        "id": "pol_..."
                                                    },
                                                    "player": {
                                                        "id": "pla_..."
                                                    },
                                                    "account": {
                                                        "id": "acc_..."
                                                    },
                                                    "response": {
                                                        "createdAt": 1689869074,
                                                        "logs": [
                                                            {
                                                                "removed": false,
                                                                "transactionIndex": 0,
                                                                "blockNumber": 44904492,
                                                                "transactionHash": "0x25d3...005c",
                                                                "address": "0x5FF1...2789",
                                                                "topics": [
                                                                    "0xbb47...f972"
                                                                ],
                                                                "data": "0x",
                                                                "logIndex": 0,
                                                                "blockHash": "0x8a69...6d59"
                                                            }
                                                        ],
                                                        "blockNumber": 8789286,
                                                        "transactionHash": "0x25d3...005c",
                                                        "to": "0x0576...1B57",
                                                        "gasUsed": "336730",
                                                        "status": 1
                                                    },
                                                    "interactions": [
                                                        {
                                                            "functionName": "mint",
                                                            "contract": "con_...",
                                                            "functionArgs": [
                                                                "0x63B7...484f"
                                                            ]
                                                        }
                                                    ],
                                                    "transitions": [
                                                        {
                                                            "fromStatus": "none",
                                                            "toStatus": "new",
                                                            "at": 1750154762
                                                        },
                                                        {
                                                            "fromStatus": "new",
                                                            "toStatus": "sent",
                                                            "at": 1750154762
                                                        },
                                                        {
                                                            "fromStatus": "sent",
                                                            "toStatus": "indexed",
                                                            "at": 1750154762
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    }
                },
                "description": "Returns a list of TransactionIntents.",
                "summary": "List transaction intents.",
                "tags": [
                    "TransactionIntents"
                ],
                "security": [
                    {
                        "sk": [
                            "transactions:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "Specifies the fields to expand in the response.",
                        "in": "query",
                        "name": "expand",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/TransactionIntentResponseExpandable"
                            }
                        }
                    },
                    {
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "in": "query",
                        "name": "chainId",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        },
                        "example": 80002
                    },
                    {
                        "description": "Filter by account ID or developer account (starts with acc_ or dac_ respectively).",
                        "in": "query",
                        "name": "account",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": [
                            "acc_dc981458-a653-4539-b120-a321915b2896"
                        ]
                    },
                    {
                        "description": "Filter by player ID (starts with pla_).",
                        "in": "query",
                        "name": "player",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": [
                            "pla_556166c9-77ad-4a39-aaf8-c432defa8a0f"
                        ]
                    },
                    {
                        "description": "Filter by successful (1) or failed (0) transaction intents.",
                        "in": "query",
                        "name": "status",
                        "required": false,
                        "schema": {
                            "format": "double",
                            "type": "number"
                        },
                        "example": 1
                    },
                    {
                        "description": "Filter by policy ID (starts with pol_).",
                        "in": "query",
                        "name": "policy",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": [
                            "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "CreateTransactionIntent",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIntentResponse"
                                },
                                "examples": {
                                    "Transaction for custodial account": {
                                        "value": {
                                            "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                            "createdAt": 1689869074,
                                            "object": "transactionIntent",
                                            "finalCost": "0.42",
                                            "details": {
                                                "userOperationHash": "0x25d3...005c",
                                                "userOperation": {
                                                    "sender": "0x48930Cd730652bf0B18Ef8c80cD0Fa1Cc72A233E",
                                                    "nonce": "0x2",
                                                    "initCode": "0x",
                                                    "callData": "0xb61d...0000",
                                                    "callGasLimit": "0x27863",
                                                    "verificationGasLimit": "0x16001",
                                                    "preVerificationGas": "0xb818",
                                                    "maxFeePerGas": "0x62590091",
                                                    "maxPriorityFeePerGas": "0x62590091",
                                                    "paymasterAndData": "0x3210...b51c",
                                                    "signature": "0x6202...3d1b"
                                                }
                                            },
                                            "chainId": 80002,
                                            "abstractionType": "accountAbstractionV6",
                                            "updatedAt": 1689869074,
                                            "policy": {
                                                "id": "pol_..."
                                            },
                                            "player": {
                                                "id": "pla_..."
                                            },
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "response": {
                                                "createdAt": 1689869074,
                                                "logs": [
                                                    {
                                                        "removed": false,
                                                        "transactionIndex": 0,
                                                        "blockNumber": 44904492,
                                                        "transactionHash": "0x25d3...005c",
                                                        "address": "0x5FF1...2789",
                                                        "topics": [
                                                            "0xbb47...f972"
                                                        ],
                                                        "data": "0x",
                                                        "logIndex": 0,
                                                        "blockHash": "0x8a69...6d59"
                                                    }
                                                ],
                                                "blockNumber": 8789286,
                                                "transactionHash": "0x25d3...005c",
                                                "to": "0x0576...1B57",
                                                "gasUsed": "336730",
                                                "status": 1
                                            },
                                            "interactions": [
                                                {
                                                    "functionName": "mint",
                                                    "contract": "con_...",
                                                    "functionArgs": [
                                                        "0x63B7...484f"
                                                    ]
                                                }
                                            ],
                                            "transitions": [
                                                {
                                                    "fromStatus": "none",
                                                    "toStatus": "new",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "new",
                                                    "toStatus": "sent",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "sent",
                                                    "toStatus": "indexed",
                                                    "at": 1750154762
                                                }
                                            ]
                                        }
                                    },
                                    "Transaction for non-custodial account": {
                                        "value": {
                                            "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                            "createdAt": 1689869074,
                                            "object": "transactionIntent",
                                            "details": {
                                                "userOperationHash": "0x25d3...005c",
                                                "userOperation": {
                                                    "sender": "0x814A...FB72",
                                                    "nonce": "0x0",
                                                    "initCode": "0x",
                                                    "callData": "0xb61d27f6000000000000000",
                                                    "callGasLimit": "0x2e84d",
                                                    "verificationGasLimit": "0x1bcef",
                                                    "maxFeePerGas": "0x62590091",
                                                    "maxPriorityFeePerGas": "0x62590091",
                                                    "paymasterAndData": "0x3210...391b",
                                                    "signature": "",
                                                    "preVerificationGas": "0xb80c"
                                                }
                                            },
                                            "chainId": 80002,
                                            "abstractionType": "accountAbstractionV6",
                                            "updatedAt": 1689869074,
                                            "policy": {
                                                "id": "pol_..."
                                            },
                                            "player": {
                                                "id": "pla_..."
                                            },
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "nextAction": {
                                                "type": "sign_with_wallet",
                                                "payload": {
                                                    "signableHash": "0x25d3...005c"
                                                }
                                            },
                                            "interactions": [
                                                {
                                                    "functionName": "mint",
                                                    "value": "100000000000000",
                                                    "contract": "0x0576...1B57",
                                                    "functionArgs": [
                                                        "0x63B7...484f"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "Optimistic Transaction for custodial account": {
                                        "value": {
                                            "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                            "createdAt": 1689869074,
                                            "object": "transactionIntent",
                                            "userOperationHash": "0x25d3...005c",
                                            "details": {
                                                "from": "0x70997970c51812dc3a010c7d01b50e0d17dc79c8",
                                                "to": "0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc",
                                                "gas": "0x5208",
                                                "maxFeePerGas": "0x3b9aca00",
                                                "maxPriorityFeePerGas": "0x3b9aca00",
                                                "nonce": "0x0",
                                                "data": "0x3c44...",
                                                "paymaster": "0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc",
                                                "paymasterInput": "0x3c44..."
                                            },
                                            "chainId": 300,
                                            "abstractionType": "zkSync",
                                            "updatedAt": 1689869074,
                                            "policy": {
                                                "id": "pol_..."
                                            },
                                            "player": {
                                                "id": "pla_..."
                                            },
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "interactions": [
                                                {
                                                    "functionName": "mint",
                                                    "contract": "con_...",
                                                    "functionArgs": [
                                                        "0x63B7...484f"
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Request has invalid parameters.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    }
                },
                "description": "Creates a TransactionIntent.\n\nA pending TransactionIntent has the `response` attribute as undefined.\n\nAfter the TransactionIntent is created and broadcasted to the blockchain, `response` will be populated with the transaction hash and a status (1 success, 0 fail).\n\nWhen using a non-custodial account, a `nextAction` attribute is returned with the `userOperationHash` that must be signed by the owner of the account.",
                "summary": "Create a transaction intent object.",
                "tags": [
                    "TransactionIntents"
                ],
                "security": [
                    {
                        "sk": [
                            "transactions:write"
                        ]
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "pk_access_token": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "in": "header",
                        "name": "X-Behalf-Of-Project",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateTransactionIntentRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/transaction_intents/{id}": {
            "get": {
                "operationId": "GetTransactionIntent",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIntentResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                            "createdAt": 1689869074,
                                            "object": "transactionIntent",
                                            "finalCost": "0.42",
                                            "details": {
                                                "userOperationHash": "0x25d3...005c",
                                                "userOperation": {
                                                    "sender": "0x48930Cd730652bf0B18Ef8c80cD0Fa1Cc72A233E",
                                                    "nonce": "0x2",
                                                    "initCode": "0x",
                                                    "callData": "0xb61d...0000",
                                                    "callGasLimit": "0x27863",
                                                    "verificationGasLimit": "0x16001",
                                                    "preVerificationGas": "0xb818",
                                                    "maxFeePerGas": "0x62590091",
                                                    "maxPriorityFeePerGas": "0x62590091",
                                                    "paymasterAndData": "0x3210...b51c",
                                                    "signature": "0x6202...3d1b"
                                                }
                                            },
                                            "chainId": 80002,
                                            "abstractionType": "accountAbstractionV6",
                                            "updatedAt": 1689869074,
                                            "policy": {
                                                "id": "pol_..."
                                            },
                                            "player": {
                                                "id": "pla_..."
                                            },
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "response": {
                                                "createdAt": 1689869074,
                                                "logs": [
                                                    {
                                                        "removed": false,
                                                        "transactionIndex": 0,
                                                        "blockNumber": 44904492,
                                                        "transactionHash": "0x25d3...005c",
                                                        "address": "0x5FF1...2789",
                                                        "topics": [
                                                            "0xbb47...f972"
                                                        ],
                                                        "data": "0x",
                                                        "logIndex": 0,
                                                        "blockHash": "0x8a69...6d59"
                                                    }
                                                ],
                                                "blockNumber": 8789286,
                                                "transactionHash": "0x25d3...005c",
                                                "to": "0x0576...1B57",
                                                "gasUsed": "336730",
                                                "status": 1
                                            },
                                            "interactions": [
                                                {
                                                    "functionName": "mint",
                                                    "contract": "con_...",
                                                    "functionArgs": [
                                                        "0x63B7...484f"
                                                    ]
                                                }
                                            ],
                                            "transitions": [
                                                {
                                                    "fromStatus": "none",
                                                    "toStatus": "new",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "new",
                                                    "toStatus": "sent",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "sent",
                                                    "toStatus": "indexed",
                                                    "at": 1750154762
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    }
                },
                "description": "Retrieves the details of a TransactionIntent that has previously been created.",
                "summary": "Get a transaction intent object.",
                "tags": [
                    "TransactionIntents"
                ],
                "security": [
                    {
                        "sk": [
                            "transactions:read"
                        ]
                    },
                    {
                        "user_project": []
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "pk_access_token": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique transaction intent ID (starts with tin_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "tin_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    {
                        "description": "Specifies the expandable fields.",
                        "in": "query",
                        "name": "expand",
                        "required": false,
                        "schema": {
                            "default": [],
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/TransactionIntentResponseExpandable"
                            }
                        },
                        "example": [
                            "players"
                        ]
                    }
                ]
            }
        },
        "/v1/transaction_intents/estimate_gas_cost": {
            "post": {
                "operationId": "EstimateTransactionIntentCost",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EstimateTransactionIntentGasResult"
                                },
                                "examples": {
                                    "Gas estimation": {
                                        "value": {
                                            "estimatedTXGas": "444793",
                                            "estimatedTXGasFee": "1162163748854053",
                                            "estimatedTXGasFeeUSD": "0.01",
                                            "gasPrice": "2612819331"
                                        }
                                    },
                                    "Gas estimation with token policy": {
                                        "value": {
                                            "estimatedTXGas": "444793",
                                            "estimatedTXGasFee": "1162163748854053",
                                            "estimatedTXGasFeeUSD": "0.01",
                                            "gasPrice": "2612819331",
                                            "estimatedTXGasFeeToken": "200"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Request has invalid parameters.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    }
                },
                "description": "Estimate the gas cost of broadcasting a TransactionIntent.\n\nThis is a simulation, it does not send the transaction on-chain.\n\nIf a Policy ID is used that includes payment of gas in ERC-20 tokens, an extra field `estimatedTXGasFeeToken` is returned with the estimated amount of tokens that will be used.",
                "summary": "Estimate gas cost of creating a transaction",
                "tags": [
                    "TransactionIntents"
                ],
                "security": [
                    {
                        "sk": [
                            "transactions:write"
                        ]
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "pk_access_token": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateTransactionIntentRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/transaction_intents/{id}/signature": {
            "post": {
                "operationId": "Signature",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionIntentResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "tin_c502d628-5bb3-42f2-b8f5-62ba4d71df3a",
                                            "createdAt": 1689869074,
                                            "object": "transactionIntent",
                                            "finalCost": "0.42",
                                            "details": {
                                                "userOperationHash": "0x25d3...005c",
                                                "userOperation": {
                                                    "sender": "0x48930Cd730652bf0B18Ef8c80cD0Fa1Cc72A233E",
                                                    "nonce": "0x2",
                                                    "initCode": "0x",
                                                    "callData": "0xb61d...0000",
                                                    "callGasLimit": "0x27863",
                                                    "verificationGasLimit": "0x16001",
                                                    "preVerificationGas": "0xb818",
                                                    "maxFeePerGas": "0x62590091",
                                                    "maxPriorityFeePerGas": "0x62590091",
                                                    "paymasterAndData": "0x3210...b51c",
                                                    "signature": "0x6202...3d1b"
                                                }
                                            },
                                            "chainId": 80002,
                                            "abstractionType": "accountAbstractionV6",
                                            "updatedAt": 1689869074,
                                            "policy": {
                                                "id": "pol_..."
                                            },
                                            "player": {
                                                "id": "pla_..."
                                            },
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "response": {
                                                "createdAt": 1689869074,
                                                "logs": [
                                                    {
                                                        "removed": false,
                                                        "transactionIndex": 0,
                                                        "blockNumber": 44904492,
                                                        "transactionHash": "0x25d3...005c",
                                                        "address": "0x5FF1...2789",
                                                        "topics": [
                                                            "0xbb47...f972"
                                                        ],
                                                        "data": "0x",
                                                        "logIndex": 0,
                                                        "blockHash": "0x8a69...6d59"
                                                    }
                                                ],
                                                "blockNumber": 8789286,
                                                "transactionHash": "0x25d3...005c",
                                                "to": "0x0576...1B57",
                                                "gasUsed": "336730",
                                                "status": 1
                                            },
                                            "interactions": [
                                                {
                                                    "functionName": "mint",
                                                    "contract": "con_...",
                                                    "functionArgs": [
                                                        "0x63B7...484f"
                                                    ]
                                                }
                                            ],
                                            "transitions": [
                                                {
                                                    "fromStatus": "none",
                                                    "toStatus": "new",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "new",
                                                    "toStatus": "sent",
                                                    "at": 1750154762
                                                },
                                                {
                                                    "fromStatus": "sent",
                                                    "toStatus": "indexed",
                                                    "at": 1750154762
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvalidRequestErrorResponse"
                                }
                            }
                        }
                    }
                },
                "description": "Broadcasts a signed TransactionIntent to the blockchain.\n\nUse this endpoint to send the signed `signableHash`. Openfort will then put it on-chain.",
                "summary": "Send a signed transaction signableHash.",
                "tags": [
                    "TransactionIntents"
                ],
                "security": [
                    {
                        "pk": []
                    },
                    {
                        "sk": [
                            "transactions:write"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique transaction intent ID (starts with tin_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "tin_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SignatureRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/solana/transactions": {
            "get": {
                "operationId": "getSolanaTransactionStatus",
                "responses": {
                    "200": {
                        "description": "Solana transaction found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SolanaTransactionStatusResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Exactly one of id or externalId must be provided."
                    },
                    "404": {
                        "description": "Solana transaction not found."
                    }
                },
                "description": "Get the status of a Solana transaction by either its internal id or the\ncaller-supplied externalId attached when the transaction was signed.\n\nExactly one of `id` or `externalId` must be provided. Lookups are scoped to\nthe authenticated project.",
                "summary": "Get Solana transaction status",
                "tags": [
                    "Solana Transactions"
                ],
                "security": [
                    {
                        "pk": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Internal Solana transaction ID (starts with `sol_`).",
                        "in": "query",
                        "name": "id",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "sol_f2b8b5f0-1f5c-4a7e-9b3a-1d2e3f4a5b6c"
                    },
                    {
                        "in": "query",
                        "name": "externalId",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/v1/sessions": {
            "get": {
                "operationId": "GetPlayerSessions",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SessionListResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "object": "list",
                                            "url": "/v1/sessions",
                                            "start": 0,
                                            "end": 1,
                                            "total": 1,
                                            "data": [
                                                {
                                                    "id": "ses_...",
                                                    "createdAt": 1689869074,
                                                    "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                                    "updatedAt": 1689869074,
                                                    "account": {
                                                        "id": "acc_..."
                                                    },
                                                    "isActive": true,
                                                    "validAfter": "1650000000",
                                                    "validUntil": "1700000000",
                                                    "whitelist": [],
                                                    "limit": 100,
                                                    "nextAction": {
                                                        "type": "sign_with_wallet",
                                                        "payload": {
                                                            "signableHash": "0x25d3...005c"
                                                        }
                                                    },
                                                    "transactionIntents": [
                                                        {
                                                            "id": "tin_..."
                                                        }
                                                    ],
                                                    "object": "session"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Returns a list of Sessions.\n\nReturns the latest 10 transaction intents for each session.",
                "summary": "List session keys of a player.",
                "tags": [
                    "Sessions"
                ],
                "security": [
                    {
                        "sk": [
                            "sessions:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "The player ID (starts with pla_)",
                        "in": "query",
                        "name": "player",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pla_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    {
                        "description": "Specifies the fields to expand in the response.",
                        "in": "query",
                        "name": "expand",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SessionResponseExpandable"
                            }
                        }
                    }
                ]
            },
            "post": {
                "operationId": "CreateSession",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SessionResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "ses_...",
                                            "createdAt": 1689869074,
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "updatedAt": 1689869074,
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "isActive": true,
                                            "validAfter": "1650000000",
                                            "validUntil": "1700000000",
                                            "whitelist": [],
                                            "limit": 100,
                                            "nextAction": {
                                                "type": "sign_with_wallet",
                                                "payload": {
                                                    "signableHash": "0x25d3...005c"
                                                }
                                            },
                                            "transactionIntents": [
                                                {
                                                    "id": "tin_..."
                                                }
                                            ],
                                            "object": "session"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "description": "Creates a Session.",
                "summary": "Create a session key.",
                "tags": [
                    "Sessions"
                ],
                "security": [
                    {
                        "sk": [
                            "sessions:write"
                        ]
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "pk_access_token": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "in": "header",
                        "name": "X-Behalf-Of-Project",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateSessionRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/sessions/revoke": {
            "post": {
                "operationId": "RevokeSession",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SessionResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "ses_...",
                                            "createdAt": 1689869074,
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "updatedAt": 1689869074,
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "isActive": true,
                                            "validAfter": "1650000000",
                                            "validUntil": "1700000000",
                                            "whitelist": [],
                                            "limit": 100,
                                            "nextAction": {
                                                "type": "sign_with_wallet",
                                                "payload": {
                                                    "signableHash": "0x25d3...005c"
                                                }
                                            },
                                            "transactionIntents": [
                                                {
                                                    "id": "tin_..."
                                                }
                                            ],
                                            "object": "session"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "summary": "Revoke the session session key.",
                "tags": [
                    "Sessions"
                ],
                "security": [
                    {
                        "sk": [
                            "sessions:write"
                        ]
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "pk_access_token": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "in": "header",
                        "name": "X-Behalf-Of-Project",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RevokeSessionRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/sessions/{id}/signature": {
            "post": {
                "operationId": "SignatureSession",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SessionResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "ses_...",
                                            "createdAt": 1689869074,
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "updatedAt": 1689869074,
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "isActive": true,
                                            "validAfter": "1650000000",
                                            "validUntil": "1700000000",
                                            "whitelist": [],
                                            "limit": 100,
                                            "nextAction": {
                                                "type": "sign_with_wallet",
                                                "payload": {
                                                    "signableHash": "0x25d3...005c"
                                                }
                                            },
                                            "transactionIntents": [
                                                {
                                                    "id": "tin_..."
                                                }
                                            ],
                                            "object": "session"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "summary": "Send signed userOperationHash to create session.",
                "tags": [
                    "Sessions"
                ],
                "security": [
                    {
                        "pk": []
                    },
                    {
                        "sk": [
                            "sessions:write"
                        ]
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique session ID (starts with ses_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ses_4194ad24-c818-4e5c-b003-9cc2aa7df53b"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SignatureRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/sessions/{id}": {
            "get": {
                "operationId": "GetSession",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SessionResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "ses_...",
                                            "createdAt": 1689869074,
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "updatedAt": 1689869074,
                                            "account": {
                                                "id": "acc_..."
                                            },
                                            "isActive": true,
                                            "validAfter": "1650000000",
                                            "validUntil": "1700000000",
                                            "whitelist": [],
                                            "limit": 100,
                                            "nextAction": {
                                                "type": "sign_with_wallet",
                                                "payload": {
                                                    "signableHash": "0x25d3...005c"
                                                }
                                            },
                                            "transactionIntents": [
                                                {
                                                    "id": "tin_..."
                                                }
                                            ],
                                            "object": "session"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Session not found"
                    }
                },
                "description": "Retrieves the details of a Session that has previously been created.\n\nReturns the latest 10 transaction intents that used this session.",
                "summary": "Returns a player session by session id",
                "tags": [
                    "Sessions"
                ],
                "security": [
                    {
                        "sk": [
                            "sessions:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique session ID (starts with ses_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ses_4194ad24-c818-4e5c-b003-9cc2aa7df53b"
                    },
                    {
                        "description": "Specifies the fields to expand.",
                        "in": "query",
                        "name": "expand",
                        "required": false,
                        "schema": {
                            "default": [],
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SessionResponseExpandable"
                            }
                        },
                        "example": [
                            "transactionIntents"
                        ]
                    }
                ]
            }
        },
        "/v1/contracts": {
            "get": {
                "operationId": "GetContracts",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractListResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "object": "list",
                                            "url": "/v1/contracts",
                                            "start": 0,
                                            "end": 1,
                                            "total": 1,
                                            "data": [
                                                {
                                                    "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                                    "createdAt": 1689869074,
                                                    "object": "contract",
                                                    "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                                    "chainId": 80002,
                                                    "deleted": false,
                                                    "name": "MyContract",
                                                    "publicVerification": true,
                                                    "abi": [
                                                        {
                                                            "constant": false,
                                                            "inputs": [
                                                                {
                                                                    "name": "addr",
                                                                    "type": "address"
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "List of all contracts per project.\nBy default, a maximum of ten contracts are shown.",
                "summary": "List contracts.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "Specifies the name of the contract.",
                        "in": "query",
                        "name": "name",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "NFT Contract"
                    },
                    {
                        "description": "Specifies whether to include deleted contracts.",
                        "in": "query",
                        "name": "deleted",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "example": false
                    },
                    {
                        "description": "The chain ID of the contract.",
                        "in": "query",
                        "name": "chainId",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        },
                        "example": 80002
                    },
                    {
                        "description": "Specifies the address of the contract.",
                        "in": "query",
                        "name": "address",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "0x742e6e61d760164d56f44801054bcf40fa821d97"
                    }
                ]
            },
            "post": {
                "operationId": "CreateContract",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                            "createdAt": 1689869074,
                                            "object": "contract",
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "chainId": 80002,
                                            "deleted": false,
                                            "name": "MyContract",
                                            "publicVerification": true,
                                            "abi": [
                                                {
                                                    "constant": false,
                                                    "inputs": [
                                                        {
                                                            "name": "addr",
                                                            "type": "address"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "description": "Add a new contract to your project in Openfort",
                "summary": "Create contract object.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateContractRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v1/contracts/{id}": {
            "get": {
                "operationId": "GetContract",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                            "createdAt": 1689869074,
                                            "object": "contract",
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "chainId": 80002,
                                            "deleted": false,
                                            "name": "MyContract",
                                            "publicVerification": true,
                                            "abi": [
                                                {
                                                    "constant": false,
                                                    "inputs": [
                                                        {
                                                            "name": "addr",
                                                            "type": "address"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Retrieve a contract by providing their contract id.",
                "summary": "Get a contract.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique contract ID (starts with con_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    }
                ]
            },
            "post": {
                "operationId": "UpdateContract",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                            "createdAt": 1689869074,
                                            "object": "contract",
                                            "address": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa",
                                            "chainId": 80002,
                                            "deleted": false,
                                            "name": "MyContract",
                                            "publicVerification": true,
                                            "abi": [
                                                {
                                                    "constant": false,
                                                    "inputs": [
                                                        {
                                                            "name": "addr",
                                                            "type": "address"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "summary": "Updates a contract object.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique contract ID (starts with con_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateContractRequest"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "DeleteContract",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractDeleteResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                            "deleted": true,
                                            "object": "contract"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "description": "Delete a contract from the project by providing its contract id.",
                "summary": "Deletes a contract object.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:delete"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique contract ID (starts with con_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    }
                ]
            }
        },
        "/v1/contracts/{id}/read": {
            "get": {
                "operationId": "ReadContract",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ContractReadResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "con_c502d628-5bb3-42f2-b8d5-62ba46717f3a",
                                            "createdAt": 1689869074,
                                            "object": "readContract",
                                            "functionName": "balanceOf",
                                            "result": {
                                                "type": "BigNumber",
                                                "hex": "0x00"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "description": "Using this endpoint, you can get the repositories returned by any readable\nfunction listed in a contracts ABI. This could be things like querying\nthe totalSupply of a currency contract, the number of owners of an items\ncontract, and more.",
                "summary": "Read on chain contract repositories.",
                "tags": [
                    "Contracts"
                ],
                "security": [
                    {
                        "sk": [
                            "contracts:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique contract ID (starts with con_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    },
                    {
                        "description": "The function name of the contract.",
                        "in": "query",
                        "name": "functionName",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "mint"
                    },
                    {
                        "description": "The function arguments of the contract, in string format. Accepts pla_, con_ and acc_ IDs.",
                        "in": "query",
                        "name": "functionArgs",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {}
                        },
                        "example": [
                            "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                        ]
                    }
                ]
            }
        },
        "/v2/users": {
            "get": {
                "operationId": "GetAuthUsers",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserListResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "object": "list",
                                            "url": "http://localhost:3000",
                                            "data": [
                                                {
                                                    "id": "usr_***",
                                                    "createdAt": 123456789,
                                                    "name": "Satoshi",
                                                    "email": "satoshi@openfort.io",
                                                    "emailVerified": true,
                                                    "phoneNumber": null,
                                                    "phoneNumberVerified": false,
                                                    "isAnonymous": false,
                                                    "linkedAccounts": [
                                                        {
                                                            "provider": "google",
                                                            "createdAt": 12346789,
                                                            "updatedAt": 12346789,
                                                            "accountId": "123456789"
                                                        }
                                                    ]
                                                },
                                                {
                                                    "id": "usr_***",
                                                    "createdAt": 123456789,
                                                    "name": "Nakamoto",
                                                    "email": "nakamoto@openfort.io",
                                                    "emailVerified": true,
                                                    "phoneNumber": null,
                                                    "phoneNumberVerified": false,
                                                    "isAnonymous": false,
                                                    "linkedAccounts": [
                                                        {
                                                            "provider": "google",
                                                            "createdAt": 12346789,
                                                            "updatedAt": 12346789,
                                                            "accountId": "123456789"
                                                        }
                                                    ]
                                                }
                                            ],
                                            "start": 0,
                                            "end": 2,
                                            "total": 2
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Retrieves an authenticated users.\n\nUsers have linked accounts and are authenticated with a provider.",
                "summary": "List authenticated users.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "sk": [
                            "users:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "Filter by user name.",
                        "in": "query",
                        "name": "name",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "John"
                    },
                    {
                        "description": "Filter by external user ID (accountId from linked accounts).",
                        "in": "query",
                        "name": "externalUserId",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "123454456687897"
                    },
                    {
                        "description": "Filter by user email.",
                        "in": "query",
                        "name": "email",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "user@example.com"
                    },
                    {
                        "description": "Filter by user phone number.",
                        "in": "query",
                        "name": "phoneNumber",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "+1234567890"
                    },
                    {
                        "description": "Filter by provider ID (e.g., \"google\", \"apple\", \"siwe\", \"credential\").",
                        "in": "query",
                        "name": "authProviderId",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "google"
                    },
                    {
                        "description": "Filter by wallet client type (for SIWE accounts).",
                        "in": "query",
                        "name": "walletClientType",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "metamask"
                    }
                ]
            }
        },
        "/v2/users/{id}": {
            "get": {
                "operationId": "GetAuthUser",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthUserResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "usr_***",
                                            "createdAt": 123456789,
                                            "name": "Satoshi",
                                            "email": "satoshi@openfort.io",
                                            "emailVerified": true,
                                            "phoneNumber": null,
                                            "phoneNumberVerified": false,
                                            "isAnonymous": false,
                                            "linkedAccounts": [
                                                {
                                                    "provider": "google",
                                                    "createdAt": 12346789,
                                                    "updatedAt": 12346789,
                                                    "accountId": "123456789"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Retrieves an authenticated user.\n\nUsers have linked accounts and are authenticated with a provider.",
                "summary": "Get authenticated user by id.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "sk": [
                            "users:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "delete": {
                "operationId": "DeleteUser",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDeleteResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "pla_00000000-0000-0000-0000-000000000000",
                                            "object": "player",
                                            "deleted": true
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "409": {
                        "description": "Error response."
                    }
                },
                "description": "It will delete all linked accounts the user is authenticated with.\nIf the user has a linked embedded signer, it will be deleted as well.",
                "summary": "Delete user by id.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "sk": [
                            "users:delete"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique user ID (starts with pla_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pla_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            }
        },
        "/v2/users/{id}/wallet": {
            "get": {
                "operationId": "GetUserWallet",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WalletResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "pla_00000000-0000-0000-0000-000000000000",
                                            "object": "wallet",
                                            "createdAt": 1689869074
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    },
                    "404": {
                        "description": "User not found."
                    }
                },
                "description": "Retrieves the wallet associated with an authenticated user.",
                "summary": "Get wallet for user.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "sk": [
                            "users:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/v2/users/pregenerate": {
            "post": {
                "operationId": "pregenerateUserV2",
                "responses": {
                    "200": {
                        "description": "User and account pre-generated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PregenerateAccountResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request - invalid parameters."
                    },
                    "401": {
                        "description": "Unauthorized - invalid API key."
                    },
                    "409": {
                        "description": "Conflict - user with this identifier already exists."
                    }
                },
                "description": "Pre-generate a user with an embedded account before they authenticate.\nCreates a user record and an embedded account using the provided SSS key shares.\nWhen the user later authenticates (via email, OAuth, third-party auth, etc.)\nwith the same identifier, they will be linked to this pre-generated account.\n\nYou can pregenerate using either:\n- `email`: User will be linked when they authenticate with the same email\n- `thirdPartyUserId` + `thirdPartyProvider`: User will be linked when they authenticate via the same third-party provider",
                "summary": "Pre-generate a user with an embedded account.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "sk": [
                            "users:write"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PregenerateUserRequestV2"
                            }
                        }
                    }
                }
            }
        },
        "/v2/policies": {
            "get": {
                "operationId": "ListPolicies",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PolicyV2ListResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Returns a list of policies.",
                "summary": "List policies.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "Filter by scope.",
                        "in": "query",
                        "name": "scope",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "project",
                                    "account",
                                    "transaction"
                                ]
                            }
                        },
                        "example": [
                            "project",
                            "account"
                        ]
                    },
                    {
                        "description": "Filter by enabled status.",
                        "in": "query",
                        "name": "enabled",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "description": "Filter by account ID (for account-scoped policies).",
                        "in": "query",
                        "name": "accountId",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    {
                        "description": "Only include policies that have at least one rule with an operation in this list.",
                        "in": "query",
                        "name": "operation",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": [
                            "signEvmTransaction",
                            "signEvmMessage"
                        ]
                    },
                    {
                        "description": "Exclude policies where all rules have operations in this list.",
                        "in": "query",
                        "name": "operationNotIn",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "example": [
                            "sponsorEvmTransaction",
                            "sponsorSolTransaction"
                        ]
                    }
                ]
            },
            "post": {
                "operationId": "CreatePolicyV2",
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PolicyV2Response"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request."
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Creates a new policy with the specified rules.",
                "summary": "Create a policy.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreatePolicyV2Request"
                            }
                        }
                    }
                }
            }
        },
        "/v2/policies/{policyId}": {
            "get": {
                "operationId": "GetPolicyV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PolicyV2Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Retrieves the details of a policy that has previously been created.",
                "summary": "Get a policy.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique policy ID (starts with ply_).",
                        "in": "path",
                        "name": "policyId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            },
            "post": {
                "operationId": "UpdatePolicyV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PolicyV2Response"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request."
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Updates an existing policy.",
                "summary": "Update a policy.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique policy ID (starts with ply_).",
                        "in": "path",
                        "name": "policyId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdatePolicyV2Request"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "DeletePolicyV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PolicyV2DeleteResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Deletes a policy. This is a soft delete.",
                "summary": "Delete a policy.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:delete"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique policy ID (starts with ply_).",
                        "in": "path",
                        "name": "policyId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            }
        },
        "/v2/policies/evaluate": {
            "post": {
                "operationId": "EvaluatePolicyV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EvaluatePolicyV2Response"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request."
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Evaluates an operation against policies without actually performing the operation.\nUse this endpoint to check if an operation would be allowed before attempting it.",
                "summary": "Evaluate policy.",
                "tags": [
                    "Policies"
                ],
                "security": [
                    {
                        "sk": [
                            "policies:write"
                        ]
                    },
                    {
                        "pk": []
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EvaluatePolicyV2Request"
                            }
                        }
                    }
                }
            }
        },
        "/v2/fee-sponsorship": {
            "get": {
                "operationId": "ListFeeSponsorships",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipListResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Returns a list of fee sponsorship policies.\n\nFee sponsorship policies define gas sponsorship rules by linking to a policy\nwith rich criteria (evmAddress, ethValue, evmNetwork, evmData).",
                "summary": "List fee sponsorship policies.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "Filter by policy name (partial match).",
                        "in": "query",
                        "name": "name",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "DeFi"
                    },
                    {
                        "description": "Filter by chain ID.",
                        "in": "query",
                        "name": "chainId",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "description": "Filter by enabled status.",
                        "in": "query",
                        "name": "enabled",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "description": "Include deleted policies.",
                        "in": "query",
                        "name": "deleted",
                        "required": false,
                        "schema": {
                            "default": false,
                            "type": "boolean"
                        },
                        "example": false
                    }
                ]
            },
            "post": {
                "operationId": "CreateFeeSponsorship",
                "responses": {
                    "201": {
                        "description": "Created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request."
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Creates a new fee sponsorship.\n\nThis endpoint requires linking to an existing policy via `policyId`.\nCreate the policy first via `/v2/policies` with your criteria rules.\n\n**Workflow:**\n1. Create a policy via `/v2/policies` with criteria rules\n2. Create a fee sponsorship with `policyId` linking to that policy\n\n**Supported criteria types:**\n- `evmAddress`: Filter by recipient address (in/not in)\n- `ethValue`: Filter by ETH amount (<=, >=, <, >)\n- `evmNetwork`: Filter by chain ID (in/not in)\n- `evmData`: Filter by function selector or parameters",
                "summary": "Create a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateFeeSponsorshipRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/fee-sponsorship/{feeSponsorshipId}": {
            "get": {
                "operationId": "GetFeeSponsorship",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Retrieves the details of a fee sponsorship.",
                "summary": "Get a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:read"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique fee sponsorship ID (starts with pol_).",
                        "in": "path",
                        "name": "feeSponsorshipId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            },
            "put": {
                "operationId": "UpdateFeeSponsorship",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request."
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Updates a fee sponsorship.",
                "summary": "Update a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique fee sponsorship ID (starts with pol_).",
                        "in": "path",
                        "name": "feeSponsorshipId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateFeeSponsorshipRequest"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "DeleteFeeSponsorship",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipDeleteResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Deletes a fee sponsorship.\n\nThis is a soft delete - the fee sponsorship is marked as deleted but not removed from the database.",
                "summary": "Delete a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:delete"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique fee sponsorship ID (starts with pol_).",
                        "in": "path",
                        "name": "feeSponsorshipId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            }
        },
        "/v2/fee-sponsorship/{feeSponsorshipId}/enable": {
            "put": {
                "operationId": "EnableFeeSponsorship",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Enables a fee sponsorship.",
                "summary": "Enable a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique fee sponsorship ID (starts with pol_).",
                        "in": "path",
                        "name": "feeSponsorshipId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            }
        },
        "/v2/fee-sponsorship/{feeSponsorshipId}/disable": {
            "put": {
                "operationId": "DisableFeeSponsorship",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeeSponsorshipResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Not found."
                    }
                },
                "description": "Disables a fee sponsorship.",
                "summary": "Disable a fee sponsorship.",
                "tags": [
                    "Fee Sponsorship"
                ],
                "security": [
                    {
                        "sk": [
                            "fee_sponsorship:write"
                        ]
                    },
                    {
                        "user_project": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the unique fee sponsorship ID (starts with pol_).",
                        "in": "path",
                        "name": "feeSponsorshipId",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                ]
            }
        },
        "/v2/accounts/backend": {
            "post": {
                "operationId": "createBackendWallet",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CreateBackendWalletResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Create a new backend wallet account.\n\nGenerates a new keypair securely in the backend wallet system.\nThe private key is stored encrypted and never exposed.",
                "summary": "Create backend wallet.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "accounts:write"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateBackendWalletRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/{id}": {
            "delete": {
                "operationId": "deleteBackendWallet",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeleteBackendWalletResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Wallet not found."
                    }
                },
                "description": "Delete a backend wallet.\n\nPermanently deletes a backend wallet and its associated private key.",
                "summary": "Delete backend wallet.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "accounts:delete"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "description": "The wallet ID (starts with acc_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/v2/accounts/backend/{id}/sign": {
            "post": {
                "operationId": "sign",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Account not found."
                    }
                },
                "description": "Sign data via backend wallet.\n\nSigns the provided data using the account's private key managed by the backend wallet.\nThe private key is securely stored and never exposed.",
                "summary": "Sign data via backend wallet.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "accounts:sign"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "description": "The account ID (starts with acc_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SignRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/{id}/export": {
            "post": {
                "operationId": "exportPrivateKey",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExportPrivateKeyResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Account not found."
                    }
                },
                "description": "Export private key with E2E encryption via backend wallet.\n\nExports the account's private key encrypted using RSA-4096 OAEP SHA-256.\nThe client must provide their ephemeral RSA-4096 public key (base64 SPKI DER format).\nThe response contains the encrypted private key that can be decrypted with the client's private key.",
                "summary": "Export private key (E2E encrypted).",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "accounts:export"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "description": "The account ID (starts with acc_).",
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ExportPrivateKeyRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/import": {
            "post": {
                "operationId": "importPrivateKey",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ImportPrivateKeyResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid key material."
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Import private key with E2E encryption via backend wallet.\n\nImports a private key into the backend wallet system.\nThe private key must be encrypted using RSA-4096 OAEP SHA-256 with the server's\nstatic import public key (obtain out-of-band from SDK or documentation).",
                "summary": "Import private key (E2E encrypted).",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "accounts:import"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ImportPrivateKeyRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/register-secret": {
            "post": {
                "operationId": "registerWalletSecret",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RegisterWalletSecretResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    }
                },
                "description": "Register a new wallet secret (authentication key).\n\nRegisters an ECDSA P-256 public key that will be used to verify\nX-Wallet-Auth JWT signatures. This is required before using WALLET_AUTH\nfor other backend wallet operations.\n\nUses provided-key authentication: the request must include a walletAuthToken\nJWT signed by the private key corresponding to the publicKey being registered.\nThis proves possession of the private key without transmitting it.\n\nNote: Only ONE active secret is allowed per project. This call fails if an\nactive secret already exists; use rotateWalletSecret to replace an existing secret.",
                "summary": "Register wallet secret.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "user_project": []
                    },
                    {
                        "sk": [
                            "api_key:write"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RegisterWalletSecretRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/revoke-secret": {
            "post": {
                "operationId": "revokeWalletSecret",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RevokeWalletSecretResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Secret not found."
                    }
                },
                "description": "Revoke a wallet secret (authentication key).\n\nPermanently revokes a wallet secret so it can no longer be used\nfor X-Wallet-Auth JWT signing.",
                "summary": "Revoke wallet secret.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "wallet_auth": [
                            "api_key:delete"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RevokeWalletSecretRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/backend/rotate-secrets": {
            "post": {
                "operationId": "rotateWalletSecret",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RotateWalletSecretResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "403": {
                        "description": "MFA required."
                    }
                },
                "description": "Rotate wallet secret (authentication key).\n\nReplaces the current wallet secret (ECDSA P-256 public key) used for\nX-Wallet-Auth JWT signing. The old secret will be marked as \"rotated\"\nand immediately becomes unusable (no grace period).\n\nUses provided-key authentication: the request must include a walletAuthToken\nJWT signed by the private key corresponding to the NEW publicKey being registered.\nThis proves possession of the new private key without transmitting it.\n\nRequires an AAL2 session (MFA step-up). Users must enroll MFA and\ncomplete step-up authentication before calling this endpoint.",
                "summary": "Rotate wallet secret.",
                "tags": [
                    "Backend Wallets"
                ],
                "security": [
                    {
                        "user_project": []
                    },
                    {
                        "sk": [
                            "api_key:rotate"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RotateWalletSecretRequest"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts": {
            "get": {
                "operationId": "getAccountsV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountListV2Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Returns a list of accounts for the given user.\n\nThis object represents a user's account, which is a blockchain smart account that can be used to interact with the blockchain.\n\nThe accounts are returned sorted by creation date, with the most recently created accounts appearing first.",
                "summary": "List user accounts.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "pk_access_token": []
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "sk": [
                            "accounts:read"
                        ]
                    },
                    {
                        "user_project": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "description": "Specifies the maximum number of records to return.",
                        "in": "query",
                        "name": "limit",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "description": "Specifies the offset for the first records to return.",
                        "in": "query",
                        "name": "skip",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "description": "Specifies the order in which to sort the results.",
                        "in": "query",
                        "name": "order",
                        "required": false,
                        "schema": {
                            "$ref": "#/components/schemas/Prisma.SortOrder"
                        }
                    },
                    {
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "in": "query",
                        "name": "chainId",
                        "required": false,
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        },
                        "example": 80002
                    },
                    {
                        "description": "Specifies the unique user ID (starts with pla_)",
                        "in": "query",
                        "name": "user",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "pla_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    {
                        "description": "The chain type. Must be either \"EVM\" or \"SVM\".",
                        "in": "query",
                        "name": "chainType",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "EVM",
                                "SVM"
                            ]
                        },
                        "example": "EVM"
                    },
                    {
                        "description": "Specifies the type of account. Must be either \"Smart Account\" or \"Externally Owned Account\".",
                        "in": "query",
                        "name": "accountType",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "Externally Owned Account",
                                "Smart Account",
                                "Delegated Account"
                            ]
                        },
                        "example": "Smart Account"
                    },
                    {
                        "description": "Specifies the key custody of the account. Must be either \"Developer\" or \"User\".",
                        "in": "query",
                        "name": "custody",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "Developer",
                                "User"
                            ]
                        },
                        "example": "Developer"
                    },
                    {
                        "description": "Specifies the account address",
                        "in": "query",
                        "name": "address",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "0xf7b4c54cca21cccf42796502bf94e2838fbd44c4"
                    }
                ]
            },
            "post": {
                "operationId": "createAccountV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountV2Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Creates a new blockchain account for a user.\n\nAccount creation does not consume any gas. The account can be used to interact with the blockchain.",
                "summary": "Create new account.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "sk": [
                            "accounts:write"
                        ]
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateAccountRequestV2"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/signer": {
            "get": {
                "operationId": "GetSignerIdByAddress",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SignerIdResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Retrieves the signer ID associated with a given blockchain address.",
                "summary": "Get signer ID by address.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "pk_access_token": []
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "sk": [
                            "accounts:read"
                        ]
                    },
                    {
                        "user_project": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "address",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/v2/accounts/{id}": {
            "get": {
                "operationId": "getAccountV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountV2Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Retrieves the details of an existing account.\n\nSupply the unique account ID and Openfort will return the corresponding account information.",
                "summary": "Get existing account.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "pk_access_token": []
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "sk": [
                            "accounts:read"
                        ]
                    },
                    {
                        "user_project": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            },
            "delete": {
                "operationId": "RemoveAccount",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeleteAccountResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Account not found."
                    }
                },
                "description": "Removes an account from a project.",
                "summary": "Delete account.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "user_project": []
                    },
                    {
                        "sk": [
                            "accounts:delete"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/v2/accounts/switch-chain": {
            "post": {
                "operationId": "switchChainV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountV2Response"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "description": "Switches the blockchain network for an existing account.\n\nThis allows moving an account between different blockchain networks while maintaining the same account identity.",
                "summary": "Switch account blockchain.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "pk_access_token": []
                    },
                    {
                        "pk_third_party": []
                    },
                    {
                        "sk": [
                            "accounts:write"
                        ]
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SwitchChainQueriesV2"
                            }
                        }
                    }
                }
            }
        },
        "/v2/accounts/{accountUuid}/export-share": {
            "post": {
                "operationId": "exportAccountShare",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExportShareResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized."
                    },
                    "404": {
                        "description": "Account not found."
                    }
                },
                "description": "Exports the primary share for an account, including all data needed to import it on another instance.",
                "summary": "Export account share.",
                "tags": [
                    "accs v2"
                ],
                "security": [
                    {
                        "sk": [
                            "share:export"
                        ]
                    }
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "accountUuid",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        },
        "/iam/v2/me": {
            "get": {
                "operationId": "meV2",
                "responses": {
                    "200": {
                        "description": "Successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthUserResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "usr_***",
                                            "createdAt": 123456789,
                                            "name": "Satoshi",
                                            "email": "satoshi@openfort.io",
                                            "emailVerified": true,
                                            "phoneNumber": null,
                                            "phoneNumberVerified": false,
                                            "isAnonymous": false,
                                            "linkedAccounts": [
                                                {
                                                    "provider": "google",
                                                    "createdAt": 12346789,
                                                    "updatedAt": 12346789,
                                                    "accountId": "123456789"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Error response."
                    }
                },
                "summary": "Get user information.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "pk_third_party": []
                    },
                    {
                        "auth_token": []
                    }
                ],
                "parameters": []
            }
        },
        "/iam/v2/user/third_party": {
            "post": {
                "operationId": "ThirdPartyV2",
                "responses": {
                    "200": {
                        "description": "Ok",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthUserResponse"
                                },
                                "examples": {
                                    "Example 1": {
                                        "value": {
                                            "id": "usr_***",
                                            "createdAt": 123456789,
                                            "name": "Satoshi",
                                            "email": "satoshi@openfort.io",
                                            "emailVerified": true,
                                            "phoneNumber": null,
                                            "phoneNumberVerified": false,
                                            "isAnonymous": false,
                                            "linkedAccounts": [
                                                {
                                                    "provider": "google",
                                                    "createdAt": 12346789,
                                                    "updatedAt": 12346789,
                                                    "accountId": "123456789"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": ""
                    }
                },
                "summary": "Verify oauth token of a third party auth provider.",
                "tags": [
                    "Users"
                ],
                "security": [
                    {
                        "pk": []
                    },
                    {
                        "pk_third_party": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ThirdPartyOAuthRequest"
                            }
                        }
                    }
                }
            }
        },
        "/iam/v2/auth/sign-in/social": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign in with a social provider",
                "summary": "Sign in with a social provider.",
                "operationId": "socialSignIn",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "Callback URL to redirect to after the user has signed in",
                                        "nullable": true
                                    },
                                    "newUserCallbackURL": {
                                        "type": "string",
                                        "nullable": true
                                    },
                                    "errorCallbackURL": {
                                        "type": "string",
                                        "description": "Callback URL to redirect to if an error happens",
                                        "nullable": true
                                    },
                                    "provider": {
                                        "type": "string"
                                    },
                                    "disableRedirect": {
                                        "type": "boolean",
                                        "description": "Disable automatic redirection to the provider. Useful for handling the redirection yourself",
                                        "nullable": true
                                    },
                                    "idToken": {
                                        "type": "object",
                                        "properties": {
                                            "token": {
                                                "type": "string",
                                                "description": "ID token from the provider"
                                            },
                                            "nonce": {
                                                "type": "string",
                                                "description": "Nonce used to generate the token",
                                                "nullable": true
                                            },
                                            "accessToken": {
                                                "type": "string",
                                                "description": "Access token from the provider",
                                                "nullable": true
                                            },
                                            "refreshToken": {
                                                "type": "string",
                                                "description": "Refresh token from the provider",
                                                "nullable": true
                                            },
                                            "expiresAt": {
                                                "type": "number",
                                                "description": "Expiry date of the token",
                                                "nullable": true
                                            }
                                        },
                                        "required": [
                                            "token"
                                        ],
                                        "nullable": true
                                    },
                                    "scopes": {
                                        "type": "array",
                                        "description": "Array of scopes to request from the provider. This will override the default scopes passed.",
                                        "items": {
                                            "type": "string"
                                        },
                                        "nullable": true
                                    },
                                    "requestSignUp": {
                                        "type": "boolean",
                                        "description": "Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider",
                                        "nullable": true
                                    },
                                    "loginHint": {
                                        "type": "string",
                                        "description": "The login hint to use for the authorization code request",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "provider"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns either session details or redirect URL",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "description": "Session response when idToken is provided",
                                    "properties": {
                                        "redirect": {
                                            "type": "boolean",
                                            "enum": [
                                                false
                                            ]
                                        },
                                        "token": {
                                            "type": "string",
                                            "description": "Session token"
                                        },
                                        "url": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "user": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "image": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "emailVerified": {
                                                    "type": "boolean"
                                                },
                                                "createdAt": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "updatedAt": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "isAnonymous": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "email",
                                                "emailVerified",
                                                "createdAt",
                                                "updatedAt"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "redirect",
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/get-session": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "description": "Get the current session",
                "summary": "Get the current session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [
                    {
                        "name": "disableCookieCache",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Disable cookie cache and fetch session from database"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "session": {
                                            "$ref": "#/components/schemas/Session"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "session",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-out": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign out the current user",
                "summary": "Sign out.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-up/email": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign up a user using email and password",
                "summary": "Sign up with email and password.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the user"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "The email of the user"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "The password of the user"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "The profile image URL of the user"
                                    },
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "The URL to use for email verification callback"
                                    },
                                    "rememberMe": {
                                        "type": "boolean",
                                        "description": "If this is false, the session will not be remembered. Default is `true`."
                                    }
                                },
                                "required": [
                                    "name",
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully created user",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Authentication token for the session"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "422": {
                        "description": "Unprocessable Entity. User already exists or failed to create user.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-in/email": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign in with email and password",
                "summary": "Sign in with email and password.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email of the user"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Password of the user"
                                    },
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "Callback URL to use as a redirect for email verification",
                                        "nullable": true
                                    },
                                    "rememberMe": {
                                        "type": "boolean",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success - Returns either session details or redirect URL",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "description": "Session response when idToken is provided",
                                    "properties": {
                                        "redirect": {
                                            "type": "boolean",
                                            "enum": [
                                                false
                                            ]
                                        },
                                        "token": {
                                            "type": "string",
                                            "description": "Session token"
                                        },
                                        "url": {
                                            "type": "string",
                                            "nullable": true
                                        },
                                        "user": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "image": {
                                                    "type": "string",
                                                    "nullable": true
                                                },
                                                "emailVerified": {
                                                    "type": "boolean"
                                                },
                                                "createdAt": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "updatedAt": {
                                                    "type": "string",
                                                    "format": "date-time"
                                                },
                                                "isAnonymous": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "email",
                                                "emailVerified",
                                                "createdAt",
                                                "updatedAt"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "redirect",
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/forget-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Send a password reset email to the user",
                "summary": "Forget password.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "The email address of the user to send a password reset email to"
                                    },
                                    "redirectTo": {
                                        "type": "string",
                                        "description": "The URL to redirect the user to reset their password. If the token isn't valid or expired, it'll be redirected with a query parameter `?error=INVALID_TOKEN`. If the token is valid, it'll be redirected with a query parameter `?token=VALID_TOKEN",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "email"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/reset-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Reset the password for a user",
                "summary": "Reset password.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "newPassword": {
                                        "type": "string",
                                        "description": "The new password to set"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "The token to reset the password",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "newPassword"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResetPasswordResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/verify-email": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "description": "Verify the email of the user.\nUsually this endpoint is called when user clicks 'Verify email' link from the letter.",
                "summary": "Verify email.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "The token to verify the email",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "callbackURL",
                        "in": "query",
                        "description": "The URL to redirect to after email verification",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "user": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "description": "User ID"
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "description": "User email"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "User name"
                                                },
                                                "image": {
                                                    "type": "string",
                                                    "description": "User image URL"
                                                },
                                                "emailVerified": {
                                                    "type": "boolean",
                                                    "description": "Indicates if the user email is verified"
                                                },
                                                "createdAt": {
                                                    "type": "string",
                                                    "description": "User creation date"
                                                },
                                                "updatedAt": {
                                                    "type": "string",
                                                    "description": "User update date"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "email",
                                                "name",
                                                "image",
                                                "emailVerified",
                                                "createdAt",
                                                "updatedAt"
                                            ]
                                        },
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the email was verified successfully"
                                        }
                                    },
                                    "required": [
                                        "user",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/send-verification-email": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Send a verification email to the user",
                "summary": "Send verification email.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "The email to send the verification email to",
                                        "example": "user@example.com"
                                    },
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "The URL to use for email verification callback",
                                        "example": "https://example.com/callback",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "email"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the email was sent successfully",
                                            "example": true
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "Error message",
                                            "example": "Verification email isn't enabled"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/change-email": {
            "post": {
                "description": "Change user's email",
                "summary": "Change email.",
                "tags": [
                    "auth v2"
                ],
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "newEmail": {
                                        "type": "string",
                                        "description": "The new email address to set must be a valid email address"
                                    },
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "The URL to redirect to after email verification",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "newEmail"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Email change request processed successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the request was successful"
                                        },
                                        "message": {
                                            "type": "string",
                                            "enum": [
                                                "Email updated",
                                                "Verification email sent"
                                            ],
                                            "description": "Status message of the email change process",
                                            "nullable": true
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "422": {
                        "description": "Unprocessable Entity. Email already exists",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/change-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Change the password of the user",
                "summary": "Change password.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "newPassword": {
                                        "type": "string",
                                        "description": "The new password to set"
                                    },
                                    "currentPassword": {
                                        "type": "string",
                                        "description": "The current password is required"
                                    },
                                    "revokeOtherSessions": {
                                        "type": "boolean",
                                        "description": "Must be a boolean value",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "newPassword",
                                    "currentPassword"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password successfully changed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "New session token if other sessions were revoked"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/reset-password/{token}": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "description": "Redirects the user to the callback URL with the token",
                "summary": "Reset password callback.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [
                    {
                        "name": "token",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "The reset password token"
                        }
                    },
                    {
                        "name": "callbackURL",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "description": "The URL to redirect the user to reset their password"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/request-password-reset": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Send a password reset email to the user",
                "summary": "Request password reset.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "The email address of the user to send a password reset email to"
                                    },
                                    "redirectTo": {
                                        "type": "string",
                                        "description": "The URL to redirect the user to reset their password. If the token isn't valid or expired, it'll be redirected with a query parameter `?error=INVALID_TOKEN`. If the token is valid, it'll be redirected with a query parameter `?token=VALID_TOKEN",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "email"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/list-sessions": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "description": "List all active sessions for the user",
                "summary": "List sessions.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Session"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/revoke-session": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Revoke a single session",
                "summary": "Revoke session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "token": {
                                        "type": "string",
                                        "description": "The token to revoke"
                                    }
                                },
                                "required": [
                                    "token"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the session was revoked successfully"
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/revoke-sessions": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Revoke all sessions for the user",
                "summary": "Revoke sessions.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if all sessions were revoked successfully"
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/revoke-other-sessions": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Revoke all other sessions for the user except the current one",
                "summary": "Revoke other sessions.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if all other sessions were revoked successfully"
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/link-social": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Link a social account to the user",
                "summary": "Link social account.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "callbackURL": {
                                        "type": "string",
                                        "description": "The URL to redirect to after the user has signed in",
                                        "nullable": true
                                    },
                                    "provider": {
                                        "type": "string"
                                    },
                                    "idToken": {
                                        "type": "object",
                                        "properties": {
                                            "token": {
                                                "type": "string"
                                            },
                                            "nonce": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "accessToken": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "refreshToken": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "scopes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                },
                                                "nullable": true
                                            }
                                        },
                                        "required": [
                                            "token"
                                        ],
                                        "nullable": true
                                    },
                                    "requestSignUp": {
                                        "type": "boolean",
                                        "nullable": true
                                    },
                                    "scopes": {
                                        "type": "array",
                                        "description": "Additional scopes to request from the provider",
                                        "items": {
                                            "type": "string"
                                        },
                                        "nullable": true
                                    },
                                    "errorCallbackURL": {
                                        "type": "string",
                                        "description": "The URL to redirect to if there is an error during the link process",
                                        "nullable": true
                                    },
                                    "disableRedirect": {
                                        "type": "boolean",
                                        "description": "Disable automatic redirection to the provider. Useful for handling the redirection yourself",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "provider"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "type": "string",
                                            "description": "The authorization URL to redirect the user to"
                                        },
                                        "redirect": {
                                            "type": "boolean",
                                            "description": "Indicates if the user should be redirected to the authorization URL"
                                        },
                                        "status": {
                                            "type": "boolean"
                                        }
                                    },
                                    "required": [
                                        "redirect"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/list-accounts": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "description": "List all accounts linked to the user",
                "summary": "List lined accounts.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "provider": {
                                                "type": "string"
                                            },
                                            "createdAt": {
                                                "type": "integer",
                                                "format": "int64"
                                            },
                                            "updatedAt": {
                                                "type": "integer",
                                                "format": "int64"
                                            },
                                            "accountId": {
                                                "type": "string"
                                            },
                                            "chainType": {
                                                "type": "string"
                                            },
                                            "chainId": {
                                                "type": "string"
                                            },
                                            "connectorType": {
                                                "type": "string"
                                            },
                                            "walletClientType": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "provider",
                                            "createdAt",
                                            "updatedAt",
                                            "accountId",
                                            "chainType",
                                            "chainId",
                                            "connectorType",
                                            "walletClientType"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/unlink-account": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Unlink an account",
                "summary": "Unlink account.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "providerId": {
                                        "type": "string"
                                    },
                                    "accountId": {
                                        "type": "string",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "providerId"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnlinkAccountResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/refresh-token": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Refresh the access token using a refresh token",
                "summary": "Refresh access token.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "providerId": {
                                        "type": "string",
                                        "description": "The provider ID for the OAuth provider"
                                    },
                                    "accountId": {
                                        "type": "string",
                                        "description": "The account ID associated with the refresh token",
                                        "nullable": true
                                    },
                                    "userId": {
                                        "type": "string",
                                        "description": "The user ID associated with the account",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "providerId"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Access token refreshed successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "tokenType": {
                                            "type": "string"
                                        },
                                        "idToken": {
                                            "type": "string"
                                        },
                                        "accessToken": {
                                            "type": "string"
                                        },
                                        "refreshToken": {
                                            "type": "string"
                                        },
                                        "accessTokenExpiresAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "refreshTokenExpiresAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid refresh token or provider configuration"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/get-access-token": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Get a valid access token, doing a refresh if needed",
                "summary": "Get access token.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "providerId": {
                                        "type": "string",
                                        "description": "The provider ID for the OAuth provider"
                                    },
                                    "accountId": {
                                        "type": "string",
                                        "description": "The account ID associated with the refresh token",
                                        "nullable": true
                                    },
                                    "userId": {
                                        "type": "string",
                                        "description": "The user ID associated with the account",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "providerId"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "A Valid access token",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "tokenType": {
                                            "type": "string"
                                        },
                                        "idToken": {
                                            "type": "string"
                                        },
                                        "accessToken": {
                                            "type": "string"
                                        },
                                        "refreshToken": {
                                            "type": "string"
                                        },
                                        "accessTokenExpiresAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "refreshTokenExpiresAt": {
                                            "type": "string",
                                            "format": "date-time"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid refresh token or provider configuration"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/account-info": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Get the account info provided by the provider",
                "summary": "Get account info.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "accountId": {
                                        "type": "string",
                                        "description": "The provider given account id for which to get the account info"
                                    }
                                },
                                "required": [
                                    "accountId"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "user": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "image": {
                                                    "type": "string"
                                                },
                                                "emailVerified": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "emailVerified"
                                            ]
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {},
                                            "additionalProperties": true
                                        }
                                    },
                                    "required": [
                                        "user",
                                        "data"
                                    ],
                                    "additionalProperties": false
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-in/anonymous": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign in anonymously",
                "summary": "Anonymous sign in.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Sign in anonymously",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "description": "Session token"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-in/phone-number": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Use this endpoint to sign in with phone number",
                "summary": "Sign in with phone.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phoneNumber": {
                                        "type": "string",
                                        "description": "Phone number to sign in. Eg: \"+1234567890\""
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Password to use for sign in."
                                    },
                                    "rememberMe": {
                                        "type": "boolean",
                                        "description": "Remember the session. Eg: true",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "phoneNumber",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "description": "Session token"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid phone number or password"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/phone-number/send-otp": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Use this endpoint to send OTP to phone number",
                "summary": "Send OTP to phone number.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phoneNumber": {
                                        "type": "string",
                                        "description": "Phone number to send OTP. Eg: \"+1234567890\""
                                    }
                                },
                                "required": [
                                    "phoneNumber"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/phone-number/verify": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Use this endpoint to verify phone number",
                "summary": "Verify phone OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phoneNumber": {
                                        "type": "string",
                                        "description": "Phone number to verify. Eg: \"+1234567890\""
                                    },
                                    "code": {
                                        "type": "string",
                                        "description": "OTP code. Eg: \"123456\""
                                    },
                                    "disableSession": {
                                        "type": "boolean",
                                        "description": "Disable session creation after verification. Eg: false",
                                        "nullable": true
                                    },
                                    "updatePhoneNumber": {
                                        "type": "boolean",
                                        "description": "Check if there is a session and update the phone number. Eg: true",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "phoneNumber",
                                    "code"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Phone number verified successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the verification was successful",
                                            "enum": [
                                                true
                                            ]
                                        },
                                        "token": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Session token if session is created, null if disableSession is true or no session is created"
                                        },
                                        "user": {
                                            "type": "object",
                                            "nullable": true,
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "description": "Unique identifier of the user"
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "nullable": true,
                                                    "description": "User's email address"
                                                },
                                                "emailVerified": {
                                                    "type": "boolean",
                                                    "nullable": true,
                                                    "description": "Whether the email is verified"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "nullable": true,
                                                    "description": "User's name"
                                                },
                                                "image": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "nullable": true,
                                                    "description": "User's profile image URL"
                                                },
                                                "phoneNumber": {
                                                    "type": "string",
                                                    "description": "User's phone number"
                                                },
                                                "phoneNumberVerified": {
                                                    "type": "boolean",
                                                    "description": "Whether the phone number is verified"
                                                },
                                                "createdAt": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "description": "Timestamp when the user was created"
                                                },
                                                "updatedAt": {
                                                    "type": "string",
                                                    "format": "date-time",
                                                    "description": "Timestamp when the user was last updated"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "phoneNumber",
                                                "phoneNumberVerified",
                                                "createdAt",
                                                "updatedAt"
                                            ],
                                            "description": "User object with phone number details, null if no user is created or found"
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid OTP"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/phone-number/forget-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Request OTP for password reset via phone number",
                "summary": "Reset password reset with phone(forget password flow).",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phoneNumber": {
                                        "type": "string",
                                        "description": "The phone number which is associated with the user. Eg: \"+1234567890\""
                                    }
                                },
                                "required": [
                                    "phoneNumber"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OTP sent successfully for password reset",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the OTP was sent successfully",
                                            "enum": [
                                                true
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/phone-number/request-password-reset": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Request OTP for password reset via phone number",
                "summary": "Request password reset with phone.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phoneNumber": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "phoneNumber"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OTP sent successfully for password reset",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the OTP was sent successfully",
                                            "enum": [
                                                true
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/phone-number/reset-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Reset password using phone number OTP",
                "summary": "Reset password with phone OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "otp": {
                                        "type": "string",
                                        "description": "The one time password to reset the password. Eg: \"123456\""
                                    },
                                    "phoneNumber": {
                                        "type": "string",
                                        "description": "The phone number to the account which intends to reset the password for. Eg: \"+1234567890\""
                                    },
                                    "newPassword": {
                                        "type": "string",
                                        "description": "The new password. Eg: \"new-and-secure-password\""
                                    }
                                },
                                "required": [
                                    "otp",
                                    "phoneNumber",
                                    "newPassword"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password reset successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResetPasswordResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/email-otp/send-verification-otp": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Send verification OTP",
                "summary": "Request email verification with OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address to send the OTP"
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Type of the OTP"
                                    }
                                },
                                "required": [
                                    "email",
                                    "type"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/email-otp/check-verification-otp": {
            "post": {
                "operationId": "checkVerificationOtp",
                "tags": [
                    "auth v2"
                ],
                "description": "Check if a verification OTP is valid",
                "summary": "Check email OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address the OTP was sent to"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "email-verification",
                                            "sign-in",
                                            "forget-password"
                                        ],
                                        "description": "Type of the OTP"
                                    },
                                    "otp": {
                                        "type": "string",
                                        "description": "OTP to verify"
                                    }
                                },
                                "required": [
                                    "email",
                                    "type",
                                    "otp"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/email-otp/verify-email": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Verify email with OTP",
                "summary": "Verify email with OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address to verify"
                                    },
                                    "otp": {
                                        "type": "string",
                                        "description": "OTP to verify"
                                    }
                                },
                                "required": [
                                    "email",
                                    "otp"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "description": "Indicates if the verification was successful",
                                            "enum": [
                                                true
                                            ]
                                        },
                                        "token": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Session token if autoSignInAfterVerification is enabled, otherwise null"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/sign-in/email-otp": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Sign in with OTP",
                "summary": "Sign in with email OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address to sign in"
                                    },
                                    "otp": {
                                        "type": "string",
                                        "description": "OTP sent to the email"
                                    }
                                },
                                "required": [
                                    "email",
                                    "otp"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "description": "Session token for the authenticated session"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/User"
                                        }
                                    },
                                    "required": [
                                        "token",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/forget-password/email-otp": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Send a password reset OTP to the user",
                "summary": "Request password reset with email OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address to send the OTP"
                                    }
                                },
                                "required": [
                                    "email"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "description": "Indicates if the OTP was sent successfully"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/email-otp/reset-password": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Reset user password with OTP",
                "summary": "Reset password with email OTP.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Email address to reset the password"
                                    },
                                    "otp": {
                                        "type": "string",
                                        "description": "OTP sent to the email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "New password"
                                    }
                                },
                                "required": [
                                    "email",
                                    "otp",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ResetPasswordResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Usually due to missing parameters, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Forbidden. You do not have permission to access this resource or to perform this action."
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Not Found. The requested resource was not found."
                    },
                    "429": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Too Many Requests. You have exceeded the rate limit. Try again later."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/siwe/nonce": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Generate a nonce for Sign-In With Ethereum (SIWE) authentication",
                "summary": "Initialize SIWE login.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "walletAddress": {
                                        "type": "string",
                                        "description": "Ethereum wallet address (must be 42 characters starting with 0x)",
                                        "pattern": "^0[xX][a-fA-F0-9]{40}$",
                                        "minLength": 42,
                                        "maxLength": 42
                                    },
                                    "chainId": {
                                        "type": "number",
                                        "description": "Blockchain network chain ID (default: 1 for Ethereum mainnet)",
                                        "default": 1,
                                        "minimum": 1,
                                        "maximum": 2147483647
                                    }
                                },
                                "required": [
                                    "walletAddress"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Nonce generated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nonce": {
                                            "type": "string",
                                            "description": "Cryptographically secure random nonce to be used in SIWE message"
                                        }
                                    },
                                    "required": [
                                        "nonce"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Invalid wallet address format or parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Due to missing or invalid authentication."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/siwe/verify": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "description": "Verify a signed SIWE message and authenticate the user",
                "summary": "Login with SIWE.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "message": {
                                        "type": "string",
                                        "description": "The SIWE message string that was signed",
                                        "minLength": 1
                                    },
                                    "signature": {
                                        "type": "string",
                                        "description": "The signature from the user's wallet",
                                        "minLength": 1
                                    },
                                    "walletAddress": {
                                        "type": "string",
                                        "description": "Ethereum wallet address (must be 42 characters starting with 0x)",
                                        "pattern": "^0[xX][a-fA-F0-9]{40}$",
                                        "minLength": 42,
                                        "maxLength": 42
                                    },
                                    "chainId": {
                                        "type": "number",
                                        "description": "Blockchain network chain ID (must match the Chain ID in SIWE message, default: 1)",
                                        "default": 1,
                                        "minimum": 1,
                                        "maximum": 2147483647
                                    },
                                    "walletClientType": {
                                        "type": "string",
                                        "description": "Type of wallet client used (e.g., 'Phantom', 'MetaMask')"
                                    },
                                    "connectorType": {
                                        "type": "string",
                                        "description": "Type of connector used (e.g., 'injected', 'walletConnect')"
                                    }
                                },
                                "required": [
                                    "message",
                                    "signature",
                                    "walletAddress"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Authentication successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "token": {
                                            "type": "string",
                                            "description": "Session token"
                                        },
                                        "success": {
                                            "type": "boolean",
                                            "description": "Always true on successful authentication"
                                        },
                                        "user": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string",
                                                    "description": "User ID"
                                                },
                                                "walletAddress": {
                                                    "type": "string",
                                                    "description": "Ethereum wallet address"
                                                },
                                                "chainId": {
                                                    "type": "number",
                                                    "description": "Chain ID used for authentication"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "walletAddress",
                                                "chainId"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "token",
                                        "success",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Invalid parameters or email required when anonymous is disabled."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "Error code (e.g., UNAUTHORIZED_INVALID_OR_EXPIRED_NONCE)"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. Invalid or expired nonce, invalid signature, or chainId mismatch."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. This is a problem with the server that you cannot fix."
                    }
                }
            }
        },
        "/iam/v2/auth/link-siwe/nonce": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "summary": "Initialize SIWE link.",
                "description": "Generates a cryptographically secure nonce for creating a SIWE message to link a wallet to the current authenticated user. Requires active session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "walletAddress": {
                                        "type": "string",
                                        "description": "Ethereum wallet address (must be 42 characters starting with 0x)",
                                        "pattern": "^0[xX][a-fA-F0-9]{40}$",
                                        "minLength": 42,
                                        "maxLength": 42
                                    },
                                    "chainId": {
                                        "type": "number",
                                        "description": "Blockchain network chain ID (default: 1 for Ethereum mainnet)",
                                        "default": 1,
                                        "minimum": 1,
                                        "maximum": 2147483647
                                    }
                                },
                                "required": [
                                    "walletAddress"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Nonce generated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "nonce": {
                                            "type": "string",
                                            "description": "Cryptographically secure nonce to use in SIWE message"
                                        }
                                    },
                                    "required": [
                                        "nonce"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Invalid wallet address format or parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. User must be logged in to link a wallet."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error."
                    }
                }
            }
        },
        "/iam/v2/auth/link-siwe/verify": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "summary": "Verify and link SIWE wallet.",
                "description": "Verifies the SIWE signature and links the wallet to the currently authenticated user. Requires active session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "message": {
                                        "type": "string",
                                        "description": "The SIWE message string that was signed",
                                        "minLength": 1
                                    },
                                    "signature": {
                                        "type": "string",
                                        "description": "The signature from the user's wallet",
                                        "minLength": 1
                                    },
                                    "walletAddress": {
                                        "type": "string",
                                        "description": "Ethereum wallet address (must be 42 characters starting with 0x)",
                                        "pattern": "^0[xX][a-fA-F0-9]{40}$",
                                        "minLength": 42,
                                        "maxLength": 42
                                    },
                                    "chainId": {
                                        "type": "number",
                                        "description": "Blockchain network chain ID (must match the Chain ID in SIWE message, default: 1)",
                                        "default": 1,
                                        "minimum": 1,
                                        "maximum": 2147483647
                                    },
                                    "walletClientType": {
                                        "type": "string",
                                        "description": "Type of wallet client used (e.g., 'Phantom', 'MetaMask')"
                                    },
                                    "connectorType": {
                                        "type": "string",
                                        "description": "Type of connector used (e.g., 'injected', 'walletConnect')"
                                    }
                                },
                                "required": [
                                    "message",
                                    "signature",
                                    "walletAddress"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Wallet linked successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "description": "Whether the wallet was successfully linked"
                                        },
                                        "walletAddress": {
                                            "type": "string",
                                            "description": "The checksummed Ethereum address that was linked"
                                        },
                                        "chainId": {
                                            "type": "number",
                                            "description": "The blockchain network chain ID"
                                        },
                                        "isPrimary": {
                                            "type": "boolean",
                                            "description": "Whether this is the user's primary wallet (first wallet linked)"
                                        },
                                        "connectorType": {
                                            "type": "string",
                                            "description": "Type of connector used (e.g., 'injected', 'walletConnect')"
                                        },
                                        "walletClientType": {
                                            "type": "string",
                                            "description": "Type of wallet client used (e.g., 'Phantom', 'MetaMask')"
                                        },
                                        "ensName": {
                                            "type": "string",
                                            "description": "ENS name associated with the wallet (if available)"
                                        },
                                        "ensAvatar": {
                                            "type": "string",
                                            "description": "ENS avatar URL (if available)"
                                        },
                                        "message": {
                                            "type": "string",
                                            "description": "Optional informational message"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "walletAddress",
                                        "chainId",
                                        "isPrimary"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "WALLET_ALREADY_LINKED",
                                                "BAD_REQUEST"
                                            ],
                                            "description": "Error code indicating the type of error"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Wallet already linked to another account or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "UNAUTHORIZED",
                                                "INVALID_OR_EXPIRED_NONCE",
                                                "INVALID_SIGNATURE"
                                            ],
                                            "description": "Error code indicating the authentication failure reason"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Unauthorized. User not logged in, invalid/expired nonce, or invalid signature."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. Failed to link wallet."
                    }
                }
            }
        },
        "/iam/v2/auth/link-siwe/list-wallets": {
            "get": {
                "tags": [
                    "auth v2"
                ],
                "summary": "List linked wallets.",
                "description": "Get all SIWE wallets linked to the authenticated user with full wallet metadata including primary status and chain information. Requires active session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Wallets retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "description": "Unique identifier for this wallet record"
                                            },
                                            "userId": {
                                                "type": "string",
                                                "description": "User ID this wallet is linked to"
                                            },
                                            "address": {
                                                "type": "string",
                                                "description": "Checksummed Ethereum wallet address",
                                                "pattern": "^0[xX][a-fA-F0-9]{40}$"
                                            },
                                            "chainId": {
                                                "type": "number",
                                                "description": "Blockchain network chain ID"
                                            },
                                            "isPrimary": {
                                                "type": "boolean",
                                                "description": "Whether this is the user's primary wallet"
                                            },
                                            "createdAt": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Timestamp when the wallet was linked"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "userId",
                                            "address",
                                            "chainId",
                                            "isPrimary",
                                            "createdAt"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Unauthorized. User is not authenticated."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error."
                    }
                }
            }
        },
        "/iam/v2/auth/link-siwe/unlink": {
            "post": {
                "tags": [
                    "auth v2"
                ],
                "summary": "Unlink SIWE wallet.",
                "description": "Remove a linked wallet from the authenticated user account. If the wallet being unlinked is the primary wallet, another wallet will be automatically promoted to primary. Requires active session.",
                "security": [
                    {
                        "auth_token": [],
                        "projectKey": []
                    }
                ],
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "walletAddress": {
                                        "type": "string",
                                        "description": "Ethereum wallet address to unlink (must be 42 characters starting with 0x)",
                                        "pattern": "^0[xX][a-fA-F0-9]{40}$",
                                        "minLength": 42,
                                        "maxLength": 42
                                    },
                                    "chainId": {
                                        "type": "number",
                                        "description": "Blockchain network chain ID (default: 1 for Ethereum mainnet)",
                                        "default": 1,
                                        "minimum": 1,
                                        "maximum": 2147483647
                                    }
                                },
                                "required": [
                                    "walletAddress"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Wallet unlinked successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "description": "Indicates successful wallet unlinking"
                                        }
                                    },
                                    "required": [
                                        "success"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "code": {
                                            "type": "string",
                                            "enum": [
                                                "BAD_REQUEST",
                                                "CANNOT_UNLINK_LAST_ACCOUNT",
                                                "WALLET_NOT_FOUND"
                                            ],
                                            "description": "Error code indicating the type of error"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ]
                                }
                            }
                        },
                        "description": "Bad Request. Cannot unlink last authentication method, wallet not found, or invalid parameters."
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Unauthorized. User is not authenticated."
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Internal Server Error. Failed to unlink wallet."
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "JsonRpcSuccessResponse_any_": {
                "description": "JSON-RPC 2.0 Success Response",
                "properties": {
                    "jsonrpc": {
                        "type": "string",
                        "enum": [
                            "2.0"
                        ],
                        "nullable": false
                    },
                    "result": {},
                    "id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "number",
                                "format": "double"
                            }
                        ],
                        "nullable": true
                    }
                },
                "required": [
                    "jsonrpc",
                    "result",
                    "id"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "JsonRpcError": {
                "description": "JSON-RPC 2.0 Error Object",
                "properties": {
                    "code": {
                        "type": "number",
                        "format": "double"
                    },
                    "message": {
                        "type": "string"
                    },
                    "data": {}
                },
                "required": [
                    "code",
                    "message"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "JsonRpcErrorResponse": {
                "description": "JSON-RPC 2.0 Error Response",
                "properties": {
                    "jsonrpc": {
                        "type": "string",
                        "enum": [
                            "2.0"
                        ],
                        "nullable": false
                    },
                    "error": {
                        "$ref": "#/components/schemas/JsonRpcError"
                    },
                    "id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "number",
                                "format": "double"
                            }
                        ],
                        "nullable": true
                    }
                },
                "required": [
                    "jsonrpc",
                    "error",
                    "id"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "JsonRpcResponse": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/JsonRpcSuccessResponse_any_"
                    },
                    {
                        "$ref": "#/components/schemas/JsonRpcErrorResponse"
                    }
                ],
                "description": "JSON-RPC 2.0 Response (either success or error)"
            },
            "JsonRpcRequest": {
                "description": "JSON-RPC 2.0 Request",
                "properties": {
                    "jsonrpc": {
                        "type": "string",
                        "enum": [
                            "2.0"
                        ],
                        "nullable": false
                    },
                    "method": {
                        "type": "string"
                    },
                    "params": {},
                    "id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "number",
                                "format": "double"
                            }
                        ],
                        "nullable": true
                    }
                },
                "required": [
                    "jsonrpc",
                    "method"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CheckoutResponse": {
                "properties": {
                    "url": {
                        "type": "string"
                    }
                },
                "required": [
                    "url"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Currency": {
                "enum": [
                    "usd"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "USD"
                ]
            },
            "CheckoutRequest": {
                "properties": {
                    "amount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Amount in cents",
                        "minimum": 1
                    },
                    "currency": {
                        "$ref": "#/components/schemas/Currency"
                    },
                    "cancelUrl": {
                        "type": "string"
                    },
                    "successUrl": {
                        "type": "string"
                    }
                },
                "required": [
                    "amount",
                    "currency"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CheckoutSubscriptionRequest": {
                "properties": {
                    "plan": {
                        "type": "string"
                    },
                    "cancelUrl": {
                        "type": "string"
                    },
                    "successUrl": {
                        "type": "string"
                    }
                },
                "required": [
                    "plan"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Money": {
                "properties": {
                    "amount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Amount in cents",
                        "minimum": 1
                    },
                    "currency": {
                        "$ref": "#/components/schemas/Currency"
                    }
                },
                "required": [
                    "amount",
                    "currency"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BalanceResponse": {
                "properties": {
                    "balance": {
                        "$ref": "#/components/schemas/Money"
                    },
                    "expenses": {
                        "$ref": "#/components/schemas/Money"
                    },
                    "payments": {
                        "$ref": "#/components/schemas/Money"
                    }
                },
                "required": [
                    "balance",
                    "expenses",
                    "payments"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ResponseType.LIST": {
                "enum": [
                    "list"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LIST"
                ]
            },
            "EntityIdResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "id"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SponsorSchema.PAY_FOR_USER": {
                "enum": [
                    "pay_for_user"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PAY_FOR_USER"
                ]
            },
            "SponsorSchema": {
                "enum": [
                    "pay_for_user",
                    "charge_custom_tokens",
                    "fixed_rate"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PAY_FOR_USER",
                    "CHARGE_CUSTOM_TOKENS",
                    "FIXED_RATE"
                ]
            },
            "PayForUserPolicyStrategy": {
                "properties": {
                    "sponsorSchema": {
                        "$ref": "#/components/schemas/SponsorSchema.PAY_FOR_USER"
                    },
                    "depositor": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "required": [
                    "sponsorSchema"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SponsorSchema.CHARGE_CUSTOM_TOKENS": {
                "enum": [
                    "charge_custom_tokens"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CHARGE_CUSTOM_TOKENS"
                ]
            },
            "ChargeCustomTokenPolicyStrategy": {
                "properties": {
                    "sponsorSchema": {
                        "$ref": "#/components/schemas/SponsorSchema.CHARGE_CUSTOM_TOKENS"
                    },
                    "depositor": {
                        "type": "string",
                        "nullable": true
                    },
                    "tokenContract": {
                        "type": "string"
                    },
                    "tokenContractAmount": {
                        "type": "string"
                    }
                },
                "required": [
                    "sponsorSchema",
                    "tokenContract",
                    "tokenContractAmount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SponsorSchema.FIXED_RATE": {
                "enum": [
                    "fixed_rate"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "FIXED_RATE"
                ]
            },
            "FixedRateTokenPolicyStrategy": {
                "properties": {
                    "sponsorSchema": {
                        "$ref": "#/components/schemas/SponsorSchema.FIXED_RATE"
                    },
                    "depositor": {
                        "type": "string",
                        "nullable": true
                    },
                    "tokenContract": {
                        "type": "string"
                    },
                    "tokenContractAmount": {
                        "type": "string"
                    }
                },
                "required": [
                    "sponsorSchema",
                    "tokenContract",
                    "tokenContractAmount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyStrategy": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/PayForUserPolicyStrategy"
                    },
                    {
                        "$ref": "#/components/schemas/ChargeCustomTokenPolicyStrategy"
                    },
                    {
                        "$ref": "#/components/schemas/FixedRateTokenPolicyStrategy"
                    }
                ]
            },
            "EntityType.POLICY": {
                "enum": [
                    "policy"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "POLICY"
                ]
            },
            "Policy": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "deleted": {
                        "type": "boolean"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID."
                    },
                    "paymaster": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "forwarderContract": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/PolicyStrategy"
                    },
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    },
                    "policyRules": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name",
                    "deleted",
                    "enabled",
                    "chainId",
                    "strategy",
                    "transactionIntents",
                    "policyRules"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerMetadata": {
                "properties": {},
                "type": "object",
                "additionalProperties": {
                    "anyOf": [
                        {
                            "type": "string"
                        },
                        {
                            "type": "number",
                            "format": "double"
                        }
                    ]
                }
            },
            "EntityType.PLAYER": {
                "enum": [
                    "player"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PLAYER"
                ]
            },
            "Player": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata"
                    },
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    },
                    "accounts": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.ACCOUNT": {
                "enum": [
                    "account"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ACCOUNT"
                ]
            },
            "Account": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.ACCOUNT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean"
                    },
                    "custodial": {
                        "type": "boolean"
                    },
                    "embeddedSigner": {
                        "type": "boolean"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID."
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "pendingOwnerAddress": {
                        "type": "string"
                    },
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    },
                    "player": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address",
                    "ownerAddress",
                    "deployed",
                    "custodial",
                    "embeddedSigner",
                    "chainId",
                    "accountType",
                    "player"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.DEVELOPER_ACCOUNT": {
                "enum": [
                    "developerAccount"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "DEVELOPER_ACCOUNT"
                ]
            },
            "DeveloperAccount": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.DEVELOPER_ACCOUNT"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "address": {
                        "type": "string"
                    },
                    "custodial": {
                        "type": "boolean"
                    },
                    "name": {
                        "type": "string"
                    },
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdResponse"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address",
                    "custodial"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionAbstractionType": {
                "enum": [
                    "accountAbstractionV6",
                    "accountAbstractionV8",
                    "accountAbstractionV9",
                    "zkSync",
                    "standard"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "AAV6",
                    "AAV8",
                    "AAV9",
                    "ZKSYNC",
                    "EOA"
                ]
            },
            "TransactionStatus": {
                "enum": [
                    "none",
                    "new",
                    "sent",
                    "dropped",
                    "indexed",
                    "confirmed",
                    "reverted",
                    "notfound",
                    "replaced",
                    "expired"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "NONE",
                    "NEW",
                    "SENT",
                    "DROPPED",
                    "INDEXED",
                    "CONFIRMED",
                    "REVERTED",
                    "NOT_FOUND",
                    "REPLACED",
                    "EXPIRED"
                ]
            },
            "Transition": {
                "description": "A transition represents a change in the status of a transaction intent.",
                "properties": {
                    "fromStatus": {
                        "$ref": "#/components/schemas/TransactionStatus"
                    },
                    "toStatus": {
                        "$ref": "#/components/schemas/TransactionStatus"
                    },
                    "at": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "fromStatus",
                    "toStatus",
                    "at"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ZKSyncDetails": {
                "properties": {
                    "from": {
                        "type": "string",
                        "description": "The transaction sender.",
                        "example": "0x8ab66318aCC6b29A27e74e534bfe3ecf81C50387"
                    },
                    "to": {
                        "type": "string",
                        "description": "The transaction recipient or contract address."
                    },
                    "data": {
                        "type": "string",
                        "description": "A contract hashed method call with encoded args.",
                        "example": "0x8c5a..."
                    },
                    "nonce": {
                        "type": "string",
                        "description": "Unique number identifying this transaction.",
                        "example": "0"
                    },
                    "gas": {
                        "type": "string",
                        "description": "The gas limit for the transaction.",
                        "example": "21000"
                    },
                    "maxFeePerGas": {
                        "type": "string",
                        "description": "Total fee per gas (in wei), inclusive of `maxPriorityFeePerGas`. Only applies to EIP-1559 Transactions.",
                        "example": "1000000000"
                    },
                    "maxPriorityFeePerGas": {
                        "type": "string",
                        "description": "Max priority fee per gas (in wei). Only applies to EIP-1559 Transactions.",
                        "example": "1000000000"
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "Address of the paymaster account that will pay the fees.",
                        "example": "0x8ab66318aCC6b29A27e74e534bfe3ecf81C50387"
                    },
                    "paymasterInput": {
                        "type": "string",
                        "description": "Input data to the paymaster",
                        "example": "0x8c5a..."
                    },
                    "value": {
                        "type": "string",
                        "description": "Value in wei sent with this transaction.",
                        "example": "1000000000000000000"
                    }
                },
                "required": [
                    "from",
                    "to",
                    "nonce",
                    "gas",
                    "maxFeePerGas",
                    "maxPriorityFeePerGas"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserOperationV6": {
                "properties": {
                    "callData": {
                        "type": "string",
                        "description": "The data to pass to the `sender` during the main execution call."
                    },
                    "callGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate the main execution call"
                    },
                    "initCode": {
                        "type": "string",
                        "description": "Account init code. Only for new accounts."
                    },
                    "maxFeePerGas": {
                        "type": "string",
                        "description": "Maximum fee per gas."
                    },
                    "maxPriorityFeePerGas": {
                        "type": "string",
                        "description": "Maximum priority fee per gas."
                    },
                    "nonce": {
                        "type": "string",
                        "description": "Anti-replay parameter."
                    },
                    "paymasterAndData": {
                        "type": "string",
                        "description": "Paymaster address with calldata."
                    },
                    "preVerificationGas": {
                        "type": "string",
                        "description": "Extra gas to pay the bundler."
                    },
                    "sender": {
                        "type": "string",
                        "description": "The account making the operation."
                    },
                    "signature": {
                        "type": "string",
                        "description": "Data passed into the account to verify authorization."
                    },
                    "verificationGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate for the verification step."
                    }
                },
                "required": [
                    "callData",
                    "callGasLimit",
                    "maxFeePerGas",
                    "maxPriorityFeePerGas",
                    "nonce",
                    "preVerificationGas",
                    "sender",
                    "signature",
                    "verificationGasLimit"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountAbstractionV6Details": {
                "properties": {
                    "userOperation": {
                        "$ref": "#/components/schemas/UserOperationV6"
                    },
                    "userOperationHash": {
                        "type": "string",
                        "description": "A User Operation hash."
                    }
                },
                "required": [
                    "userOperation",
                    "userOperationHash"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserOperationV8": {
                "properties": {
                    "callData": {
                        "type": "string",
                        "description": "The data to pass to the `sender` during the main execution call."
                    },
                    "callGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate the main execution call"
                    },
                    "factory": {
                        "type": "string",
                        "description": "Account init code. Only for new accounts."
                    },
                    "factoryData": {
                        "type": "string",
                        "description": "Factory data for account creation."
                    },
                    "maxFeePerGas": {
                        "type": "string",
                        "description": "Maximum fee per gas."
                    },
                    "maxPriorityFeePerGas": {
                        "type": "string",
                        "description": "Maximum priority fee per gas."
                    },
                    "nonce": {
                        "type": "string",
                        "description": "Anti-replay parameter."
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "Paymaster address."
                    },
                    "paymasterVerificationGasLimit": {
                        "type": "string",
                        "description": "Paymaster verification gas limit."
                    },
                    "paymasterPostOpGasLimit": {
                        "type": "string",
                        "description": "Paymaster post-operation gas limit."
                    },
                    "paymasterData": {
                        "type": "string",
                        "description": "Paymaster data."
                    },
                    "preVerificationGas": {
                        "type": "string",
                        "description": "Extra gas to pay the bundler."
                    },
                    "sender": {
                        "type": "string",
                        "description": "The account making the operation."
                    },
                    "signature": {
                        "type": "string",
                        "description": "Data passed into the account to verify authorization."
                    },
                    "verificationGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate for the verification step."
                    }
                },
                "required": [
                    "callData",
                    "callGasLimit",
                    "maxFeePerGas",
                    "maxPriorityFeePerGas",
                    "nonce",
                    "preVerificationGas",
                    "sender",
                    "signature",
                    "verificationGasLimit"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountAbstractionV8Details": {
                "properties": {
                    "userOperation": {
                        "$ref": "#/components/schemas/UserOperationV8"
                    },
                    "userOperationHash": {
                        "type": "string",
                        "description": "A User Operation hash."
                    }
                },
                "required": [
                    "userOperation",
                    "userOperationHash"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserOperationV9": {
                "description": "V9 UserOperation extends V8 with paymasterSignature field.\npaymasterSignature enables parallelizable Paymaster signing -\ndata can be passed to the Paymaster after the UserOperation is signed by the wallet.",
                "properties": {
                    "callData": {
                        "type": "string",
                        "description": "The data to pass to the `sender` during the main execution call."
                    },
                    "callGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate the main execution call"
                    },
                    "factory": {
                        "type": "string",
                        "description": "Account init code. Only for new accounts."
                    },
                    "factoryData": {
                        "type": "string",
                        "description": "Factory data for account creation."
                    },
                    "maxFeePerGas": {
                        "type": "string",
                        "description": "Maximum fee per gas."
                    },
                    "maxPriorityFeePerGas": {
                        "type": "string",
                        "description": "Maximum priority fee per gas."
                    },
                    "nonce": {
                        "type": "string",
                        "description": "Anti-replay parameter."
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "Paymaster address."
                    },
                    "paymasterVerificationGasLimit": {
                        "type": "string",
                        "description": "Paymaster verification gas limit."
                    },
                    "paymasterPostOpGasLimit": {
                        "type": "string",
                        "description": "Paymaster post-operation gas limit."
                    },
                    "paymasterData": {
                        "type": "string",
                        "description": "Paymaster data."
                    },
                    "preVerificationGas": {
                        "type": "string",
                        "description": "Extra gas to pay the bundler."
                    },
                    "sender": {
                        "type": "string",
                        "description": "The account making the operation."
                    },
                    "signature": {
                        "type": "string",
                        "description": "Data passed into the account to verify authorization."
                    },
                    "verificationGasLimit": {
                        "type": "string",
                        "description": "The amount of gas to allocate for the verification step."
                    },
                    "paymasterSignature": {
                        "type": "string",
                        "description": "Paymaster signature - enables parallelizable signing.\nThis field does not affect the UserOperation hash, allowing\nthe sender and paymaster to sign in parallel."
                    }
                },
                "required": [
                    "callData",
                    "callGasLimit",
                    "maxFeePerGas",
                    "maxPriorityFeePerGas",
                    "nonce",
                    "preVerificationGas",
                    "sender",
                    "signature",
                    "verificationGasLimit"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountAbstractionV9Details": {
                "description": "V9 details - extends V8 with paymasterSignature for parallelizable signing",
                "properties": {
                    "userOperation": {
                        "$ref": "#/components/schemas/UserOperationV9"
                    },
                    "userOperationHash": {
                        "type": "string",
                        "description": "A User Operation hash."
                    }
                },
                "required": [
                    "userOperation",
                    "userOperationHash"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "StandardDetails": {
                "properties": {
                    "from": {
                        "type": "string",
                        "description": "The transaction sender.",
                        "example": "0x8ab66318aCC6b29A27e74e534bfe3ecf81C50387"
                    },
                    "to": {
                        "type": "string",
                        "description": "The transaction recipient or contract address."
                    },
                    "data": {
                        "type": "string",
                        "description": "A contract hashed method call with encoded args.",
                        "example": "0x8c5a..."
                    },
                    "nonce": {
                        "type": "string",
                        "description": "Unique number identifying this transaction.",
                        "example": "0"
                    },
                    "gas": {
                        "type": "string",
                        "description": "The gas limit for the transaction.",
                        "example": "21000"
                    },
                    "maxFeePerGas": {
                        "type": "string",
                        "description": "Total fee per gas (in wei), inclusive of `maxPriorityFeePerGas`. Only applies to EIP-1559 Transactions.",
                        "example": "1000000000"
                    },
                    "maxPriorityFeePerGas": {
                        "type": "string",
                        "description": "Max priority fee per gas (in wei). Only applies to EIP-1559 Transactions.",
                        "example": "1000000000"
                    },
                    "value": {
                        "type": "string",
                        "description": "Value in wei sent with this transaction.",
                        "example": "0x8ab66318aCC6b29A27e74e534bfe3ecf81C50387"
                    }
                },
                "required": [
                    "from",
                    "to",
                    "nonce",
                    "gas",
                    "maxFeePerGas",
                    "maxPriorityFeePerGas"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionResponseLog": {
                "properties": {
                    "blockNumber": {
                        "type": "number",
                        "format": "double"
                    },
                    "blockHash": {
                        "type": "string"
                    },
                    "transactionIndex": {
                        "type": "number",
                        "format": "double"
                    },
                    "removed": {
                        "type": "boolean"
                    },
                    "address": {
                        "type": "string"
                    },
                    "data": {
                        "type": "string"
                    },
                    "topics": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "transactionHash": {
                        "type": "string"
                    },
                    "logIndex": {
                        "type": "number",
                        "format": "double"
                    },
                    "orphaned": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "blockNumber",
                    "blockHash",
                    "transactionIndex",
                    "removed",
                    "address",
                    "data",
                    "topics",
                    "transactionHash",
                    "logIndex"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionErrorExplanation": {
                "properties": {
                    "cause": {
                        "type": "string",
                        "description": "A human-readable description of what caused the error.",
                        "example": "The paymaster does not have enough native tokens deposited in the EntryPoint to cover the gas cost."
                    },
                    "solution": {
                        "type": "string",
                        "description": "A human-readable suggestion for how to resolve the error.",
                        "example": "Top up your account balance in the dashboard or deposit more to the Paymaster contract on the relevant chain."
                    }
                },
                "required": [
                    "cause",
                    "solution"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionError": {
                "properties": {
                    "reason": {
                        "type": "string",
                        "description": "The error reason string returned by the bundler or execution environment.",
                        "example": "AA31: paymaster deposit too low"
                    },
                    "name": {
                        "type": "string",
                        "description": "The decoded error name from the contract revert, if available.",
                        "example": "ExecutionResult"
                    },
                    "explanation": {
                        "$ref": "#/components/schemas/TransactionErrorExplanation",
                        "description": "Detailed explanation of the error cause and suggested solution.\nPresent only for known Account Abstraction error codes (AA10–AA99)."
                    }
                },
                "required": [
                    "reason"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ResponseResponse": {
                "properties": {
                    "createdAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The unix timestamp in seconds when the transactionIntent was created."
                    },
                    "blockNumber": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The block height (number) of the block including the transaction of this log."
                    },
                    "transactionHash": {
                        "type": "string",
                        "description": "The transaction hash of the transaction of this log."
                    },
                    "l1GasUsed": {
                        "type": "string",
                        "description": "The l1 gas used by the transaction of this log."
                    },
                    "gasUsed": {
                        "type": "string",
                        "description": "The gas used by the transaction of this log."
                    },
                    "gasFee": {
                        "type": "string",
                        "description": "The gas fee by the transaction of this log."
                    },
                    "l1GasFee": {
                        "type": "string",
                        "description": "The l1 gas fee by the transaction of this log."
                    },
                    "status": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The status of the transaction of this log."
                    },
                    "logs": {
                        "items": {
                            "$ref": "#/components/schemas/TransactionResponseLog"
                        },
                        "type": "array",
                        "description": "The logs of the transaction of this log."
                    },
                    "to": {
                        "type": "string",
                        "description": "The address of the contract of this log."
                    },
                    "error": {
                        "$ref": "#/components/schemas/TransactionError",
                        "description": "The error of the transaction, if it failed or was rejected.\nContains the error reason and, for known Account Abstraction errors (AA10–AA99),\nan explanation with cause and solution."
                    }
                },
                "required": [
                    "createdAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Interaction": {
                "properties": {
                    "to": {
                        "type": "string",
                        "description": "The address of the recipient of native tokens. Use *only* to transfer native tokens. If you provide one of a `pla_...`,  or `acc_...` it will be converted to the corresponding address."
                    },
                    "value": {
                        "type": "string",
                        "description": "The value intended to be sent with the transaction. Should be a stringified number in WEI (i.e. factor 10^18).\n*",
                        "example": "1000000000000000000"
                    },
                    "contract": {
                        "type": "string",
                        "description": "The contract ID you want to interact with. Must have been added to Openfort first, starts with `con_`.",
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    },
                    "functionName": {
                        "type": "string",
                        "description": "The function name of the contract. Accepts a a function signature as well (e.g. mint(address)).",
                        "example": "mint"
                    },
                    "functionArgs": {
                        "items": {},
                        "type": "array",
                        "description": "The function arguments of the contract, in string format. If you provide one of a `pla_...`, `con_...` or `acc_...` it will be converted to the corresponding address.",
                        "example": [
                            "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                        ]
                    },
                    "dataSuffix": {
                        "type": "string",
                        "description": "Data to append to the end of the calldata. Useful for [adding a \"domain\" tag](https://opensea.notion.site/opensea/Seaport-Order-Attributions-ec2d69bf455041a5baa490941aad307f)"
                    },
                    "data": {
                        "type": "string",
                        "description": "The encoded calldata of the contract."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "NextActionType": {
                "enum": [
                    "sign_with_wallet"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SIGN_WITH_WALLET"
                ]
            },
            "NextActionPayload": {
                "properties": {
                    "userOp": {
                        "description": "The userOperation.",
                        "deprecated": true
                    },
                    "userOpHash": {
                        "type": "string",
                        "description": "The hashed userOperation.",
                        "deprecated": true
                    },
                    "userOperation": {
                        "description": "The userOperation.",
                        "deprecated": true
                    },
                    "userOperationHash": {
                        "type": "string",
                        "description": "The hashed userOperation.",
                        "deprecated": true
                    },
                    "signableHash": {
                        "type": "string",
                        "description": "chain-agnostic hash to sign."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "NextActionResponse": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/NextActionType"
                    },
                    "payload": {
                        "$ref": "#/components/schemas/NextActionPayload"
                    }
                },
                "required": [
                    "type",
                    "payload"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.TRANSACTION_INTENT": {
                "enum": [
                    "transactionIntent"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TRANSACTION_INTENT"
                ]
            },
            "TransactionIntentResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.TRANSACTION_INTENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The unix timestamp in seconds when the transactionIntent was created."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID.",
                        "example": 5
                    },
                    "abstractionType": {
                        "$ref": "#/components/schemas/TransactionAbstractionType",
                        "description": "The transaction abstraction type",
                        "example": "accountAbstractionV6"
                    },
                    "transitions": {
                        "items": {
                            "$ref": "#/components/schemas/Transition"
                        },
                        "type": "array",
                        "description": "Transition of statuses the transaction has gone through."
                    },
                    "details": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ZKSyncDetails"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV6Details"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV8Details"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV9Details"
                            },
                            {
                                "$ref": "#/components/schemas/StandardDetails"
                            }
                        ],
                        "description": "Specific transaction details based on its type"
                    },
                    "userOperationHash": {
                        "type": "string",
                        "deprecated": true
                    },
                    "userOperation": {
                        "deprecated": true
                    },
                    "response": {
                        "$ref": "#/components/schemas/ResponseResponse"
                    },
                    "finalCost": {
                        "type": "string",
                        "description": "The actual transaction cost in USD, available after on-chain confirmation.",
                        "example": "0.42"
                    },
                    "interactions": {
                        "items": {
                            "$ref": "#/components/schemas/Interaction"
                        },
                        "type": "array"
                    },
                    "nextAction": {
                        "$ref": "#/components/schemas/NextActionResponse"
                    },
                    "policy": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/Policy"
                            },
                            {
                                "$ref": "#/components/schemas/EntityIdResponse"
                            }
                        ],
                        "description": "The policy ID (starts with pol_).",
                        "example": "pol_..."
                    },
                    "player": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/Player"
                            },
                            {
                                "$ref": "#/components/schemas/EntityIdResponse"
                            }
                        ],
                        "description": "The player ID (starts with pla_).",
                        "example": "pla_..."
                    },
                    "account": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/Account"
                            },
                            {
                                "$ref": "#/components/schemas/EntityIdResponse"
                            },
                            {
                                "$ref": "#/components/schemas/DeveloperAccount"
                            }
                        ],
                        "description": "The account ID (starts with acc_).",
                        "example": "acc_..."
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "updatedAt",
                    "chainId",
                    "abstractionType",
                    "account"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionIntentListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/TransactionIntentResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ErrorType.INVALID_REQUEST_ERROR": {
                "enum": [
                    "invalid_request_error"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "INVALID_REQUEST_ERROR"
                ]
            },
            "FieldErrors": {
                "properties": {},
                "type": "object",
                "additionalProperties": {
                    "properties": {
                        "value": {},
                        "message": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "message"
                    ],
                    "type": "object"
                }
            },
            "InvalidRequestError": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/ErrorType.INVALID_REQUEST_ERROR"
                    },
                    "message": {
                        "type": "string"
                    },
                    "details": {
                        "$ref": "#/components/schemas/FieldErrors"
                    }
                },
                "required": [
                    "type",
                    "message"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "InvalidRequestErrorResponse": {
                "properties": {
                    "error": {
                        "$ref": "#/components/schemas/InvalidRequestError"
                    }
                },
                "required": [
                    "error"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionIntentResponseExpandable": {
                "type": "string",
                "enum": [
                    "policy",
                    "player",
                    "account"
                ],
                "nullable": false
            },
            "Prisma.SortOrder": {
                "type": "string",
                "enum": [
                    "asc",
                    "desc"
                ]
            },
            "TransactionIntentListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/TransactionIntentResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "account": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Filter by account ID or developer account (starts with acc_ or dac_ respectively).",
                        "example": [
                            "acc_dc981458-a653-4539-b120-a321915b2896"
                        ]
                    },
                    "player": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Filter by player ID (starts with pla_).",
                        "example": [
                            "pla_556166c9-77ad-4a39-aaf8-c432defa8a0f"
                        ]
                    },
                    "status": {
                        "type": "number",
                        "format": "double",
                        "description": "Filter by successful (1) or failed (0) transaction intents.",
                        "example": 1
                    },
                    "policy": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Filter by policy ID (starts with pol_).",
                        "example": [
                            "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                        ]
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "CreateTransactionIntentRequest": {
                "properties": {
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "player": {
                        "type": "string",
                        "description": "ID of the Player this TransactionIntent belongs to, if one exists (starts with `pla_`).\n\nIf you omit this parameter a new Player will be created.",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "account": {
                        "type": "string",
                        "description": "ID of the Account this TransactionIntent is executed with, if one exists (starts with `acc_` or `dac_`).\n\nWhen providing a Player and ChainID, you can omit this parameter.",
                        "example": "acc_e1b24353-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "policy": {
                        "type": "string",
                        "description": "ID of the Policy that defines the gas sponsorship strategy (starts with `pol_`). If no Policy is provided, the own Account native token funds will be used to pay for gas.",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    },
                    "externalOwnerAddress": {
                        "type": "string",
                        "description": "Use this parameter to create a new Account for Player with the provided owner address.\n\nIf you omit this parameter and no Account exists for the Player, a custodial Account will be created.",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "optimistic": {
                        "type": "boolean",
                        "description": "Set to `true` to indicate that the transactionIntent request should be resolved as soon as possible, after the transactionIntent is created and simulated and before it arrives on chain.",
                        "example": true
                    },
                    "signedAuthorization": {
                        "type": "string",
                        "description": "Signed authorization for delegated accounts. This signature is used to authorize the user operation for AccountAbstractionV8.\nThe signature should be in the format \"0x...\" and will be parsed to extract r, s, and yParity values.",
                        "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1c"
                    },
                    "interactions": {
                        "items": {
                            "$ref": "#/components/schemas/Interaction"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "chainId",
                    "interactions"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EstimateTransactionIntentGasResult": {
                "description": "return value from estimateTransactionIntentCost",
                "properties": {
                    "estimatedTXGas": {
                        "type": "string",
                        "description": "estimated TX gas cost"
                    },
                    "estimatedTXGasFee": {
                        "type": "string",
                        "description": "estimated TX gas cost in the chain native token (WEI)"
                    },
                    "estimatedTXGasFeeUSD": {
                        "type": "string",
                        "description": "estimated TX gas cost in USD"
                    },
                    "estimatedTXGasFeeToken": {
                        "type": "string",
                        "description": "when using a policy, the estimated TX gas cost in the ERC-20 token defined in the strategy (WEI)"
                    },
                    "gasPrice": {
                        "type": "string",
                        "description": "gas price used for the estimation"
                    }
                },
                "required": [
                    "estimatedTXGas",
                    "estimatedTXGasFee",
                    "estimatedTXGasFeeUSD",
                    "gasPrice"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SignatureRequest": {
                "properties": {
                    "signature": {
                        "type": "string",
                        "description": "signed userOperationHash by the owner or valid session key",
                        "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
                    },
                    "optimistic": {
                        "type": "boolean",
                        "description": "Set to `true` to indicate that the transactionIntent request should be resolved as soon as possible, after the transactionIntent is created and simulated and before it arrives on chain.",
                        "example": true
                    }
                },
                "required": [
                    "signature"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "APITopic": {
                "enum": [
                    "transaction_intent.broadcast",
                    "transaction_intent.successful",
                    "transaction_intent.cancelled",
                    "transaction_intent.failed",
                    "balance.project",
                    "balance.contract",
                    "balance.dev_account",
                    "test",
                    "user.created",
                    "user.updated",
                    "user.deleted",
                    "account.created",
                    "solana_transaction.broadcast",
                    "solana_transaction.successful",
                    "solana_transaction.failed"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TRANSACTION_BROADCAST",
                    "TRANSACTION_SUCCESSFUL",
                    "TRANSACTION_CANCELLED",
                    "TRANSACTION_FAILED",
                    "BALANCE_PROJECT",
                    "BALANCE_CONTRACT",
                    "BALANCE_DEV_ACCOUNT",
                    "TEST",
                    "USER_CREATED",
                    "USER_UPDATED",
                    "USER_DELETED",
                    "ACCOUNT_CREATED",
                    "SOLANA_TRANSACTION_BROADCAST",
                    "SOLANA_TRANSACTION_SUCCESSFUL",
                    "SOLANA_TRANSACTION_FAILED"
                ]
            },
            "APITriggerType": {
                "enum": [
                    "webhook",
                    "email"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "WEBHOOK",
                    "EMAIL"
                ]
            },
            "EntityType.TRIGGER": {
                "enum": [
                    "trigger"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TRIGGER"
                ]
            },
            "TriggerResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.TRIGGER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "target": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/APITriggerType"
                    },
                    "subscription": {
                        "type": "string"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "target",
                    "type",
                    "subscription"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.SUBSCRIPTION": {
                "enum": [
                    "subscription"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SUBSCRIPTION"
                ]
            },
            "SubscriptionResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SUBSCRIPTION"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic"
                    },
                    "triggers": {
                        "items": {
                            "$ref": "#/components/schemas/TriggerResponse"
                        },
                        "type": "array"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "triggers"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SubscriptionListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/SubscriptionResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Status": {
                "enum": [
                    "success",
                    "failed"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SUCCESS",
                    "FAILED"
                ]
            },
            "EntityType.LOG": {
                "enum": [
                    "log"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LOG"
                ]
            },
            "LogResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.LOG"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic"
                    },
                    "status": {
                        "$ref": "#/components/schemas/Status"
                    },
                    "subscription": {
                        "type": "string"
                    },
                    "trigger": {
                        "type": "string"
                    },
                    "requestID": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "status",
                    "subscription",
                    "trigger",
                    "requestID"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BaseEntityListResponse_LogResponse_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/LogResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SubscriptionLogsResponse": {
                "$ref": "#/components/schemas/BaseEntityListResponse_LogResponse_"
            },
            "ListSubscriptionLogsRequest": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic",
                        "description": "Specifies the topic of the subscription logs",
                        "example": "transaction.broadcast"
                    },
                    "status": {
                        "$ref": "#/components/schemas/Status",
                        "description": "Specifies the status of the subscription logs",
                        "example": "success"
                    },
                    "object": {
                        "type": "string",
                        "description": "Specifies the object ID of the object related to triggered notification",
                        "example": "obj_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "subscription": {
                        "type": "string",
                        "description": "Specifies the subscription ID",
                        "example": "sub_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "Specifies the trigger ID",
                        "example": "tri_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "requestID": {
                        "type": "string",
                        "description": "Specifies the request ID",
                        "example": "89fac242a268c584"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "GetSubscriptionResponse": {
                "$ref": "#/components/schemas/SubscriptionResponse"
            },
            "CreateSubscriptionResponse": {
                "$ref": "#/components/schemas/SubscriptionResponse"
            },
            "CreateTriggerRequest": {
                "properties": {
                    "target": {
                        "type": "string",
                        "description": "Specifies the target of the trigger",
                        "example": "https://example.com"
                    },
                    "type": {
                        "$ref": "#/components/schemas/APITriggerType",
                        "description": "Specifies the type of the trigger",
                        "example": "webhook"
                    },
                    "subscription": {
                        "type": "string",
                        "description": "Specifies the subscription ID",
                        "example": "sub_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    }
                },
                "required": [
                    "target",
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateSubscriptionRequest": {
                "properties": {
                    "topic": {
                        "$ref": "#/components/schemas/APITopic",
                        "description": "Specifies the topic of the subscription",
                        "example": "transaction.broadcast"
                    },
                    "triggers": {
                        "items": {
                            "$ref": "#/components/schemas/CreateTriggerRequest"
                        },
                        "type": "array",
                        "description": "Specifies the triggers of the subscription"
                    }
                },
                "required": [
                    "topic",
                    "triggers"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SubscriptionDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SUBSCRIPTION"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BaseEntityListResponse_TriggerResponse_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/TriggerResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TriggerListResponse": {
                "$ref": "#/components/schemas/BaseEntityListResponse_TriggerResponse_"
            },
            "GetTriggerResponse": {
                "$ref": "#/components/schemas/TriggerResponse"
            },
            "CreateTriggerResponse": {
                "$ref": "#/components/schemas/TriggerResponse"
            },
            "TriggerDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.TRIGGER"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaTransactionStatus": {
                "type": "string",
                "enum": [
                    "sent",
                    "confirmed",
                    "expired",
                    "failed"
                ],
                "description": "Lifecycle status of a Solana transaction."
            },
            "SolanaTransactionStatusResponse": {
                "description": "Solana transaction status response — exposes the on-chain transaction signature\n(hash) and the lifecycle status of the underlying sponsorship row.",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Internal Solana transaction ID (starts with `sol_`).",
                        "example": "sol_f2b8b5f0-1f5c-4a7e-9b3a-1d2e3f4a5b6c"
                    },
                    "externalId": {
                        "type": "string",
                        "nullable": true,
                        "description": "Caller-supplied externalId, if one was provided when the transaction was signed."
                    },
                    "txSignature": {
                        "type": "string",
                        "nullable": true,
                        "description": "Base58-encoded Solana transaction signature (a.k.a. transaction hash).\nNull only for `signTransaction` transactions that were never broadcast.",
                        "example": "5VfYbZ8XQ9..."
                    },
                    "status": {
                        "$ref": "#/components/schemas/SolanaTransactionStatus",
                        "description": "Lifecycle status of the transaction:\n- sent: signed by Kora, awaiting on-chain confirmation\n- confirmed: confirmed on-chain\n- expired: blockhash expired or never broadcast\n- failed: landed on-chain but execution failed (see errorMessage)",
                        "example": "confirmed"
                    },
                    "errorMessage": {
                        "type": "string",
                        "nullable": true,
                        "description": "On-chain error message when status is FAILED."
                    }
                },
                "required": [
                    "id",
                    "externalId",
                    "txSignature",
                    "status",
                    "errorMessage"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionIntent": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.TRANSACTION_INTENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The unix timestamp in seconds when the transactionIntent was created."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID.",
                        "example": 5
                    },
                    "abstractionType": {
                        "$ref": "#/components/schemas/TransactionAbstractionType",
                        "description": "The transaction abstraction type",
                        "example": "accountAbstractionV6"
                    },
                    "transitions": {
                        "items": {
                            "$ref": "#/components/schemas/Transition"
                        },
                        "type": "array",
                        "description": "Transition of statuses the transaction has gone through."
                    },
                    "details": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ZKSyncDetails"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV6Details"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV8Details"
                            },
                            {
                                "$ref": "#/components/schemas/AccountAbstractionV9Details"
                            },
                            {
                                "$ref": "#/components/schemas/StandardDetails"
                            }
                        ],
                        "description": "Specific transaction details based on its type"
                    },
                    "userOperationHash": {
                        "type": "string",
                        "deprecated": true
                    },
                    "userOperation": {
                        "deprecated": true
                    },
                    "response": {
                        "$ref": "#/components/schemas/ResponseResponse"
                    },
                    "finalCost": {
                        "type": "string",
                        "description": "The actual transaction cost in USD, available after on-chain confirmation.",
                        "example": "0.42"
                    },
                    "interactions": {
                        "items": {
                            "$ref": "#/components/schemas/Interaction"
                        },
                        "type": "array"
                    },
                    "nextAction": {
                        "$ref": "#/components/schemas/NextActionResponse"
                    },
                    "policy": {
                        "$ref": "#/components/schemas/EntityIdResponse",
                        "description": "The policy ID (starts with pol_).",
                        "example": "pol_..."
                    },
                    "player": {
                        "$ref": "#/components/schemas/EntityIdResponse",
                        "description": "The player ID (starts with pla_).",
                        "example": "pla_..."
                    },
                    "account": {
                        "$ref": "#/components/schemas/EntityIdResponse",
                        "description": "The account ID.",
                        "example": "acc_..."
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "updatedAt",
                    "chainId",
                    "abstractionType",
                    "account"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeveloperAccountResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.DEVELOPER_ACCOUNT"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "address": {
                        "type": "string"
                    },
                    "custodial": {
                        "type": "boolean"
                    },
                    "name": {
                        "type": "string"
                    },
                    "transactionIntents": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TransactionIntent"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address",
                    "custodial"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeveloperAccountListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/DeveloperAccountResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeveloperAccountResponseExpandable": {
                "type": "string",
                "enum": [
                    "transactionIntents"
                ],
                "nullable": false
            },
            "DeveloperAccountListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/DeveloperAccountResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response.",
                        "example": [
                            "transactionIntents"
                        ]
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies whether to include deleted dev accounts.",
                        "example": false
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "CreateDeveloperAccountCreateRequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "The address of the wallet that has deposited funds in the paymaster.",
                        "example": "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                    },
                    "signature": {
                        "type": "string",
                        "description": "Signature to verify the account ownership.",
                        "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the account.",
                        "example": "Escrow account"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.SIGNATURE": {
                "enum": [
                    "signature"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SIGNATURE"
                ]
            },
            "SignPayloadResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SIGNATURE"
                    },
                    "account": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "hash": {
                        "type": "string"
                    },
                    "signature": {
                        "type": "string"
                    }
                },
                "required": [
                    "object",
                    "account",
                    "address",
                    "hash",
                    "signature"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TypedDomainData": {
                "properties": {
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID.",
                        "example": 80002
                    },
                    "name": {
                        "type": "string",
                        "description": "The user readable name of signing domain, i.e. the name of the DApp or the protocol..",
                        "example": "Openfort"
                    },
                    "version": {
                        "type": "string",
                        "description": "The current major version of the signing domain. Signatures from different versions are not compatible.",
                        "example": "1"
                    },
                    "verifyingContract": {
                        "type": "string",
                        "description": "The address of the contract that will verify the signature. The user-agent may do contract specific phishing prevention.",
                        "example": "0x64452Dff1180b21dc50033e1680bB64CDd492582"
                    },
                    "salt": {
                        "type": "string",
                        "description": "An disambiguating salt for the protocol. This can be used as a domain separator of last resort.",
                        "example": "0xf2d857f4a3edcb9b78b4d503bfe733db1e3f6cdc2b7971ee739626c97e86a558"
                    }
                },
                "required": [
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TypedDataField": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SignPayloadRequest": {
                "properties": {
                    "domain": {
                        "$ref": "#/components/schemas/TypedDomainData",
                        "description": "Domain. Specific to the dApp."
                    },
                    "types": {
                        "properties": {},
                        "additionalProperties": {
                            "items": {
                                "$ref": "#/components/schemas/TypedDataField"
                            },
                            "type": "array"
                        },
                        "type": "object"
                    },
                    "primaryType": {
                        "type": "string",
                        "example": "Mail"
                    },
                    "value": {
                        "properties": {},
                        "additionalProperties": {},
                        "type": "object"
                    },
                    "hash": {
                        "type": "string",
                        "description": "Hash to verify and that will be signed",
                        "example": "0x3d8c6cab96bc24c87162c529bed5ba88b4617a7ea8bef66489a541d043ac6e8b"
                    }
                },
                "required": [
                    "domain",
                    "types",
                    "primaryType",
                    "value"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateDeveloperAccountCreateRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the account.",
                        "example": "Escrow account"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "DeveloperAccountGetMessageResponse": {
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    }
                },
                "required": [
                    "message",
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeveloperAccountDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.DEVELOPER_ACCOUNT"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.SESSION": {
                "enum": [
                    "session"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SESSION"
                ]
            },
            "SessionResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SESSION"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "isActive": {
                        "type": "boolean"
                    },
                    "address": {
                        "type": "string"
                    },
                    "validAfter": {
                        "type": "string"
                    },
                    "validUntil": {
                        "type": "string"
                    },
                    "account": {
                        "$ref": "#/components/schemas/EntityIdResponse",
                        "description": "The account ID.",
                        "example": "acc_..."
                    },
                    "whitelist": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "limit": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "nextAction": {
                        "$ref": "#/components/schemas/NextActionResponse"
                    },
                    "transactionIntents": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TransactionIntent"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "updatedAt",
                    "isActive",
                    "address",
                    "validAfter",
                    "validUntil",
                    "account",
                    "whitelist",
                    "limit"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SessionListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/SessionResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SessionResponseExpandable": {
                "type": "string",
                "enum": [
                    "transactionIntents"
                ],
                "nullable": false,
                "description": "Contains list of the expandable fields for the session response"
            },
            "SessionListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "player": {
                        "type": "string",
                        "description": "The player ID (starts with pla_)",
                        "example": "pla_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/SessionResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response."
                    }
                },
                "required": [
                    "player"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateSessionRequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "The address of the session key.",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "externalOwnerAddress": {
                        "type": "string",
                        "description": "If no account exists for a given player, create one with this address.",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Maximum number of times the session key can be used.",
                        "example": 1000,
                        "minimum": 1
                    },
                    "optimistic": {
                        "type": "boolean",
                        "description": "Set to `true` to indicate that the transactionIntent request should be resolved as soon as possible, after the transactionIntent is created and simulated and before it arrives on chain.",
                        "example": true
                    },
                    "policy": {
                        "type": "string",
                        "description": "ID of the Policy that defines the gas sponsorship strategy (starts with `pol_`). If no Policy is provided, the own Account native token funds will be used to pay for gas.",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    },
                    "validAfter": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The unix timestamp in seconds when the session key becomes valid.",
                        "example": 10
                    },
                    "validUntil": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The unix timestamp in seconds when the session key expires.",
                        "example": 123512123
                    },
                    "whitelist": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "The list of whitelisted addresses (contracts the session key can interact with).",
                        "example": [
                            "0x1234567890abcdef1234567890abcdef12345678"
                        ]
                    },
                    "player": {
                        "type": "string",
                        "description": "The player ID (starts with pla_).",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "account": {
                        "type": "string",
                        "description": "ID of the Account this TransactionIntent is executed with, if one exists (starts with `acc_` or `dac_`).\n\nWhen providing a Player and ChainID, you can omit this parameter.",
                        "example": "acc_e1b24353-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "address",
                    "chainId",
                    "validAfter",
                    "validUntil"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RevokeSessionRequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "The address of the session key to revoke.",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "policy": {
                        "type": "string",
                        "description": "ID of the Policy that defines the gas sponsorship strategy (starts with `pol_`). If no Policy is provided, the own Account native token funds will be used to pay for gas.",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    },
                    "optimistic": {
                        "type": "boolean",
                        "description": "Whether the transactionIntent is optimistic (resolve before it arrives on chain) or not.",
                        "example": true
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "player": {
                        "type": "string",
                        "description": "The player ID (starts with pla_).",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "account": {
                        "type": "string",
                        "description": "ID of the Account this TransactionIntent is executed with, if one exists (starts with `acc_` or `dac_`).\n\nWhen providing a Player and ChainID, you can omit this parameter.",
                        "example": "acc_e1b24353-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "address",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRuleType.CONTRACT": {
                "enum": [
                    "contract_functions"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CONTRACT"
                ]
            },
            "PolicyRuleType": {
                "enum": [
                    "contract_functions",
                    "account_functions",
                    "rate_limit"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CONTRACT",
                    "ACCOUNT",
                    "RATE_LIMIT"
                ]
            },
            "EntityType.POLICY_RULE": {
                "enum": [
                    "policyRule"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "POLICY_RULE"
                ]
            },
            "AbiType": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "indexed": {
                        "type": "boolean"
                    },
                    "internalType": {},
                    "components": {
                        "items": {
                            "$ref": "#/components/schemas/AbiType"
                        },
                        "type": "array"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "Pick_JsonFragmentType.Exclude_keyofJsonFragmentType.components__": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "indexed": {
                        "type": "boolean"
                    },
                    "internalType": {}
                },
                "type": "object",
                "description": "From T, pick a set of properties whose keys are in the union K"
            },
            "Pick_JsonFragment.Exclude_keyofJsonFragment.inputs-or-outputs__": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "anonymous": {
                        "type": "boolean"
                    },
                    "payable": {
                        "type": "boolean"
                    },
                    "constant": {
                        "type": "boolean"
                    },
                    "stateMutability": {
                        "type": "string"
                    },
                    "gas": {
                        "type": "string"
                    }
                },
                "type": "object",
                "description": "From T, pick a set of properties whose keys are in the union K"
            },
            "Abi": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "anonymous": {
                        "type": "boolean"
                    },
                    "payable": {
                        "type": "boolean"
                    },
                    "constant": {
                        "type": "boolean"
                    },
                    "stateMutability": {
                        "type": "string"
                    },
                    "gas": {
                        "type": "string"
                    },
                    "inputs": {
                        "items": {
                            "$ref": "#/components/schemas/AbiType"
                        },
                        "type": "array"
                    },
                    "outputs": {
                        "items": {
                            "$ref": "#/components/schemas/AbiType"
                        },
                        "type": "array"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.CONTRACT": {
                "enum": [
                    "contract"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CONTRACT"
                ]
            },
            "ContractResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.CONTRACT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID."
                    },
                    "address": {
                        "type": "string"
                    },
                    "deleted": {
                        "type": "boolean"
                    },
                    "abi": {
                        "items": {
                            "$ref": "#/components/schemas/Abi"
                        },
                        "type": "array"
                    },
                    "publicVerification": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name",
                    "chainId",
                    "address",
                    "deleted",
                    "abi",
                    "publicVerification"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Pick_ContractResponse.id_": {
                "properties": {
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "id"
                ],
                "type": "object",
                "description": "From T, pick a set of properties whose keys are in the union K"
            },
            "ContractPolicyRuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType.CONTRACT"
                    },
                    "contract": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/ContractResponse"
                            },
                            {
                                "$ref": "#/components/schemas/Pick_ContractResponse.id_"
                            }
                        ]
                    },
                    "functionName": {
                        "type": "string"
                    },
                    "wildcard": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "type",
                    "wildcard"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRuleType.ACCOUNT": {
                "enum": [
                    "account_functions"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ACCOUNT"
                ]
            },
            "AccountPolicyRuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType.ACCOUNT"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRateLimit.GAS_PER_TRANSACTION": {
                "enum": [
                    "gas_per_transaction"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GAS_PER_TRANSACTION"
                ]
            },
            "PolicyRuleType.RATE_LIMIT": {
                "enum": [
                    "rate_limit"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "RATE_LIMIT"
                ]
            },
            "PolicyRateLimit": {
                "enum": [
                    "gas_per_transaction",
                    "gas_per_interval",
                    "count_per_interval"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GAS_PER_TRANSACTION",
                    "GAS_PER_INTERVAL",
                    "COUNT_PER_INTERVAL"
                ]
            },
            "GasPerTransactionLimitPolicyRuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType.RATE_LIMIT"
                    },
                    "functionName": {
                        "$ref": "#/components/schemas/PolicyRateLimit.GAS_PER_TRANSACTION"
                    },
                    "gasLimit": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "type",
                    "functionName",
                    "gasLimit"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRateLimit.GAS_PER_INTERVAL": {
                "enum": [
                    "gas_per_interval"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GAS_PER_INTERVAL"
                ]
            },
            "TimeIntervalType": {
                "enum": [
                    "minute",
                    "hour",
                    "day",
                    "week",
                    "month"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "MINUTE",
                    "HOUR",
                    "DAY",
                    "WEEK",
                    "MONTH"
                ]
            },
            "GasPerIntervalLimitPolicyRuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType.RATE_LIMIT"
                    },
                    "functionName": {
                        "$ref": "#/components/schemas/PolicyRateLimit.GAS_PER_INTERVAL"
                    },
                    "gasLimit": {
                        "type": "string"
                    },
                    "timeIntervalType": {
                        "$ref": "#/components/schemas/TimeIntervalType"
                    },
                    "timeIntervalValue": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "type",
                    "functionName",
                    "gasLimit",
                    "timeIntervalType",
                    "timeIntervalValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRateLimit.COUNT_PER_INTERVAL": {
                "enum": [
                    "count_per_interval"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "COUNT_PER_INTERVAL"
                ]
            },
            "CountPerIntervalLimitPolicyRuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType.RATE_LIMIT"
                    },
                    "functionName": {
                        "$ref": "#/components/schemas/PolicyRateLimit.COUNT_PER_INTERVAL"
                    },
                    "countLimit": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "timeIntervalType": {
                        "$ref": "#/components/schemas/TimeIntervalType"
                    },
                    "timeIntervalValue": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "type",
                    "functionName",
                    "countLimit",
                    "timeIntervalType",
                    "timeIntervalValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRuleResponse": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/ContractPolicyRuleResponse"
                    },
                    {
                        "$ref": "#/components/schemas/AccountPolicyRuleResponse"
                    },
                    {
                        "$ref": "#/components/schemas/GasPerTransactionLimitPolicyRuleResponse"
                    },
                    {
                        "$ref": "#/components/schemas/GasPerIntervalLimitPolicyRuleResponse"
                    },
                    {
                        "$ref": "#/components/schemas/CountPerIntervalLimitPolicyRuleResponse"
                    }
                ]
            },
            "PolicyRuleListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyRuleResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRuleListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "expand": {
                        "items": {
                            "type": "string",
                            "enum": [
                                "contract"
                            ],
                            "nullable": false
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response."
                    },
                    "policy": {
                        "type": "string",
                        "description": "Specifies the unique policy ID (starts with pol_).",
                        "example": "pol_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                },
                "required": [
                    "policy"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreatePolicyRuleRequest": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType",
                        "description": "The type of rule to add.",
                        "example": "account_functions"
                    },
                    "functionName": {
                        "type": "string",
                        "description": "Name of the function in the contract to allow. If you want to allow all functions, use the wildcard 'All functions'.",
                        "example": "All functions"
                    },
                    "contract": {
                        "type": "string",
                        "description": "The contract ID you want to interact with. Must have been added to Openfort first, starts with `con_`.",
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    },
                    "wildcard": {
                        "type": "boolean",
                        "description": "When using `contract_functions` type, set this to `true` to allow all contracts.",
                        "example": true
                    },
                    "gasLimit": {
                        "type": "string",
                        "description": "Gas limit in WEI (i.e. factor 10^18).",
                        "example": "1000000000000000000"
                    },
                    "countLimit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Number of times the function will be sponsored.",
                        "example": 1
                    },
                    "timeIntervalType": {
                        "$ref": "#/components/schemas/TimeIntervalType",
                        "description": "Time interval between sponsorships."
                    },
                    "timeIntervalValue": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Time interval value.",
                        "example": 1
                    },
                    "policy": {
                        "type": "string",
                        "description": "The unique Policy ID to add the rule to (starts with pol_).",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    }
                },
                "required": [
                    "type",
                    "policy"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdatePolicyRuleRequest": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/PolicyRuleType",
                        "description": "The type of rule to add.",
                        "example": "account_functions"
                    },
                    "functionName": {
                        "type": "string",
                        "description": "Name of the function in the contract to allow. If you want to allow all functions, use the wildcard 'All functions'.",
                        "example": "All functions"
                    },
                    "contract": {
                        "type": "string",
                        "description": "The contract ID you want to interact with. Must have been added to Openfort first, starts with `con_`.",
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    },
                    "wildcard": {
                        "type": "boolean",
                        "description": "When using `contract_functions` type, set this to `true` to allow all contracts.",
                        "example": true
                    },
                    "gasLimit": {
                        "type": "string",
                        "description": "Gas limit in WEI (i.e. factor 10^18).",
                        "example": "1000000000000000000"
                    },
                    "countLimit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Number of times the function will be sponsored.",
                        "example": 1
                    },
                    "timeIntervalType": {
                        "$ref": "#/components/schemas/TimeIntervalType",
                        "description": "Time interval between sponsorships."
                    },
                    "timeIntervalValue": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Time interval value.",
                        "example": 1
                    }
                },
                "required": [
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyRuleDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_RULE"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "deleted": {
                        "type": "boolean"
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID."
                    },
                    "paymaster": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "forwarderContract": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/PolicyStrategy"
                    },
                    "transactionIntents": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TransactionIntent"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "policyRules": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/PolicyRuleResponse"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name",
                    "deleted",
                    "enabled",
                    "chainId",
                    "strategy",
                    "transactionIntents",
                    "policyRules"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyResponseExpandable": {
                "type": "string",
                "enum": [
                    "transactionIntents",
                    "policyRules"
                ],
                "nullable": false
            },
            "PolicyListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response."
                    },
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the policy.",
                        "example": "MyPolicy"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies whether to include deleted policies.",
                        "example": true
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID of the policy.",
                        "example": 80002
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Specifies whether to include enabled policies.",
                        "example": true
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PolicyStrategyRequest": {
                "properties": {
                    "sponsorSchema": {
                        "$ref": "#/components/schemas/SponsorSchema",
                        "description": "The sponsor schema of the policy.",
                        "example": "fixed_rate"
                    },
                    "tokenContract": {
                        "type": "string",
                        "description": "If the user pays in custom tokens, the contract ID (starts with con_) of the token contract.",
                        "example": "con_0cddb398-1dc6-4e6f-8726-9ec7cea85f35"
                    },
                    "tokenContractAmount": {
                        "type": "string",
                        "description": "If the user pays in ERC20 tokens, this reflects either the exchange rate or the amount in WEI.",
                        "example": "1000000000000000000"
                    },
                    "depositor": {
                        "type": "string",
                        "description": "If the you want to use your own native tokens to pay for gas, specify the developer account ID (starts with dac_)"
                    }
                },
                "required": [
                    "sponsorSchema"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreatePolicyRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the policy.",
                        "example": "My Policy"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/PolicyStrategyRequest",
                        "description": "The sponsor schema of the policy."
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "The ID of the paymaster.",
                        "example": "pay_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "forwarderContract": {
                        "type": "string",
                        "description": "The ID of the forwarder contract.",
                        "example": "cfo_f0f89cf2-c185-40f4-beef-2a250d7a472b"
                    }
                },
                "required": [
                    "name",
                    "chainId",
                    "strategy"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdatePolicyRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the policy.",
                        "example": "My Policy"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/PolicyStrategyRequest",
                        "description": "The sponsor schema of the policy."
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "The ID of the paymaster.",
                        "example": "pay_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "forwarderContract": {
                        "type": "string",
                        "description": "The ID of the forwarder contract.",
                        "example": "cfo_f0f89cf2-c185-40f4-beef-2a250d7a472b"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies whether to delete the policy.",
                        "example": false
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PolicyDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MonthRange": {
                "properties": {
                    "start": {
                        "type": "number",
                        "format": "double"
                    },
                    "end": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "start",
                    "end"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GasReportTransactionIntents": {
                "properties": {
                    "totalTransactionFee": {
                        "type": "string"
                    },
                    "totalTransactionFeeInUSD": {
                        "type": "string"
                    },
                    "transactionCount": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "totalTransactionFee",
                    "totalTransactionFeeInUSD",
                    "transactionCount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GasReport": {
                "properties": {
                    "period": {
                        "$ref": "#/components/schemas/MonthRange"
                    },
                    "averageTransactionFee": {
                        "type": "string"
                    },
                    "totalTransactionFeeInCustomTokens": {
                        "type": "string"
                    },
                    "totalTransactionFeeInUSD": {
                        "type": "string"
                    },
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/GasReportTransactionIntents"
                        },
                        "type": "array",
                        "deprecated": true
                    }
                },
                "required": [
                    "period",
                    "averageTransactionFee",
                    "totalTransactionFeeInCustomTokens",
                    "totalTransactionFeeInUSD",
                    "transactionIntents"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GasReportListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/GasReport"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyReportQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "GasReportTransactionIntentsListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/GasReportTransactionIntents"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyReportTransactionIntentsQueries": {
                "properties": {
                    "to": {
                        "type": "number",
                        "format": "double",
                        "description": "The start date of the period in unix timestamp.",
                        "example": 1612137600
                    },
                    "from": {
                        "type": "number",
                        "format": "double",
                        "description": "The end date of the period in unix timestamp.",
                        "example": 1612137600
                    }
                },
                "required": [
                    "to",
                    "from"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyBalanceWithdrawResponse": {
                "properties": {
                    "policy": {
                        "type": "string"
                    },
                    "balance": {
                        "type": "string"
                    },
                    "contract": {
                        "type": "string"
                    }
                },
                "required": [
                    "policy",
                    "balance",
                    "contract"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "WithdrawalPolicyRequest": {
                "properties": {
                    "account": {
                        "type": "string",
                        "description": "ID of the Dev Account this TransactionIntent will send the specified amount of tokens to (starts with `dac_`).",
                        "example": "dac_e1b24353-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "amount": {
                        "type": "string",
                        "description": "Amount in WEI to withdraw (i.e. factor 10^18)..",
                        "example": "300000"
                    }
                },
                "required": [
                    "account",
                    "amount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata"
                    },
                    "transactionIntents": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TransactionIntent"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "accounts": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/Account"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/PlayerResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerResponseExpandable": {
                "type": "string",
                "enum": [
                    "transactionIntents",
                    "accounts"
                ],
                "nullable": false
            },
            "PlayerListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/PlayerResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response."
                    },
                    "name": {
                        "type": "string",
                        "description": "Filter by player name.",
                        "example": "John"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PlayerCreateRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the player name.",
                        "example": "John",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "description": {
                        "type": "string",
                        "description": "Specifies the player description.",
                        "example": "a useful description"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata",
                        "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PlayerUpdateRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the player name.",
                        "example": "John",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "description": {
                        "type": "string",
                        "description": "Specifies the player description.",
                        "example": "a useful description"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata",
                        "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PlayerDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerTransferOwnershipRequest": {
                "properties": {
                    "policy": {
                        "type": "string",
                        "description": "ID of the Policy that defines the gas sponsorship strategy (starts with `pol_`). A policy must be provided.",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "newOwnerAddress": {
                        "type": "string",
                        "description": "The address of the new owner",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "player": {
                        "type": "string",
                        "description": "ID of the Player that has the Account you want to transfer ownership from (starts with `pla_`).",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "policy",
                    "chainId",
                    "newOwnerAddress"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlayerCancelTransferOwnershipRequest": {
                "properties": {
                    "policy": {
                        "type": "string",
                        "description": "ID of the Policy that defines the gas sponsorship strategy (starts with `pol_`). A policy must be provided.",
                        "example": "pol_7e07ae30-2a4d-48fa-803f-361da94905dd"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    }
                },
                "required": [
                    "policy",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.PAYMASTER": {
                "enum": [
                    "paymaster"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PAYMASTER"
                ]
            },
            "PaymasterResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PAYMASTER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "address": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "context": {
                        "additionalProperties": false,
                        "type": "object"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreatePaymasterResponse": {
                "$ref": "#/components/schemas/PaymasterResponse"
            },
            "CreatePaymasterRequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the paymaster",
                        "example": "0x7d526b7e99fbf52850a183..."
                    },
                    "url": {
                        "type": "string",
                        "description": "Specifies the paymaster URL",
                        "example": "https://rpc.mypaymaster.xyz"
                    },
                    "context": {
                        "additionalProperties": false,
                        "type": "object",
                        "description": "Specifies the context, that is, the arbitrary repositories that the specific paymaster may require",
                        "example": {
                            "key": "value"
                        }
                    },
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the paymaster"
                    }
                },
                "required": [
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PagingQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PaymasterDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PAYMASTER"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OnrampProvider": {
                "enum": [
                    "coinbase",
                    "stripe"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "COINBASE",
                    "STRIPE"
                ]
            },
            "OnrampFee": {
                "description": "Common fee structure for onramp operations",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "amount": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "amount",
                    "currency"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OnrampSessionResponse": {
                "description": "Common unified response format for creating an onramp session.\nThis format is provider-agnostic.",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OnrampProvider"
                    },
                    "sessionId": {
                        "type": "string"
                    },
                    "clientSecret": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "onrampUrl": {
                        "type": "string"
                    },
                    "redirectUrl": {
                        "type": "string"
                    },
                    "quote": {
                        "properties": {
                            "exchangeRate": {
                                "type": "string"
                            },
                            "fees": {
                                "items": {
                                    "$ref": "#/components/schemas/OnrampFee"
                                },
                                "type": "array"
                            },
                            "destinationNetwork": {
                                "type": "string"
                            },
                            "destinationCurrency": {
                                "type": "string"
                            },
                            "destinationAmount": {
                                "type": "string"
                            },
                            "sourceCurrency": {
                                "type": "string"
                            },
                            "sourceAmount": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "provider",
                    "onrampUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OnrampSessionRequest": {
                "description": "Common unified request format for creating an onramp session.\nThis format is provider-agnostic and will be adapted by each provider service.",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OnrampProvider"
                    },
                    "destinationCurrency": {
                        "type": "string"
                    },
                    "destinationNetwork": {
                        "type": "string"
                    },
                    "destinationAddress": {
                        "type": "string"
                    },
                    "sourceAmount": {
                        "type": "string"
                    },
                    "sourceCurrency": {
                        "type": "string"
                    },
                    "redirectUrl": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "subdivision": {
                        "type": "string"
                    },
                    "paymentMethod": {
                        "type": "string"
                    },
                    "clientIp": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider",
                    "destinationCurrency",
                    "destinationNetwork",
                    "destinationAddress"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OnrampQuoteResponse": {
                "description": "Common unified response format for getting an onramp quote.\nThis format is provider-agnostic.",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OnrampProvider"
                    },
                    "sourceAmount": {
                        "type": "string"
                    },
                    "sourceCurrency": {
                        "type": "string"
                    },
                    "destinationAmount": {
                        "type": "string"
                    },
                    "destinationCurrency": {
                        "type": "string"
                    },
                    "destinationNetwork": {
                        "type": "string"
                    },
                    "fees": {
                        "items": {
                            "$ref": "#/components/schemas/OnrampFee"
                        },
                        "type": "array"
                    },
                    "exchangeRate": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider",
                    "sourceAmount",
                    "sourceCurrency",
                    "destinationAmount",
                    "destinationCurrency",
                    "destinationNetwork",
                    "fees",
                    "exchangeRate"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OnrampQuotesResponse": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/OnrampQuoteResponse"
                    },
                    {
                        "items": {
                            "$ref": "#/components/schemas/OnrampQuoteResponse"
                        },
                        "type": "array"
                    }
                ],
                "description": "Response type for quote requests that can return either a single quote or multiple quotes.\n- Returns OnrampQuoteResponse when provider is specified\n- Returns OnrampQuoteResponse[] when provider is not specified"
            },
            "OnrampQuoteRequest": {
                "description": "Common unified request format for getting an onramp quote.\nThis format is provider-agnostic and will be adapted by each provider service.\nIf provider is specified, returns a single quote for that provider.\nIf provider is not specified, returns quotes from all available providers.",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OnrampProvider"
                    },
                    "sourceCurrency": {
                        "type": "string"
                    },
                    "destinationCurrency": {
                        "type": "string"
                    },
                    "destinationNetwork": {
                        "type": "string"
                    },
                    "sourceAmount": {
                        "type": "string"
                    },
                    "paymentMethod": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "subdivision": {
                        "type": "string"
                    }
                },
                "required": [
                    "sourceCurrency",
                    "destinationCurrency",
                    "destinationNetwork",
                    "sourceAmount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Log": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "timestamp": {
                        "type": "string"
                    },
                    "event": {
                        "type": "string"
                    },
                    "request_body": {},
                    "status": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "response_time": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "response_data": {}
                },
                "required": [
                    "id",
                    "timestamp",
                    "event",
                    "request_body",
                    "status",
                    "response_time",
                    "response_data"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ProjectLogs": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/Log"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.FORWARDER_CONTRACT": {
                "enum": [
                    "forwarderContract"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "FORWARDER_CONTRACT"
                ]
            },
            "ForwarderContractResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.FORWARDER_CONTRACT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "address": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateForwarderContractResponse": {
                "$ref": "#/components/schemas/ForwarderContractResponse"
            },
            "CreateForwarderContractRequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the paymaster",
                        "example": "0x7d526b7e99fbf52850a183..."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the paymaster"
                    }
                },
                "required": [
                    "address",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ForwarderContractDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.FORWARDER_CONTRACT"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "APITopic.BALANCE_CONTRACT": {
                "enum": [
                    "balance.contract"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "BALANCE_CONTRACT"
                ]
            },
            "EntityType.EVENT": {
                "enum": [
                    "event"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVENT"
                ]
            },
            "ContractEventResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EVENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic.BALANCE_CONTRACT"
                    },
                    "threshold": {
                        "type": "string"
                    },
                    "contract": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "functionName": {
                        "type": "string"
                    },
                    "functionArgs": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "threshold",
                    "contract",
                    "functionName",
                    "functionArgs"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "APITopic.BALANCE_DEV_ACCOUNT": {
                "enum": [
                    "balance.dev_account"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "BALANCE_DEV_ACCOUNT"
                ]
            },
            "AccountEventResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EVENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic.BALANCE_DEV_ACCOUNT"
                    },
                    "threshold": {
                        "type": "string"
                    },
                    "developerAccount": {
                        "$ref": "#/components/schemas/EntityIdResponse"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "threshold",
                    "developerAccount",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "APITopic.BALANCE_PROJECT": {
                "enum": [
                    "balance.project"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "BALANCE_PROJECT"
                ]
            },
            "BalanceEventResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EVENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic.BALANCE_PROJECT"
                    },
                    "threshold": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "threshold"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "APITopic.TRANSACTION_SUCCESSFUL": {
                "enum": [
                    "transaction_intent.successful"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TRANSACTION_SUCCESSFUL"
                ]
            },
            "TransactionConfirmedEventResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EVENT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic.TRANSACTION_SUCCESSFUL"
                    },
                    "numberOfBlocks": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "topic",
                    "numberOfBlocks"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EventResponse": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/ContractEventResponse"
                    },
                    {
                        "$ref": "#/components/schemas/AccountEventResponse"
                    },
                    {
                        "$ref": "#/components/schemas/BalanceEventResponse"
                    },
                    {
                        "$ref": "#/components/schemas/TransactionConfirmedEventResponse"
                    }
                ]
            },
            "EventListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/EventResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EventListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the event",
                        "example": "Event Name"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies if display deleted events",
                        "example": false
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "GetEventResponse": {
                "$ref": "#/components/schemas/EventResponse"
            },
            "CreateEventResponse": {
                "$ref": "#/components/schemas/EventResponse"
            },
            "CreateEventRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the event",
                        "example": "Event Name"
                    },
                    "topic": {
                        "$ref": "#/components/schemas/APITopic",
                        "description": "Specifies the type of the event (transaction_intent.successful, balance.project, balance.contract, balance.dev_account)",
                        "example": "balance.project"
                    },
                    "contract": {
                        "type": "string",
                        "description": "Specifies the contract id (if the event is a contract event)",
                        "example": "con_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "functionArgs": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Specifies the function arguments (if the event is a contract event)",
                        "example": [
                            "arg1",
                            "arg2"
                        ]
                    },
                    "functionName": {
                        "type": "string",
                        "description": "Specifies the function name (if the event is a contract event)",
                        "example": "functionName"
                    },
                    "developerAccount": {
                        "type": "string",
                        "description": "Specifies the developer account id (if the event is a developer account event)",
                        "example": "dev_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double",
                        "description": "Specifies the chain id (if the event is a developer account event)",
                        "example": 80001
                    },
                    "threshold": {
                        "type": "string",
                        "description": "Threshold for the event (if the event is a contract, dev account or project event)"
                    },
                    "numberOfBlocks": {
                        "type": "number",
                        "format": "double",
                        "description": "Specifies the number of confirmations required for the event to trigger",
                        "example": 10,
                        "default": 5
                    }
                },
                "required": [
                    "name",
                    "topic"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EventDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EVENT"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EmbeddedResponse": {
                "properties": {
                    "share": {
                        "type": "string"
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "deviceId": {
                        "type": "string"
                    }
                },
                "required": [
                    "share",
                    "accountType",
                    "address",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EmbeddedNextActionResponse": {
                "properties": {
                    "nextAction": {
                        "type": "string",
                        "enum": [
                            "RECOVER",
                            "REGISTER"
                        ]
                    },
                    "player": {
                        "type": "string"
                    },
                    "embedded": {
                        "$ref": "#/components/schemas/EmbeddedResponse"
                    }
                },
                "required": [
                    "nextAction",
                    "player"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "InitEmbeddedRequest": {
                "properties": {
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EmbeddedV2Response": {
                "properties": {
                    "share": {
                        "type": "string"
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "implementationType": {
                        "type": "string"
                    },
                    "implementationAddress": {
                        "type": "string"
                    },
                    "factoryAddress": {
                        "type": "string"
                    },
                    "salt": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "chainType": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "device": {
                        "type": "string"
                    },
                    "account": {
                        "type": "string"
                    },
                    "signer": {
                        "type": "string"
                    }
                },
                "required": [
                    "accountType",
                    "address",
                    "ownerAddress",
                    "chainType",
                    "account",
                    "signer"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RegisterEmbeddedRequest": {
                "properties": {
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "address": {
                        "type": "string"
                    },
                    "share": {
                        "type": "string"
                    },
                    "signerUuid": {
                        "type": "string"
                    }
                },
                "required": [
                    "chainId",
                    "address",
                    "share"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SwitchChainRequest": {
                "properties": {
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "deviceId": {
                        "type": "string"
                    }
                },
                "required": [
                    "chainId",
                    "deviceId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ExportedEmbeddedRequest": {
                "properties": {
                    "address": {
                        "type": "string"
                    }
                },
                "required": [
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.DEVICE": {
                "enum": [
                    "device"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "DEVICE"
                ]
            },
            "DeviceResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.DEVICE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "account": {
                        "type": "string"
                    },
                    "share": {
                        "type": "string"
                    },
                    "isPrimary": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "account",
                    "share",
                    "isPrimary"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BaseEntityListResponse_DeviceResponse_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/DeviceResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeviceListResponse": {
                "$ref": "#/components/schemas/BaseEntityListResponse_DeviceResponse_"
            },
            "DeviceListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "account": {
                        "type": "string",
                        "description": "Specifies the unique account ID (starts with acc_)",
                        "example": "acc_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    }
                },
                "required": [
                    "account"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GetDeviceResponse": {
                "$ref": "#/components/schemas/DeviceResponse"
            },
            "CreateDeviceResponse": {
                "$ref": "#/components/schemas/DeviceResponse"
            },
            "CreateDeviceRequest": {
                "properties": {
                    "account": {
                        "type": "string",
                        "description": "Specifies the unique account ID (starts with acc_)",
                        "example": "acc_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "share": {
                        "type": "string",
                        "description": "Specifies the share repositories",
                        "example": "7d526b7e99fbf52850a183..."
                    }
                },
                "required": [
                    "account",
                    "share"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ContractListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/ContractResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ContractListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the contract.",
                        "example": "NFT Contract"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies whether to include deleted contracts.",
                        "example": false
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID of the contract.",
                        "example": 80002
                    },
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the contract.",
                        "example": "0x742e6e61d760164d56f44801054bcf40fa821d97"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "CreateContractRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the contract (Only for display purposes).",
                        "example": "NFT Contract"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the chain ID of the contract. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the contract.",
                        "example": "0x742e6e61d760164d56f44801054bcf40fa821d97"
                    },
                    "abi": {
                        "items": {
                            "$ref": "#/components/schemas/Abi"
                        },
                        "type": "array",
                        "description": "Specifies the ABI of the contract.",
                        "example": [
                            {
                                "inputs": [
                                    {
                                        "internalType": "address",
                                        "name": "_owner",
                                        "type": "address"
                                    }
                                ],
                                "stateMutability": "nonpayable",
                                "type": "constructor"
                            },
                            {
                                "inputs": [],
                                "name": "owner",
                                "outputs": [
                                    {
                                        "internalType": "address",
                                        "name": "",
                                        "type": "address"
                                    }
                                ],
                                "stateMutability": "view",
                                "type": "function"
                            }
                        ]
                    },
                    "publicVerification": {
                        "type": "boolean",
                        "description": "Specifies whether to verify the contract publicly.",
                        "example": false
                    }
                },
                "required": [
                    "name",
                    "chainId",
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateContractRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name of the contract (Only for display purposes).",
                        "example": "NFT Contract"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the chain ID of the contract. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Specifies whether to delete the contract.",
                        "example": false
                    },
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the contract.",
                        "example": "0x1234567890abcdef1234567890abcdef12345678"
                    },
                    "abi": {
                        "items": {
                            "$ref": "#/components/schemas/Abi"
                        },
                        "type": "array",
                        "description": "Specifies the ABI of the contract.",
                        "example": [
                            {
                                "inputs": [
                                    {
                                        "internalType": "address",
                                        "name": "_owner",
                                        "type": "address"
                                    }
                                ],
                                "stateMutability": "nonpayable",
                                "type": "constructor"
                            },
                            {
                                "inputs": [],
                                "name": "owner",
                                "outputs": [
                                    {
                                        "internalType": "address",
                                        "name": "",
                                        "type": "address"
                                    }
                                ],
                                "stateMutability": "view",
                                "type": "function"
                            }
                        ]
                    },
                    "publicVerification": {
                        "type": "boolean",
                        "description": "Specifies whether to verify the contract publicly.",
                        "example": false
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.READCONTRACT": {
                "enum": [
                    "readContract"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "READCONTRACT"
                ]
            },
            "ContractReadResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.READCONTRACT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "functionName": {
                        "type": "string"
                    },
                    "result": {}
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "functionName",
                    "result"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ContractReadQueries": {
                "properties": {
                    "functionName": {
                        "type": "string",
                        "description": "The function name of the contract.",
                        "example": "mint"
                    },
                    "functionArgs": {
                        "items": {},
                        "type": "array",
                        "description": "The function arguments of the contract, in string format. Accepts pla_, con_ and acc_ IDs.",
                        "example": [
                            "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                        ]
                    }
                },
                "required": [
                    "functionName"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ContractDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.CONTRACT"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.ACCOUNT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean"
                    },
                    "custodial": {
                        "type": "boolean"
                    },
                    "embeddedSigner": {
                        "type": "boolean"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID."
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "pendingOwnerAddress": {
                        "type": "string"
                    },
                    "transactionIntents": {
                        "items": {
                            "anyOf": [
                                {
                                    "$ref": "#/components/schemas/TransactionIntent"
                                },
                                {
                                    "$ref": "#/components/schemas/EntityIdResponse"
                                }
                            ]
                        },
                        "type": "array"
                    },
                    "player": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/EntityIdResponse"
                            },
                            {
                                "$ref": "#/components/schemas/Player"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "address",
                    "ownerAddress",
                    "deployed",
                    "custodial",
                    "embeddedSigner",
                    "chainId",
                    "accountType",
                    "player"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AccountResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountResponseExpandable": {
                "type": "string",
                "enum": [
                    "player",
                    "transactionIntents"
                ],
                "nullable": false
            },
            "AccountListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "player": {
                        "type": "string",
                        "description": "Specifies the unique player ID (starts with pla_)",
                        "example": "pla_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "address": {
                        "type": "string",
                        "description": "Specifies the address of the account",
                        "example": "0x9590Ed0C18190a310f4e93CAccc4CC17270bED40"
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/AccountResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response.",
                        "example": [
                            "transactionIntents"
                        ]
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "CreateAccountRequest": {
                "properties": {
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "externalOwnerAddress": {
                        "type": "string",
                        "description": "Use this parameter to create a new Account for Player with the provided owner address.",
                        "example": "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                    },
                    "accountType": {
                        "type": "string",
                        "description": "The type of smart account that will be created (e.g. UpgradeableV6, UpgradeableV5, ZKSyncUpgradeableV2). Defaults to UpgradeableV6.",
                        "example": "UpgradeableV6"
                    },
                    "defaultGuardian": {
                        "type": "boolean",
                        "description": "For account types that support social recovery, wether to enable Openfort as guardian or not. Defaults to false.",
                        "example": "true"
                    },
                    "player": {
                        "type": "string",
                        "description": "ID of the player this account belongs to (starts with `pla_`). If none is provided, a new player will be created.",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthProviderResponseV2": {
                "type": "string",
                "enum": [
                    "credential",
                    "email",
                    "wallet",
                    "google",
                    "apple",
                    "twitter",
                    "discord",
                    "facebook",
                    "custom",
                    "oidc",
                    "siwe"
                ]
            },
            "LinkedAccountResponseV2": {
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/AuthProviderResponseV2"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "accountId": {
                        "type": "string"
                    },
                    "chainType": {
                        "type": "string"
                    },
                    "connectorType": {
                        "type": "string"
                    },
                    "walletClientType": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider",
                    "createdAt",
                    "updatedAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthUserResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "nullable": true
                    },
                    "emailVerified": {
                        "type": "boolean"
                    },
                    "phoneNumber": {
                        "type": "string",
                        "nullable": true
                    },
                    "phoneNumberVerified": {
                        "type": "boolean"
                    },
                    "isAnonymous": {
                        "type": "boolean"
                    },
                    "linkedAccounts": {
                        "items": {
                            "$ref": "#/components/schemas/LinkedAccountResponseV2"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "createdAt",
                    "name",
                    "email",
                    "emailVerified",
                    "phoneNumber",
                    "phoneNumberVerified",
                    "linkedAccounts"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BaseEntityListResponse_AuthUserResponse_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AuthUserResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserListResponse": {
                "$ref": "#/components/schemas/BaseEntityListResponse_AuthUserResponse_"
            },
            "UserListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "name": {
                        "type": "string",
                        "description": "Filter by user name.",
                        "example": "John"
                    },
                    "externalUserId": {
                        "type": "string",
                        "description": "Filter by external user ID (accountId from linked accounts).",
                        "example": "123454456687897"
                    },
                    "email": {
                        "type": "string",
                        "description": "Filter by user email.",
                        "example": "user@example.com"
                    },
                    "phoneNumber": {
                        "type": "string",
                        "description": "Filter by user phone number.",
                        "example": "+1234567890"
                    },
                    "authProviderId": {
                        "type": "string",
                        "description": "Filter by provider ID (e.g., \"google\", \"apple\", \"siwe\", \"credential\").",
                        "example": "google"
                    },
                    "walletClientType": {
                        "type": "string",
                        "description": "Filter by wallet client type (for SIWE accounts).",
                        "example": "metamask"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.WALLET": {
                "enum": [
                    "wallet"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "WALLET"
                ]
            },
            "BaseEntityResponse_EntityType.WALLET_": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.WALLET"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "WalletResponse": {
                "$ref": "#/components/schemas/BaseEntityResponse_EntityType.WALLET_"
            },
            "BaseDeleteEntityResponse_EntityType.PLAYER_": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserDeleteResponse": {
                "$ref": "#/components/schemas/BaseDeleteEntityResponse_EntityType.PLAYER_"
            },
            "SmartAccountData": {
                "properties": {
                    "implementationType": {
                        "type": "string"
                    },
                    "factoryAddress": {
                        "type": "string"
                    },
                    "implementationAddress": {
                        "type": "string"
                    },
                    "salt": {
                        "type": "string"
                    },
                    "deployedTx": {
                        "type": "string"
                    },
                    "deployedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "implementationType",
                    "implementationAddress",
                    "active"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PasskeyEnv": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "os": {
                        "type": "string"
                    },
                    "osVersion": {
                        "type": "string"
                    },
                    "device": {
                        "type": "string"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "RecoveryMethodDetails": {
                "properties": {
                    "passkeyId": {
                        "type": "string"
                    },
                    "passkeyEnv": {
                        "$ref": "#/components/schemas/PasskeyEnv"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PregenerateAccountResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "wallet": {
                        "type": "string"
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "chainType": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "smartAccount": {
                        "$ref": "#/components/schemas/SmartAccountData"
                    },
                    "recoveryMethod": {
                        "type": "string"
                    },
                    "recoveryMethodDetails": {
                        "$ref": "#/components/schemas/RecoveryMethodDetails"
                    },
                    "custody": {
                        "type": "string",
                        "enum": [
                            "Developer",
                            "User"
                        ],
                        "description": "Indicates key custody: \"Developer\" for TEE managed keys, \"User\" for user-managed keys.",
                        "example": "Developer"
                    },
                    "recoveryShare": {
                        "type": "string",
                        "description": "The recovery share for the user's embedded signer.\nThis should be stored securely and provided to the user for account recovery."
                    },
                    "user": {
                        "type": "string",
                        "description": "User uuid"
                    }
                },
                "required": [
                    "id",
                    "wallet",
                    "accountType",
                    "address",
                    "chainType",
                    "createdAt",
                    "updatedAt",
                    "custody",
                    "recoveryShare",
                    "user"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider": {
                "description": "Enum of the supporting third party auth providers.",
                "enum": [
                    "accelbyte",
                    "firebase",
                    "lootlocker",
                    "playfab",
                    "supabase",
                    "custom",
                    "oidc",
                    "better-auth"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ACCELBYTE",
                    "FIREBASE",
                    "LOOTLOCKER",
                    "PLAYFAB",
                    "SUPABASE",
                    "CUSTOM",
                    "OIDC",
                    "BETTER_AUTH"
                ]
            },
            "PregenerateUserRequestV2": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user to pregenerate.\nRequired if thirdPartyUserId is not provided.",
                        "example": "user@example.com"
                    },
                    "thirdPartyUserId": {
                        "type": "string",
                        "description": "The third-party user ID from an external auth provider (Firebase, Supabase, etc.).\nRequired if email is not provided.",
                        "example": "firebase_uid_abc123"
                    },
                    "thirdPartyProvider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider",
                        "description": "The third-party auth provider. Required when thirdPartyUserId is provided.",
                        "example": "firebase"
                    },
                    "accountType": {
                        "type": "string",
                        "enum": [
                            "Externally Owned Account",
                            "Smart Account",
                            "Delegated Account"
                        ],
                        "description": "The type of account to pregenerate. \"Externally Owned Account\", \"Smart Account\" or \"Delegated Account\".\nDefaults to \"Smart Account\".",
                        "example": "Smart Account"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type. \"EVM\" or \"SVM\". Defaults to \"EVM\".",
                        "example": "EVM"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Required for Smart Account and Delegated Account types.\nMust be a [supported chain](/development/chains).",
                        "example": 137
                    },
                    "implementationType": {
                        "type": "string",
                        "description": "The implementation type for Smart Account or Delegated Account (e.g. Calibur, UpgradeableV6).\nRequired for Smart Account and Delegated Account types.",
                        "example": "Calibur"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2Scope": {
                "enum": [
                    "project",
                    "account",
                    "transaction"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PROJECT",
                    "ACCOUNT",
                    "TRANSACTION"
                ]
            },
            "PolicyV2Action": {
                "enum": [
                    "accept",
                    "reject"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ACCEPT",
                    "REJECT"
                ]
            },
            "EvmCriteriaType.EVM_ADDRESS": {
                "enum": [
                    "evmAddress"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_ADDRESS"
                ]
            },
            "CriteriaOperator.IN": {
                "enum": [
                    "in"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "IN"
                ]
            },
            "CriteriaOperator.NOT_IN": {
                "enum": [
                    "not in"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "NOT_IN"
                ]
            },
            "EvmCriteriaType": {
                "enum": [
                    "evmAddress",
                    "ethValue",
                    "evmNetwork",
                    "evmMessage",
                    "evmData",
                    "evmTypedDataVerifyingContract",
                    "evmTypedDataField",
                    "netUSDChange"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_ADDRESS",
                    "ETH_VALUE",
                    "EVM_NETWORK",
                    "EVM_MESSAGE",
                    "EVM_DATA",
                    "EVM_TYPED_DATA_VERIFYING_CONTRACT",
                    "EVM_TYPED_DATA_FIELD",
                    "NET_USD_CHANGE"
                ]
            },
            "SolanaCriteriaType": {
                "enum": [
                    "solAddress",
                    "solValue",
                    "splAddress",
                    "splValue",
                    "mintAddress",
                    "solData",
                    "programId",
                    "solNetwork",
                    "solMessage"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_ADDRESS",
                    "SOL_VALUE",
                    "SPL_ADDRESS",
                    "SPL_VALUE",
                    "MINT_ADDRESS",
                    "SOL_DATA",
                    "PROGRAM_ID",
                    "SOL_NETWORK",
                    "SOL_MESSAGE"
                ]
            },
            "CriteriaType": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/EvmCriteriaType"
                    },
                    {
                        "$ref": "#/components/schemas/SolanaCriteriaType"
                    }
                ]
            },
            "CriteriaOperator": {
                "enum": [
                    "in",
                    "not in",
                    "<",
                    "<=",
                    ">",
                    ">=",
                    "==",
                    "match"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "IN",
                    "NOT_IN",
                    "LESS_THAN",
                    "LESS_THAN_OR_EQUAL",
                    "GREATER_THAN",
                    "GREATER_THAN_OR_EQUAL",
                    "EQUAL",
                    "MATCH"
                ]
            },
            "EvmAddressCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_ADDRESS"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.ETH_VALUE": {
                "enum": [
                    "ethValue"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ETH_VALUE"
                ]
            },
            "CriteriaOperator.LESS_THAN_OR_EQUAL": {
                "enum": [
                    "<="
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LESS_THAN_OR_EQUAL"
                ]
            },
            "CriteriaOperator.GREATER_THAN_OR_EQUAL": {
                "enum": [
                    ">="
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GREATER_THAN_OR_EQUAL"
                ]
            },
            "CriteriaOperator.LESS_THAN": {
                "enum": [
                    "<"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LESS_THAN"
                ]
            },
            "CriteriaOperator.GREATER_THAN": {
                "enum": [
                    ">"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GREATER_THAN"
                ]
            },
            "EthValueCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.ETH_VALUE"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.GREATER_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.GREATER_THAN"
                            }
                        ]
                    },
                    "ethValue": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "ethValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.EVM_NETWORK": {
                "enum": [
                    "evmNetwork"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_NETWORK"
                ]
            },
            "EvmNetworkCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_NETWORK"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "chainIds": {
                        "items": {
                            "type": "number",
                            "format": "double"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "chainIds"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.EVM_MESSAGE": {
                "enum": [
                    "evmMessage"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_MESSAGE"
                ]
            },
            "CriteriaOperator.MATCH": {
                "enum": [
                    "match"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "MATCH"
                ]
            },
            "EvmMessageCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_MESSAGE"
                    },
                    "operator": {
                        "$ref": "#/components/schemas/CriteriaOperator.MATCH"
                    },
                    "pattern": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "pattern"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.EVM_DATA": {
                "enum": [
                    "evmData"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_DATA"
                ]
            },
            "Record_string.unknown_": {
                "properties": {},
                "additionalProperties": {},
                "type": "object",
                "description": "Construct a type with a set of properties K of type T"
            },
            "EvmDataCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_DATA"
                    },
                    "operator": {
                        "$ref": "#/components/schemas/CriteriaOperator"
                    },
                    "abi": {
                        "type": "string"
                    },
                    "functionName": {
                        "type": "string"
                    },
                    "args": {
                        "$ref": "#/components/schemas/Record_string.unknown_"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "abi",
                    "functionName"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.EVM_TYPED_DATA_VERIFYING_CONTRACT": {
                "enum": [
                    "evmTypedDataVerifyingContract"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_TYPED_DATA_VERIFYING_CONTRACT"
                ]
            },
            "EvmTypedDataVerifyingContractCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_TYPED_DATA_VERIFYING_CONTRACT"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.EVM_TYPED_DATA_FIELD": {
                "enum": [
                    "evmTypedDataField"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EVM_TYPED_DATA_FIELD"
                ]
            },
            "EvmTypedDataFieldCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.EVM_TYPED_DATA_FIELD"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.MATCH"
                            }
                        ]
                    },
                    "fieldPath": {
                        "type": "string"
                    },
                    "values": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "fieldPath"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmCriteriaType.NET_USD_CHANGE": {
                "enum": [
                    "netUSDChange"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "NET_USD_CHANGE"
                ]
            },
            "NetUSDChangeCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/EvmCriteriaType.NET_USD_CHANGE"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.GREATER_THAN_OR_EQUAL"
                            }
                        ]
                    },
                    "usdValue": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "usdValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SOL_ADDRESS": {
                "enum": [
                    "solAddress"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_ADDRESS"
                ]
            },
            "SolAddressCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SOL_ADDRESS"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SOL_VALUE": {
                "enum": [
                    "solValue"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_VALUE"
                ]
            },
            "SolValueCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SOL_VALUE"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.GREATER_THAN_OR_EQUAL"
                            }
                        ]
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "value"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SPL_ADDRESS": {
                "enum": [
                    "splAddress"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SPL_ADDRESS"
                ]
            },
            "SplAddressCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SPL_ADDRESS"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SPL_VALUE": {
                "enum": [
                    "splValue"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SPL_VALUE"
                ]
            },
            "SplValueCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SPL_VALUE"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.LESS_THAN_OR_EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.GREATER_THAN_OR_EQUAL"
                            }
                        ]
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "value"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.MINT_ADDRESS": {
                "enum": [
                    "mintAddress"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "MINT_ADDRESS"
                ]
            },
            "CriteriaOperator.EQUAL": {
                "enum": [
                    "=="
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EQUAL"
                ]
            },
            "MintAddressCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.MINT_ADDRESS"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.EQUAL"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            }
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SOL_DATA": {
                "enum": [
                    "solData"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_DATA"
                ]
            },
            "SolDataCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SOL_DATA"
                    },
                    "operator": {
                        "$ref": "#/components/schemas/CriteriaOperator"
                    },
                    "idl": {
                        "type": "string"
                    },
                    "instructionName": {
                        "type": "string"
                    },
                    "args": {
                        "$ref": "#/components/schemas/Record_string.unknown_"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "idl",
                    "instructionName"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.PROGRAM_ID": {
                "enum": [
                    "programId"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PROGRAM_ID"
                ]
            },
            "ProgramIdCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.PROGRAM_ID"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "programIds": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "programIds"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SOL_NETWORK": {
                "enum": [
                    "solNetwork"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_NETWORK"
                ]
            },
            "SolNetworkCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SOL_NETWORK"
                    },
                    "operator": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.IN"
                            },
                            {
                                "$ref": "#/components/schemas/CriteriaOperator.NOT_IN"
                            }
                        ]
                    },
                    "networks": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "networks"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolanaCriteriaType.SOL_MESSAGE": {
                "enum": [
                    "solMessage"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SOL_MESSAGE"
                ]
            },
            "SolMessageCriterion": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/SolanaCriteriaType.SOL_MESSAGE"
                    },
                    "operator": {
                        "$ref": "#/components/schemas/CriteriaOperator.MATCH"
                    },
                    "pattern": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "pattern"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2Criterion": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/EvmAddressCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EthValueCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EvmNetworkCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EvmMessageCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EvmDataCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EvmTypedDataVerifyingContractCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/EvmTypedDataFieldCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/NetUSDChangeCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SolAddressCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SolValueCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SplAddressCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SplValueCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/MintAddressCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SolDataCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/ProgramIdCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SolNetworkCriterion"
                    },
                    {
                        "$ref": "#/components/schemas/SolMessageCriterion"
                    }
                ]
            },
            "EntityType.POLICY_V2_RULE": {
                "enum": [
                    "policyV2Rule"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "POLICY_V2_RULE"
                ]
            },
            "PolicyV2RuleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_V2_RULE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "action": {
                        "$ref": "#/components/schemas/PolicyV2Action",
                        "description": "The action to take when this rule matches.",
                        "example": "accept"
                    },
                    "operation": {
                        "type": "string",
                        "description": "The operation this rule applies to.\nEVM: signEvmTransaction, sendEvmTransaction, signEvmTypedData, signEvmMessage, signEvmHash\nSolana: signSolTransaction, sendSolTransaction, signSolMessage",
                        "example": "signEvmTransaction"
                    },
                    "criteria": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyV2Criterion"
                        },
                        "type": "array",
                        "description": "Array of criteria to match for this rule. All criteria must match (AND logic)."
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "action",
                    "operation",
                    "criteria"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.POLICY_V2": {
                "enum": [
                    "policyV2"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "POLICY_V2"
                ]
            },
            "PolicyV2Response": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_V2"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "scope": {
                        "$ref": "#/components/schemas/PolicyV2Scope",
                        "description": "The scope of the policy.",
                        "example": "project"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true,
                        "description": "A description of what this policy does.",
                        "example": "Limit ETH transfers to 1 ETH to approved addresses"
                    },
                    "accountId": {
                        "type": "string",
                        "nullable": true,
                        "description": "The account ID for account-scoped policies.",
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the policy is enabled.",
                        "example": true
                    },
                    "priority": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Priority of the policy.",
                        "example": 0
                    },
                    "rules": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyV2RuleResponse"
                        },
                        "type": "array",
                        "description": "The rules that make up this policy. Rules are processed sequentially until a match occurs."
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "scope",
                    "description",
                    "accountId",
                    "enabled",
                    "priority",
                    "rules"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2ListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyV2Response"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2ListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "scope": {
                        "items": {
                            "type": "string",
                            "enum": [
                                "project",
                                "account",
                                "transaction"
                            ]
                        },
                        "type": "array",
                        "description": "Filter by scope.",
                        "example": [
                            "project",
                            "account"
                        ]
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Filter by enabled status.",
                        "example": true
                    },
                    "accountId": {
                        "type": "string",
                        "description": "Filter by account ID (for account-scoped policies).",
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "operation": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Only include policies that have at least one rule with an operation in this list.",
                        "example": [
                            "signEvmTransaction",
                            "signEvmMessage"
                        ]
                    },
                    "operationNotIn": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Exclude policies where all rules have operations in this list.",
                        "example": [
                            "sponsorEvmTransaction",
                            "sponsorSolTransaction"
                        ]
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EvmAddressCriterionRequest": {
                "description": "EVM Address criterion - validates recipient addresses.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmAddress"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmAddress"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of EVM addresses (hex format with 0x prefix).",
                        "example": [
                            "0x742d35Cc6634C0532925a3b844Bc9e7595f0aB12"
                        ]
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EthValueCriterionRequest": {
                "description": "ETH Value criterion - validates native asset amounts in wei.\nOperators: \"<=\", \">=\", \"<\", \">\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "ethValue"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "ethValue"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "<=",
                            ">=",
                            "<",
                            ">"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "<="
                    },
                    "ethValue": {
                        "type": "string",
                        "description": "Value in wei as a string.",
                        "example": "1000000000000000000"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "ethValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmNetworkCriterionRequest": {
                "description": "EVM Network criterion - validates chain IDs.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmNetwork"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmNetwork"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "chainIds": {
                        "items": {
                            "type": "number",
                            "format": "double"
                        },
                        "type": "array",
                        "description": "List of chain IDs.",
                        "example": [
                            1,
                            137,
                            8453
                        ]
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "chainIds"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmMessageCriterionRequest": {
                "description": "EVM Message criterion - validates message content with regex (RE2).\nOperators: \"match\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmMessage"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmMessage"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "match"
                        ],
                        "nullable": false,
                        "description": "The operator to use for comparison.",
                        "example": "match"
                    },
                    "pattern": {
                        "type": "string",
                        "description": "RE2 regex pattern to match against the message.",
                        "example": "^Sign this message"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "pattern"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmDataCriterionRequest": {
                "description": "EVM Data criterion - validates transaction calldata via ABI.\nOperators: \"in\", \"not in\", \"<\", \"<=\", \">\", \">=\", \"==\", \"match\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmData"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmData"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in",
                            "<",
                            "<=",
                            ">",
                            ">=",
                            "==",
                            "match"
                        ],
                        "description": "The operator to use for comparison.",
                        "x-enum-varnames": [
                            "In",
                            "NotIn",
                            "LessThan",
                            "LessThanOrEqualTo",
                            "GreaterThan",
                            "GreaterThanOrEqualTo",
                            "Equal",
                            "Match"
                        ]
                    },
                    "abi": {
                        "type": "string",
                        "description": "Contract ABI as JSON string."
                    },
                    "functionName": {
                        "type": "string",
                        "description": "Function name to match.",
                        "example": "transfer"
                    },
                    "args": {
                        "$ref": "#/components/schemas/Record_string.unknown_",
                        "description": "Argument constraints."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "abi",
                    "functionName"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmTypedDataVerifyingContractCriterionRequest": {
                "description": "EVM Typed Data Verifying Contract criterion - validates EIP-712 domain contract.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmTypedDataVerifyingContract"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmTypedDataVerifyingContract"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of verifying contract addresses."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvmTypedDataFieldCriterionRequest": {
                "description": "EVM Typed Data Field criterion - validates EIP-712 field values.\nOperators: \"in\", \"<=\", \"match\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "evmTypedDataField"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "evmTypedDataField"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "<=",
                            "match"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "fieldPath": {
                        "type": "string",
                        "description": "Dot-notation path to field.",
                        "example": "message.spender"
                    },
                    "values": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Values for \"in\" operator."
                    },
                    "value": {
                        "type": "string",
                        "description": "Value for \"<=\" or \"match\" operators."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "fieldPath"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "NetUSDChangeCriterionRequest": {
                "description": "Net USD Change criterion - validates USD exposure limits (mainnet only).\nOperators: \"<=\", \">=\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "netUSDChange"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "netUSDChange"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "<=",
                            ">="
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "<="
                    },
                    "usdValue": {
                        "type": "string",
                        "description": "USD value as string.",
                        "example": "1000.00"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "usdValue"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolAddressCriterionRequest": {
                "description": "Solana Address criterion - validates native SOL transfer recipients.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "solAddress"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "solAddress"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of Solana addresses (Base58).",
                        "example": [
                            "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
                        ]
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolValueCriterionRequest": {
                "description": "SOL Value criterion - validates SOL amounts in lamports.\nOperators: \"<=\", \">=\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "solValue"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "solValue"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "<=",
                            ">="
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "<="
                    },
                    "value": {
                        "type": "string",
                        "description": "Value in lamports as string.",
                        "example": "1000000000"
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "value"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SplAddressCriterionRequest": {
                "description": "SPL Address criterion - validates SPL token recipients.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "splAddress"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "splAddress"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of recipient addresses (Base58)."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SplValueCriterionRequest": {
                "description": "SPL Value criterion - validates SPL token amounts.\nOperators: \"<=\", \">=\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "splValue"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "splValue"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "<=",
                            ">="
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "<="
                    },
                    "value": {
                        "type": "string",
                        "description": "Token amount as string."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "value"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MintAddressCriterionRequest": {
                "description": "Mint Address criterion - validates token mint addresses.\nOperators: \"==\", \"in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "mintAddress"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "mintAddress"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "==",
                            "in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in",
                        "x-enum-varnames": [
                            "Equal",
                            "In"
                        ]
                    },
                    "addresses": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of mint addresses (Base58)."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "addresses"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolDataCriterionRequest": {
                "description": "Solana Data criterion - validates instruction params via Anchor IDL.\nOperators: \"in\", \"not in\", \"<=\", \">=\", \"==\", \"match\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "solData"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "solData"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in",
                            "<=",
                            ">=",
                            "==",
                            "match"
                        ],
                        "description": "The operator to use for comparison.",
                        "x-enum-varnames": [
                            "In",
                            "NotIn",
                            "LessThanOrEqualTo",
                            "GreaterThanOrEqualTo",
                            "Equal",
                            "Match"
                        ]
                    },
                    "idl": {
                        "type": "string",
                        "description": "Anchor IDL JSON (v0.30+)."
                    },
                    "instructionName": {
                        "type": "string",
                        "description": "Instruction name."
                    },
                    "args": {
                        "$ref": "#/components/schemas/Record_string.unknown_",
                        "description": "Argument constraints."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "idl",
                    "instructionName"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ProgramIdCriterionRequest": {
                "description": "Program ID criterion - validates Solana program IDs.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "programId"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "programId"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "programIds": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of program IDs (Base58)."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "programIds"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolNetworkCriterionRequest": {
                "description": "Solana Network criterion - validates Solana network.\nOperators: \"in\", \"not in\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "solNetwork"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "solNetwork"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "in",
                            "not in"
                        ],
                        "description": "The operator to use for comparison.",
                        "example": "in"
                    },
                    "networks": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "List of networks: \"mainnet-beta\", \"devnet\", \"testnet\".",
                        "example": [
                            "mainnet-beta"
                        ]
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "networks"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SolMessageCriterionRequest": {
                "description": "Solana Message criterion - validates message content with regex.\nOperators: \"match\"",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "solMessage"
                        ],
                        "nullable": false,
                        "description": "The type of criterion.",
                        "example": "solMessage"
                    },
                    "operator": {
                        "type": "string",
                        "enum": [
                            "match"
                        ],
                        "nullable": false,
                        "description": "The operator to use for comparison.",
                        "example": "match"
                    },
                    "pattern": {
                        "type": "string",
                        "description": "RE2 regex pattern."
                    }
                },
                "required": [
                    "type",
                    "operator",
                    "pattern"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2CriterionRequest": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/EvmAddressCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EthValueCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EvmNetworkCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EvmMessageCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EvmDataCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EvmTypedDataVerifyingContractCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/EvmTypedDataFieldCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/NetUSDChangeCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SolAddressCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SolValueCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SplAddressCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SplValueCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/MintAddressCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SolDataCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/ProgramIdCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SolNetworkCriterionRequest"
                    },
                    {
                        "$ref": "#/components/schemas/SolMessageCriterionRequest"
                    }
                ],
                "description": "Union of all criterion request types."
            },
            "CreatePolicyV2RuleRequest": {
                "properties": {
                    "action": {
                        "type": "string",
                        "enum": [
                            "accept",
                            "reject"
                        ],
                        "description": "The action to take when this rule matches.",
                        "example": "accept"
                    },
                    "operation": {
                        "type": "string",
                        "description": "The operation this rule applies to.\nEVM: signEvmTransaction, sendEvmTransaction, signEvmTypedData, signEvmMessage, signEvmHash\nSolana: signSolTransaction, sendSolTransaction, signSolMessage",
                        "example": "signEvmTransaction"
                    },
                    "criteria": {
                        "items": {
                            "$ref": "#/components/schemas/PolicyV2CriterionRequest"
                        },
                        "type": "array",
                        "description": "Array of criteria to match for this rule. All criteria must match (AND logic)."
                    }
                },
                "required": [
                    "action",
                    "operation"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreatePolicyV2Request": {
                "properties": {
                    "scope": {
                        "type": "string",
                        "enum": [
                            "project",
                            "account",
                            "transaction"
                        ],
                        "description": "The scope of the policy.\n- 'project': applies to all accounts (soft validation - no match = user pays)\n- 'account': applies to a specific account (soft validation)\n- 'transaction': only when explicitly passed (hard validation - no match = tx fails)",
                        "example": "project"
                    },
                    "description": {
                        "type": "string",
                        "description": "A description of what this policy does.",
                        "example": "Limit ETH transfers to 1 ETH to approved addresses"
                    },
                    "accountId": {
                        "type": "string",
                        "description": "The account ID for account-scoped policies (starts with acc_). Required when scope is 'account'.",
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the policy is enabled.",
                        "example": true
                    },
                    "priority": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Priority of the policy. Higher priority policies are evaluated first.",
                        "example": 0
                    },
                    "rules": {
                        "items": {
                            "$ref": "#/components/schemas/CreatePolicyV2RuleRequest"
                        },
                        "type": "array",
                        "description": "The rules that make up this policy. Rules are processed sequentially until a match occurs."
                    }
                },
                "required": [
                    "scope",
                    "rules"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvaluatePolicyV2Response": {
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "policy_evaluation"
                        ],
                        "nullable": false,
                        "description": "The object type.",
                        "example": "policy_evaluation"
                    },
                    "allowed": {
                        "type": "boolean",
                        "description": "Whether the operation is allowed by the policy.",
                        "example": true
                    },
                    "reason": {
                        "type": "string",
                        "description": "The reason for the policy decision.",
                        "example": "Allowed by policy rule"
                    },
                    "operation": {
                        "type": "string",
                        "description": "The operation that was evaluated.",
                        "example": "signEvmTransaction"
                    },
                    "accountId": {
                        "type": "string",
                        "description": "The account ID that was evaluated (if any).",
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "matchedPolicyId": {
                        "type": "string",
                        "description": "The ID of the policy that matched (if any).",
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "matchedRuleId": {
                        "type": "string",
                        "description": "The ID of the rule that matched (if any).",
                        "example": "plr_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                },
                "required": [
                    "object",
                    "allowed",
                    "reason",
                    "operation"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EvaluatePolicyV2Payload": {
                "properties": {
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Chain ID for EVM operations.",
                        "example": 1
                    },
                    "to": {
                        "type": "string",
                        "description": "Recipient address for EVM transaction (hex with 0x prefix).",
                        "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0aB12"
                    },
                    "value": {
                        "type": "string",
                        "description": "Value in wei for EVM transaction.",
                        "example": "1000000000000000000"
                    },
                    "data": {
                        "type": "string",
                        "description": "Transaction data/calldata for EVM transaction (hex with 0x prefix).",
                        "example": "0xa9059cbb..."
                    },
                    "verifyingContract": {
                        "type": "string",
                        "description": "Verifying contract address for EIP-712 typed data."
                    },
                    "domain": {
                        "$ref": "#/components/schemas/Record_string.unknown_",
                        "description": "EIP-712 domain object."
                    },
                    "message": {
                        "$ref": "#/components/schemas/Record_string.unknown_",
                        "description": "EIP-712 message object."
                    },
                    "primaryType": {
                        "type": "string",
                        "description": "Primary type for EIP-712 typed data.",
                        "example": "Permit"
                    },
                    "evmMessage": {
                        "type": "string",
                        "description": "Message content for signEvmMessage."
                    },
                    "network": {
                        "type": "string",
                        "description": "Solana network: \"mainnet-beta\", \"devnet\", \"testnet\".",
                        "example": "mainnet-beta"
                    },
                    "recipients": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Recipient addresses for SOL transfers (Base58)."
                    },
                    "solValue": {
                        "type": "string",
                        "description": "SOL amount in lamports.",
                        "example": "1000000000"
                    },
                    "splRecipients": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Recipient addresses for SPL token transfers (Base58)."
                    },
                    "splValue": {
                        "type": "string",
                        "description": "SPL token amount."
                    },
                    "mintAddress": {
                        "type": "string",
                        "description": "Token mint address (Base58)."
                    },
                    "programIds": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Program IDs involved in transaction (Base58)."
                    },
                    "solMessage": {
                        "type": "string",
                        "description": "Message content for signSolMessage."
                    },
                    "instructionData": {
                        "type": "string",
                        "description": "Base64-encoded instruction data for Solana programs (includes 8-byte discriminator)."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EvaluatePolicyV2Request": {
                "properties": {
                    "operation": {
                        "type": "string",
                        "description": "The signing operation to evaluate.\nEVM: signEvmTransaction, sendEvmTransaction, signEvmTypedData, signEvmMessage, signEvmHash\nSolana: signSolTransaction, sendSolTransaction, signSolMessage",
                        "example": "signEvmTransaction"
                    },
                    "accountId": {
                        "type": "string",
                        "description": "The account ID to evaluate policies for (starts with acc_). If not provided, only project-scoped policies are evaluated.",
                        "example": "acc_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "payload": {
                        "$ref": "#/components/schemas/EvaluatePolicyV2Payload",
                        "description": "The payload to evaluate against policy criteria. Structure depends on the operation type."
                    }
                },
                "required": [
                    "operation"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdatePolicyV2Request": {
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "A description of what this policy does.",
                        "example": "Limit ETH transfers to 1 ETH to approved addresses"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the policy is enabled.",
                        "example": true
                    },
                    "priority": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Priority of the policy. Higher priority policies are evaluated first.",
                        "example": 0
                    },
                    "rules": {
                        "items": {
                            "$ref": "#/components/schemas/CreatePolicyV2RuleRequest"
                        },
                        "type": "array",
                        "description": "The rules that make up this policy. If provided, replaces all existing rules."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "PolicyV2DeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.POLICY_V2"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "FeeSponsorshipStrategyResponse": {
                "description": "Strategy information in fee sponsorship response.",
                "properties": {
                    "sponsorSchema": {
                        "type": "string",
                        "description": "The sponsorship schema type.",
                        "example": "pay_for_user"
                    },
                    "tokenContract": {
                        "type": "string",
                        "description": "Token contract ID for charge_custom_tokens or fixed_rate schemas.",
                        "example": "con_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "tokenContractAmount": {
                        "type": "string",
                        "description": "Token amount for charge_custom_tokens or fixed_rate schemas.",
                        "example": "1000000000000000000"
                    },
                    "dynamicExchangeRate": {
                        "type": "boolean",
                        "description": "Whether the exchange rate is computed dynamically from cached prices.\nTrue when tokenContractAmount was not provided at creation time.",
                        "example": true
                    },
                    "splTokens": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "SPL mint addresses accepted for fee payment on Solana\ncharge_custom_tokens policies.",
                        "example": [
                            "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
                        ]
                    }
                },
                "required": [
                    "sponsorSchema"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.FEE_SPONSORSHIP": {
                "enum": [
                    "feeSponsorship"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "FEE_SPONSORSHIP"
                ]
            },
            "FeeSponsorshipResponse": {
                "description": "Fee sponsorship policy response.",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.FEE_SPONSORSHIP"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string",
                        "nullable": true,
                        "description": "Name of the fee sponsorship policy.",
                        "example": "My DeFi Gas Sponsorship"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true,
                        "description": "Description or comment for the fee sponsorship.",
                        "example": "Sponsors gas for free-tier users"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true,
                        "description": "Chain ID for single-chain sponsorship.",
                        "example": 8453,
                        "deprecated": true
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the policy is enabled.",
                        "example": true
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/FeeSponsorshipStrategyResponse",
                        "description": "Sponsorship strategy configuration."
                    },
                    "paymasterId": {
                        "type": "string",
                        "nullable": true,
                        "description": "Paymaster ID (optional).",
                        "example": "pay_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "forwarderContractId": {
                        "type": "string",
                        "nullable": true,
                        "description": "Forwarder contract ID (optional, for meta-transactions).",
                        "example": "cfo_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "policyId": {
                        "type": "string",
                        "nullable": true,
                        "description": "Linked policy ID for criteria-based transaction filtering.",
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name",
                    "description",
                    "chainId",
                    "enabled",
                    "strategy",
                    "paymasterId",
                    "forwarderContractId",
                    "policyId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "FeeSponsorshipListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/FeeSponsorshipResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "FeeSponsorshipListQueries": {
                "description": "Query parameters for listing fee sponsorship policies.",
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "name": {
                        "type": "string",
                        "description": "Filter by policy name (partial match).",
                        "example": "DeFi"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Filter by chain ID.",
                        "example": 1
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Filter by enabled status.",
                        "example": true
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Include deleted policies.",
                        "example": false,
                        "default": false
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "FeeSponsorshipStrategy": {
                "description": "Strategy configuration for fee sponsorship.",
                "properties": {
                    "sponsorSchema": {
                        "$ref": "#/components/schemas/SponsorSchema",
                        "description": "The sponsorship schema type.",
                        "example": "pay_for_user"
                    },
                    "tokenContract": {
                        "type": "string",
                        "description": "Token contract UUID for charge_custom_tokens or fixed_rate schemas.",
                        "example": "con_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "tokenContractAmount": {
                        "type": "string",
                        "description": "Token amount for charge_custom_tokens or fixed_rate schemas.",
                        "example": "1000000000000000000"
                    },
                    "splTokens": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "SPL mint addresses (base58) accepted as fee payment for Solana\ncharge_custom_tokens policies. Solana-only; mutually exclusive with\ntokenContract / tokenContractAmount.",
                        "example": [
                            "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
                        ]
                    }
                },
                "required": [
                    "sponsorSchema"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateFeeSponsorshipRequest": {
                "description": "Request to create a new fee sponsorship policy.",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the fee sponsorship policy.",
                        "example": "My DeFi Gas Sponsorship"
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/FeeSponsorshipStrategy",
                        "description": "Sponsorship strategy configuration."
                    },
                    "paymaster": {
                        "type": "string",
                        "description": "Paymaster UUID (optional, for pay_for_user schema).",
                        "example": "pay_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Chain ID for single-chain sponsorship.",
                        "example": 8453,
                        "deprecated": true
                    },
                    "forwarderContractId": {
                        "type": "string",
                        "description": "Forwarder contract UUID (optional, for meta-transactions).",
                        "example": "cfo_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "policyId": {
                        "type": "string",
                        "description": "Link to a policy for criteria-based transaction filtering.\nCreate the policy first via /v2/policies, then reference it here.",
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                },
                "required": [
                    "strategy",
                    "policyId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateFeeSponsorshipRequest": {
                "description": "Request to update a fee sponsorship policy.",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the fee sponsorship policy.",
                        "example": "Updated Gas Sponsorship"
                    },
                    "strategy": {
                        "$ref": "#/components/schemas/FeeSponsorshipStrategy",
                        "description": "Sponsorship strategy configuration."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Chain ID for single-chain sponsorship.",
                        "example": 8453,
                        "deprecated": true
                    },
                    "forwarderContractId": {
                        "type": "string",
                        "description": "Forwarder contract UUID (optional, for meta-transactions).",
                        "example": "cfo_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    },
                    "policyId": {
                        "type": "string",
                        "description": "Link to a policy for criteria-based transaction filtering.",
                        "example": "ply_48eeba57-2cd5-4159-a2cb-057a23a35e65"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "FeeSponsorshipDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.FEE_SPONSORSHIP"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RecoverV2Response": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "account": {
                        "type": "string"
                    },
                    "signerAddress": {
                        "type": "string"
                    },
                    "signer": {
                        "type": "string"
                    },
                    "share": {
                        "type": "string"
                    },
                    "isPrimary": {
                        "type": "boolean"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "user": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "account",
                    "signerAddress",
                    "signer",
                    "share",
                    "isPrimary",
                    "createdAt",
                    "user"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RecoverV2EmbeddedRequest": {
                "properties": {
                    "account": {
                        "type": "string"
                    }
                },
                "required": [
                    "account"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RegisterEmbeddedV2Request": {
                "properties": {
                    "account": {
                        "type": "string"
                    },
                    "share": {
                        "type": "string"
                    }
                },
                "required": [
                    "account",
                    "share"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateEmbeddedRequest": {
                "properties": {
                    "accountType": {
                        "type": "string",
                        "enum": [
                            "Externally Owned Account",
                            "Smart Account",
                            "Delegated Account"
                        ],
                        "description": "The type of smart account that will be created. \"Externally Owned Account\", \"Smart Account\" or \"Delegated Account\".",
                        "example": "Externally Owned Account"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type. \"EVM\" or \"SVM\".",
                        "example": "EVM"
                    },
                    "address": {
                        "type": "string",
                        "description": "The wallet address. For EOA: the EOA address. For Smart Account: the owner address (EOA will be created with this address). For Delegated Account: the address for both EOA and Delegated Account.",
                        "example": "0x662D24Bf7Ea2dD6a7D0935F680a6056b94fE934d"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains). Required for Smart Account and Delegated Account types.",
                        "example": 80002
                    },
                    "share": {
                        "type": "string",
                        "description": "Specifies the share repositories. Required for creating embedded accounts.",
                        "example": "7d526b7e99fbf52850a183..."
                    },
                    "signerUuid": {
                        "type": "string"
                    },
                    "implementationType": {
                        "type": "string",
                        "description": "The type of smart account that will be created (e.g. UpgradeableV6, UpgradeableV5, Calibur, Simple). Defaults to UpgradeableV6 in mainnets. Must support EIP-7702 for Delegated Accounts.",
                        "example": "UpgradeableV6"
                    }
                },
                "required": [
                    "accountType",
                    "chainType",
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateBackendWalletResponse": {
                "description": "Response from creating a new backend wallet account.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "account"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "id": {
                        "type": "string",
                        "description": "The created account ID (starts with `acc_`).",
                        "example": "acc_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "address": {
                        "type": "string",
                        "description": "The wallet address generated for this account.",
                        "example": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
                    },
                    "walletId": {
                        "type": "string",
                        "description": "The wallet ID",
                        "example": "pla_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type the wallet is associated with.",
                        "example": "EVM"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Creation timestamp (Unix epoch seconds)."
                    }
                },
                "required": [
                    "object",
                    "id",
                    "address",
                    "walletId",
                    "chainType",
                    "createdAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateBackendWalletRequest": {
                "description": "Request to create a new backend wallet account.",
                "properties": {
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type for the new wallet.",
                        "example": "EVM"
                    },
                    "wallet": {
                        "type": "string",
                        "description": "The wallet ID to associate with this wallet (starts with `pla_`).",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "chainType"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeleteBackendWalletResponse": {
                "description": "Response from deleting a backend wallet.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "backendWallet"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "id": {
                        "type": "string",
                        "description": "The deleted wallet ID.",
                        "example": "acc_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Whether the wallet was deleted."
                    }
                },
                "required": [
                    "object",
                    "id",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SignResponse": {
                "description": "Response from signing data via backend wallet.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "signature"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "account": {
                        "type": "string",
                        "description": "The account ID that signed the data (starts with `acc_`).",
                        "example": "acc_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "signature": {
                        "type": "string",
                        "description": "The signature bytes (hex-encoded).",
                        "example": "0x1234567890abcdef..."
                    }
                },
                "required": [
                    "object",
                    "account",
                    "signature"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SignRequest": {
                "description": "Request to sign data via backend wallet.",
                "properties": {
                    "data": {
                        "type": "string",
                        "description": "The data to sign (hex-encoded transaction data or message hash).",
                        "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
                    }
                },
                "required": [
                    "data"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ExportPrivateKeyResponse": {
                "description": "Response from exporting a private key with E2E encryption.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "exportedKey"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "encryptedPrivateKey": {
                        "type": "string",
                        "description": "The private key encrypted with RSA-OAEP SHA-256 using your ephemeral public key (base64-encoded).\nDecrypt using your ephemeral RSA private key.",
                        "example": "base64_encrypted_data..."
                    }
                },
                "required": [
                    "object",
                    "encryptedPrivateKey"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ExportPrivateKeyRequest": {
                "description": "Request to export private key with E2E encryption.",
                "properties": {
                    "encryptionKey": {
                        "type": "string",
                        "description": "Client's ephemeral RSA-4096 public key for end-to-end encryption (base64 SPKI DER format).\nThe backend wallet will encrypt the private key using RSA-OAEP SHA-256.",
                        "example": "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA..."
                    }
                },
                "required": [
                    "encryptionKey"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ImportPrivateKeyResponse": {
                "description": "Response from importing a private key with E2E encryption.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "account"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "id": {
                        "type": "string",
                        "description": "The created account ID (starts with `acc_`).",
                        "example": "acc_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "address": {
                        "type": "string",
                        "description": "The wallet address derived from the imported private key.",
                        "example": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
                    },
                    "walletId": {
                        "type": "string",
                        "description": "The wallet ID",
                        "example": "pla_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type the wallet is associated with.",
                        "example": "EVM"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Creation timestamp (Unix epoch seconds)."
                    }
                },
                "required": [
                    "object",
                    "id",
                    "address",
                    "walletId",
                    "createdAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ImportPrivateKeyRequest": {
                "description": "Request to import private key with E2E encryption.",
                "properties": {
                    "encryptedPrivateKey": {
                        "type": "string",
                        "description": "The private key encrypted with RSA-OAEP SHA-256 using the server's static import public key.\nObtain the server's import public key out-of-band (e.g., from SDK or documentation).",
                        "example": "base64_encrypted_data..."
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type for the imported wallet.",
                        "example": "EVM"
                    },
                    "wallet": {
                        "type": "string",
                        "description": "The wallet ID to associate with this wallet (starts with `pla_`).",
                        "example": "pla_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "encryptedPrivateKey"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RegisterWalletSecretResponse": {
                "description": "Response from registering a new wallet secret.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "walletSecret"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "keyId": {
                        "type": "string",
                        "description": "The key ID for the registered secret.",
                        "example": "ws_1234567890"
                    },
                    "registeredAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Timestamp when the secret was registered (Unix epoch seconds)."
                    }
                },
                "required": [
                    "object",
                    "keyId",
                    "registeredAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RegisterWalletSecretRequest": {
                "description": "Request to register a new wallet secret (authentication key).\n\nUses provided-key authentication: the walletAuthToken JWT must be signed by\nthe private key corresponding to the publicKey being registered.",
                "properties": {
                    "publicKey": {
                        "type": "string",
                        "description": "ECDSA P-256 public key for wallet authentication (PEM format).\nThis will be used to verify X-Wallet-Auth JWT signatures.",
                        "example": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE..."
                    },
                    "walletAuthToken": {
                        "type": "string",
                        "description": "JWT signed with the private key corresponding to publicKey.\nThis proves possession of the private key without transmitting it.\n\nJWT must include: uris (matching request path), reqHash (SHA-256 of request body),\niat (issued at), nbf (not before), and optionally exp (expiration).",
                        "example": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9..."
                    },
                    "keyId": {
                        "type": "string",
                        "description": "Key identifier for the secret.\nUsed to identify this key in X-Wallet-Auth JWT headers.",
                        "example": "ws_1234567890"
                    }
                },
                "required": [
                    "publicKey",
                    "walletAuthToken"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RevokeWalletSecretResponse": {
                "description": "Response from revoking a wallet secret.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "walletSecretRevocation"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "keyId": {
                        "type": "string",
                        "description": "The key ID of the revoked secret.",
                        "example": "ws_1234567890"
                    },
                    "revoked": {
                        "type": "boolean",
                        "description": "Whether the secret was successfully revoked."
                    },
                    "revokedAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Timestamp when the secret was revoked (Unix epoch seconds)."
                    }
                },
                "required": [
                    "object",
                    "keyId",
                    "revoked",
                    "revokedAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RevokeWalletSecretRequest": {
                "description": "Request to revoke a wallet secret (authentication key).",
                "properties": {
                    "keyId": {
                        "type": "string",
                        "description": "Key identifier of the secret to revoke.",
                        "example": "ws_1234567890"
                    }
                },
                "required": [
                    "keyId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RotateWalletSecretResponse": {
                "description": "Response from rotating a wallet secret.",
                "properties": {
                    "object": {
                        "type": "string",
                        "enum": [
                            "walletSecretRotation"
                        ],
                        "nullable": false,
                        "description": "The type of object."
                    },
                    "success": {
                        "type": "boolean",
                        "description": "Whether the rotation was successful."
                    },
                    "rotatedAt": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Timestamp when the rotation occurred (Unix epoch seconds)."
                    }
                },
                "required": [
                    "object",
                    "success",
                    "rotatedAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RotateWalletSecretRequest": {
                "description": "Request to rotate wallet secret (authentication key).\n\nUses provided-key authentication: the walletAuthToken JWT must be signed by\nthe private key corresponding to the newPublicKey being registered.",
                "properties": {
                    "newPublicKey": {
                        "type": "string",
                        "description": "New ECDSA P-256 public key for wallet authentication (PEM format).\nThis will replace the current wallet secret used for X-Wallet-Auth JWT signing.",
                        "example": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE..."
                    },
                    "walletAuthToken": {
                        "type": "string",
                        "description": "JWT signed with the private key corresponding to newPublicKey.\nThis proves possession of the private key without transmitting it.\n\nJWT must include: uris (matching request path), reqHash (SHA-256 of request body),\niat (issued at), nbf (not before), and optionally exp (expiration).",
                        "example": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9..."
                    },
                    "newKeyId": {
                        "type": "string",
                        "description": "Key identifier for the new secret.\nUsed to identify this key in X-Wallet-Auth JWT headers.",
                        "example": "ws_1234567890"
                    }
                },
                "required": [
                    "newPublicKey",
                    "walletAuthToken"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountV2Response": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "wallet": {
                        "type": "string"
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "chainType": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "smartAccount": {
                        "$ref": "#/components/schemas/SmartAccountData"
                    },
                    "recoveryMethod": {
                        "type": "string"
                    },
                    "recoveryMethodDetails": {
                        "$ref": "#/components/schemas/RecoveryMethodDetails"
                    },
                    "custody": {
                        "type": "string",
                        "enum": [
                            "Developer",
                            "User"
                        ],
                        "description": "Indicates key custody: \"Developer\" for TEE managed keys, \"User\" for user-managed keys.",
                        "example": "Developer"
                    }
                },
                "required": [
                    "id",
                    "wallet",
                    "accountType",
                    "address",
                    "chainType",
                    "createdAt",
                    "updatedAt",
                    "custody"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BaseEntityListResponse_AccountV2Response_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AccountV2Response"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AccountListV2Response": {
                "$ref": "#/components/schemas/BaseEntityListResponse_AccountV2Response_"
            },
            "AccountListQueriesV2": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "user": {
                        "type": "string",
                        "description": "Specifies the unique user ID (starts with pla_)",
                        "example": "pla_6f6c9067-89fa-4fc8-ac72-c242a268c584"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type. Must be either \"EVM\" or \"SVM\".",
                        "example": "EVM"
                    },
                    "accountType": {
                        "type": "string",
                        "enum": [
                            "Externally Owned Account",
                            "Smart Account",
                            "Delegated Account"
                        ],
                        "description": "Specifies the type of account. Must be either \"Smart Account\" or \"Externally Owned Account\".",
                        "example": "Smart Account"
                    },
                    "custody": {
                        "type": "string",
                        "enum": [
                            "Developer",
                            "User"
                        ],
                        "description": "Specifies the key custody of the account. Must be either \"Developer\" or \"User\".",
                        "example": "Developer"
                    },
                    "address": {
                        "type": "string",
                        "description": "Specifies the account address",
                        "example": "0xf7b4c54cca21cccf42796502bf94e2838fbd44c4"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "SignerIdResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "id"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SwitchChainQueriesV2": {
                "properties": {
                    "account": {
                        "type": "string",
                        "description": "The account ID (starts with acc_)"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The target chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    }
                },
                "required": [
                    "account",
                    "chainId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateAccountRequestV2": {
                "properties": {
                    "accountType": {
                        "type": "string",
                        "enum": [
                            "Externally Owned Account",
                            "Smart Account",
                            "Delegated Account"
                        ],
                        "description": "The type of smart account that will be created. \"Externally Owned Account\", \"Smart Account\" or \"Delegated Account\".",
                        "example": "Externally Owned Account"
                    },
                    "chainType": {
                        "type": "string",
                        "enum": [
                            "EVM",
                            "SVM"
                        ],
                        "description": "The chain type. \"EVM\" or \"SVM\".",
                        "example": "EVM"
                    },
                    "address": {
                        "type": "string"
                    },
                    "implementationType": {
                        "type": "string",
                        "description": "The type of smart account that will be created (e.g. UpgradeableV6, UpgradeableV5, Calibur). Defaults to UpgradeableV6 in mainnets.",
                        "example": "UpgradeableV6"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "user": {
                        "type": "string",
                        "description": "ID of the user this account belongs to (starts with `usr_`). Also might take wallet ID (starts with `pla_`)",
                        "example": "usr_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    },
                    "account": {
                        "type": "string",
                        "description": "ID of the account (starts with `acc_`) to be linked with. Required for accountType \"Smart Account\".",
                        "example": "acc_e0b84653-1741-4a3d-9e91-2b0fd2942f60"
                    }
                },
                "required": [
                    "accountType",
                    "chainType",
                    "user"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ExportShareResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "wallet": {
                        "type": "string"
                    },
                    "accountType": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "ownerAddress": {
                        "type": "string"
                    },
                    "chainType": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "number",
                        "format": "double"
                    },
                    "createdAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "smartAccount": {
                        "$ref": "#/components/schemas/SmartAccountData"
                    },
                    "recoveryMethod": {
                        "type": "string"
                    },
                    "recoveryMethodDetails": {
                        "$ref": "#/components/schemas/RecoveryMethodDetails"
                    },
                    "custody": {
                        "type": "string",
                        "enum": [
                            "Developer",
                            "User"
                        ],
                        "description": "Indicates key custody: \"Developer\" for TEE managed keys, \"User\" for user-managed keys.",
                        "example": "Developer"
                    },
                    "share": {
                        "type": "string"
                    },
                    "signerId": {
                        "type": "string"
                    },
                    "userId": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "wallet",
                    "accountType",
                    "address",
                    "chainType",
                    "createdAt",
                    "updatedAt",
                    "custody",
                    "share",
                    "signerId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeleteAccountResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.ACCOUNT"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "WebhookSecretInfoResponse": {
                "description": "Metadata about the per-environment webhook signing secret.\n\nNever includes the raw secret. The hint is a short prefix so callers can\nidentify which secret is active without seeing the full value.",
                "properties": {
                    "hint": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "livemode": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "hint",
                    "createdAt",
                    "updatedAt",
                    "livemode"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "WebhookSecretRotateResponse": {
                "description": "Response from a rotation. The raw secret is returned exactly once here and\ncannot be retrieved again — callers must capture it now. `updatedAt` is the\ntimestamp at which the new secret was written.",
                "properties": {
                    "signingSecret": {
                        "type": "string"
                    },
                    "hint": {
                        "type": "string"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "livemode": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "signingSecret",
                    "hint",
                    "updatedAt",
                    "livemode"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserProjectRole": {
                "enum": [
                    "OWNER",
                    "ADMIN",
                    "MEMBER"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "OWNER",
                    "ADMIN",
                    "MEMBER"
                ]
            },
            "EntityType.USER": {
                "enum": [
                    "user"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "USER"
                ]
            },
            "UserProjectResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.USER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "firstName": {
                        "type": "string"
                    },
                    "lastName": {
                        "type": "string"
                    },
                    "role": {
                        "$ref": "#/components/schemas/UserProjectRole"
                    },
                    "email": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "updatedAt",
                    "firstName",
                    "lastName",
                    "role",
                    "email"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserProjectListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/UserProjectResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserProjectRole.ADMIN": {
                "enum": [
                    "ADMIN"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ADMIN"
                ]
            },
            "UserProjectRole.MEMBER": {
                "enum": [
                    "MEMBER"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "MEMBER"
                ]
            },
            "UserProjectCreateRequest": {
                "properties": {
                    "role": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/UserProjectRole.ADMIN"
                            },
                            {
                                "$ref": "#/components/schemas/UserProjectRole.MEMBER"
                            }
                        ],
                        "description": "The role of the user.",
                        "example": "MEMBER"
                    },
                    "email": {
                        "type": "string",
                        "description": "The email of the user to add.",
                        "example": "name@company.com"
                    }
                },
                "required": [
                    "email"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserProjectUpdateRequest": {
                "properties": {
                    "role": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/UserProjectRole.MEMBER"
                            },
                            {
                                "$ref": "#/components/schemas/UserProjectRole.ADMIN"
                            }
                        ],
                        "description": "The role of the user.",
                        "example": "MEMBER"
                    }
                },
                "required": [
                    "role"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UserProjectDeleteResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.USER"
                    },
                    "deleted": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "deleted"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UsageAlert": {
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "warning",
                            "critical",
                            "info"
                        ]
                    },
                    "message": {
                        "type": "string"
                    },
                    "percentUsed": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "type",
                    "message",
                    "percentUsed"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UsageSummaryResponse": {
                "properties": {
                    "plan": {
                        "properties": {
                            "priceUsd": {
                                "type": "integer",
                                "format": "int32"
                            },
                            "name": {
                                "type": "string"
                            },
                            "tier": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "priceUsd",
                            "name",
                            "tier"
                        ],
                        "type": "object"
                    },
                    "operations": {
                        "properties": {
                            "estimatedOverageCostUsd": {
                                "type": "number",
                                "format": "double",
                                "nullable": true
                            },
                            "overageCount": {
                                "type": "integer",
                                "format": "int32"
                            },
                            "percentUsed": {
                                "type": "number",
                                "format": "double"
                            },
                            "included": {
                                "type": "integer",
                                "format": "int32"
                            },
                            "current": {
                                "type": "integer",
                                "format": "int32"
                            }
                        },
                        "required": [
                            "estimatedOverageCostUsd",
                            "overageCount",
                            "percentUsed",
                            "included",
                            "current"
                        ],
                        "type": "object"
                    },
                    "billingPeriod": {
                        "properties": {
                            "end": {
                                "type": "string"
                            },
                            "start": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "end",
                            "start"
                        ],
                        "type": "object"
                    },
                    "alerts": {
                        "items": {
                            "$ref": "#/components/schemas/UsageAlert"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "plan",
                    "operations",
                    "billingPeriod",
                    "alerts"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MonthlyUsageHistoryResponse": {
                "properties": {
                    "months": {
                        "items": {
                            "properties": {
                                "overageCostUsd": {
                                    "type": "number",
                                    "format": "double",
                                    "nullable": true
                                },
                                "operationsIncluded": {
                                    "type": "integer",
                                    "format": "int32"
                                },
                                "operationsCount": {
                                    "type": "integer",
                                    "format": "int32"
                                },
                                "month": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "overageCostUsd",
                                "operationsIncluded",
                                "operationsCount",
                                "month"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "months"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ApiKeyResponse": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "token": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "livemode": {
                        "type": "boolean"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Scopes restricting this API key's access. Empty array means full access."
                    },
                    "secretKey": {
                        "type": "string",
                        "description": "The raw secret key - only populated on creation/rotation for secret keys"
                    }
                },
                "required": [
                    "id",
                    "createdAt",
                    "token",
                    "name",
                    "livemode",
                    "scopes"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "WebhookResponse": {
                "properties": {
                    "webhook": {
                        "type": "string",
                        "nullable": true
                    },
                    "livemode": {
                        "type": "boolean"
                    },
                    "signingSecret": {
                        "type": "string",
                        "description": "The raw webhook signing secret. Only populated on project creation —\nnever returned by GET endpoints. Capture it now; use the rotate endpoint\nif you lose it."
                    }
                },
                "required": [
                    "webhook",
                    "livemode"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.PROJECT": {
                "enum": [
                    "project"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PROJECT"
                ]
            },
            "ChildProjectResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PROJECT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ChildProjectListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/ChildProjectResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ProjectResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PROJECT"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string"
                    },
                    "apikeys": {
                        "items": {
                            "$ref": "#/components/schemas/ApiKeyResponse"
                        },
                        "type": "array"
                    },
                    "webhook": {
                        "items": {
                            "$ref": "#/components/schemas/WebhookResponse"
                        },
                        "type": "array"
                    },
                    "parentProject": {
                        "type": "string"
                    },
                    "childProjects": {
                        "$ref": "#/components/schemas/ChildProjectListResponse"
                    },
                    "isV2": {
                        "type": "boolean"
                    },
                    "isActive": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "updatedAt",
                    "name",
                    "isV2",
                    "isActive"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ProjectListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/ProjectResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TransactionStat": {
                "properties": {
                    "timestamp": {
                        "type": "string"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "successful": {
                        "type": "number",
                        "format": "double"
                    },
                    "gasUsed": {
                        "type": "string"
                    }
                },
                "required": [
                    "timestamp",
                    "total",
                    "successful",
                    "gasUsed"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Stat": {
                "properties": {
                    "timestamp": {
                        "type": "string"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "timestamp",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "DeviceStat": {
                "$ref": "#/components/schemas/Stat"
            },
            "ProjectStatsResponse": {
                "properties": {
                    "transactionIntents": {
                        "items": {
                            "$ref": "#/components/schemas/TransactionStat"
                        },
                        "type": "array"
                    },
                    "devices": {
                        "items": {
                            "$ref": "#/components/schemas/DeviceStat"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "transactionIntents",
                    "devices"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ProjectStatsRequest": {
                "properties": {
                    "timeFrame": {
                        "type": "string",
                        "enum": [
                            "day",
                            "week",
                            "month",
                            "all"
                        ]
                    }
                },
                "required": [
                    "timeFrame"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Plan": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "price": {
                        "type": "number",
                        "format": "double"
                    },
                    "is_current": {
                        "type": "boolean"
                    },
                    "change_type": {
                        "type": "string",
                        "enum": [
                            "upgrade",
                            "downgrade",
                            "none"
                        ]
                    },
                    "legacy": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "price",
                    "is_current",
                    "change_type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PlansResponse": {
                "properties": {
                    "plans": {
                        "items": {
                            "$ref": "#/components/schemas/Plan"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "plans"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BillingSubscriptionResponse": {
                "properties": {
                    "currentPeriodEnd": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "currentPeriodStart": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "canceledAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "plan": {
                        "properties": {
                            "price": {
                                "type": "number",
                                "format": "double"
                            },
                            "name": {
                                "type": "string"
                            },
                            "id": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "price",
                            "name",
                            "id"
                        ],
                        "type": "object"
                    }
                },
                "required": [
                    "plan"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PrivateKeyPolicy": {
                "enum": [
                    "INDIVIDUAL",
                    "PROJECT"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "INDIVIDUAL",
                    "PROJECT"
                ]
            },
            "CreateProjectRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the project.",
                        "example": "My Project",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "pkPolicy": {
                        "$ref": "#/components/schemas/PrivateKeyPolicy",
                        "description": "The private key policyfor the project.",
                        "example": "PROJECT"
                    },
                    "createApiKey": {
                        "type": "boolean",
                        "description": "Whether to create API keys for the project.",
                        "default": true
                    }
                },
                "required": [
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateProjectRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the project.",
                        "example": "My Project",
                        "minLength": 1,
                        "maxLength": 256
                    }
                },
                "required": [
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AllowedOriginsResponse": {
                "properties": {
                    "allowedOrigins": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "allowedOrigins"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AllowedOriginsRequest": {
                "properties": {
                    "allowedOrigins": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "allowedOrigins"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MfaEmailChallengeResponse": {
                "properties": {
                    "sent": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "sent"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MfaEmailVerifyResponse": {
                "properties": {
                    "verified": {
                        "type": "boolean"
                    },
                    "factorsRemoved": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "verified",
                    "factorsRemoved"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MfaEmailVerifyRequest": {
                "properties": {
                    "code": {
                        "type": "string"
                    }
                },
                "required": [
                    "code"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EntityType.SMTP_CONFIG": {
                "enum": [
                    "smtpConfig"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SMTP_CONFIG"
                ]
            },
            "SMTPConfigResponse": {
                "properties": {
                    "user": {
                        "type": "string"
                    },
                    "pass": {
                        "type": "string"
                    },
                    "host": {
                        "type": "string"
                    },
                    "port": {
                        "type": "number",
                        "format": "double"
                    },
                    "from": {
                        "type": "string"
                    },
                    "useSSL": {
                        "type": "boolean"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SMTP_CONFIG"
                    }
                },
                "required": [
                    "user",
                    "pass",
                    "host",
                    "port",
                    "from",
                    "useSSL",
                    "object"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateSMTPConfigResponse": {
                "$ref": "#/components/schemas/SMTPConfigResponse"
            },
            "UpsertSMTPConfigRequest": {
                "properties": {
                    "user": {
                        "type": "string",
                        "description": "Specifies the user name",
                        "example": "user"
                    },
                    "pass": {
                        "type": "string",
                        "description": "Specifies the password",
                        "example": "pass"
                    },
                    "host": {
                        "type": "string",
                        "description": "Specifies the host",
                        "example": "host"
                    },
                    "from": {
                        "type": "string",
                        "description": "Specifies the from",
                        "example": "from"
                    },
                    "port": {
                        "type": "number",
                        "format": "double",
                        "description": "Specifies the port",
                        "example": 0
                    },
                    "useSSL": {
                        "type": "boolean",
                        "description": "Specifies the use SSL",
                        "example": true
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "GetSMTPConfigResponse": {
                "$ref": "#/components/schemas/SMTPConfigResponse"
            },
            "DeleteSMTPConfigResponse": {
                "properties": {
                    "deleted": {
                        "type": "boolean"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.SMTP_CONFIG"
                    }
                },
                "required": [
                    "deleted",
                    "object"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EmailTypeResponse": {
                "enum": [
                    "emailVerification",
                    "passwordReset"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EMAIL_VERIFICATION",
                    "PASSWORD_RESET"
                ]
            },
            "EntityType.EMAIL_SAMPLE": {
                "enum": [
                    "emailSample"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EMAIL_SAMPLE"
                ]
            },
            "EmailSampleResponse": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EMAIL_SAMPLE"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "name": {
                        "type": "string"
                    },
                    "subject": {
                        "type": "string"
                    },
                    "body": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/components/schemas/EmailTypeResponse"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "name",
                    "subject",
                    "body",
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateEmailSampleResponse": {
                "$ref": "#/components/schemas/EmailSampleResponse"
            },
            "EmailTypeRequest": {
                "enum": [
                    "emailVerification",
                    "passwordReset"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EMAIL_VERIFICATION",
                    "PASSWORD_RESET"
                ]
            },
            "CreateEmailSampleRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name",
                        "example": "name"
                    },
                    "subject": {
                        "type": "string",
                        "description": "Specifies the subject",
                        "example": "subject"
                    },
                    "body": {
                        "type": "string",
                        "description": "Specifies the body",
                        "example": "body"
                    },
                    "type": {
                        "$ref": "#/components/schemas/EmailTypeRequest",
                        "description": "Specifies the type",
                        "example": "emailVerification"
                    }
                },
                "required": [
                    "name",
                    "subject",
                    "body",
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GetEmailSampleResponse": {
                "$ref": "#/components/schemas/EmailSampleResponse"
            },
            "BaseEntityListResponse_EmailSampleResponse_": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/EmailSampleResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "EmailSampleListResponse": {
                "$ref": "#/components/schemas/BaseEntityListResponse_EmailSampleResponse_"
            },
            "EmailSampleDeleteResponse": {
                "properties": {
                    "deleted": {
                        "type": "boolean"
                    },
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.EMAIL_SAMPLE"
                    }
                },
                "required": [
                    "deleted",
                    "id",
                    "object"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateEmailSampleResponse": {
                "$ref": "#/components/schemas/EmailSampleResponse"
            },
            "UpdateEmailSampleRequest": {
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Specifies the name",
                        "example": "name"
                    },
                    "subject": {
                        "type": "string",
                        "description": "Specifies the subject",
                        "example": "subject"
                    },
                    "body": {
                        "type": "string",
                        "description": "Specifies the body",
                        "example": "body"
                    },
                    "type": {
                        "$ref": "#/components/schemas/EmailTypeRequest",
                        "description": "Specifies the type",
                        "example": "emailVerification"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "EcosystemMetadata": {
                "properties": {},
                "type": "object",
                "additionalProperties": {
                    "anyOf": [
                        {
                            "type": "string"
                        },
                        {
                            "type": "number",
                            "format": "double"
                        }
                    ]
                }
            },
            "EcosystemConfigurationResponse": {
                "properties": {
                    "customDomain": {
                        "type": "string",
                        "description": "Subdomain of the ecosystem."
                    },
                    "primaryColor": {
                        "type": "string",
                        "description": "Primary color of the ecosystem."
                    },
                    "primaryColorForeground": {
                        "type": "string",
                        "description": "Primary color foreground of the ecosystem."
                    },
                    "radius": {
                        "type": "string",
                        "description": "Radius of the ecosystem."
                    },
                    "logoUrl": {
                        "type": "string",
                        "description": "Logo URL of the ecosystem."
                    },
                    "ecosystemWalletDomains": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Whitelisted frontend domains of the ecosystem."
                    },
                    "termsOfServiceUrl": {
                        "type": "string",
                        "description": "Terms of service URL",
                        "example": "https://example.com/terms"
                    },
                    "privacyPolicyUrl": {
                        "type": "string",
                        "description": "Privacy policy URL",
                        "example": "https://example.com/privacy"
                    },
                    "faviconUrl": {
                        "type": "string",
                        "description": "Favicon URL",
                        "example": "https://example.com/favicon.ico"
                    },
                    "dashboardExamples": {
                        "items": {
                            "$ref": "#/components/schemas/EcosystemMetadata"
                        },
                        "type": "array",
                        "description": "Examples of the ecosystem.",
                        "example": []
                    },
                    "dashboardSDKs": {
                        "items": {
                            "$ref": "#/components/schemas/EcosystemMetadata"
                        },
                        "type": "array",
                        "description": "SDKs of the ecosystem.",
                        "example": []
                    },
                    "supportEmail": {
                        "type": "string",
                        "description": "Support email of the ecosystem.",
                        "example": "support@openfort.xyz"
                    },
                    "documentationUrl": {
                        "type": "string",
                        "description": "Documentation URL of the ecosystem.",
                        "example": "https://www.openfort.io/docs"
                    }
                },
                "required": [
                    "customDomain",
                    "primaryColor",
                    "primaryColorForeground",
                    "radius",
                    "logoUrl",
                    "ecosystemWalletDomains"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateEcosystemConfigurationRequest": {
                "properties": {
                    "customDomain": {
                        "type": "string",
                        "description": "Custom domain of the ecosystem."
                    },
                    "primaryColor": {
                        "type": "string",
                        "description": "Primary color of the ecosystem."
                    },
                    "primaryColorForeground": {
                        "type": "string",
                        "description": "Primary color foreground of the ecosystem."
                    },
                    "radius": {
                        "type": "string",
                        "description": "Radius of the ecosystem."
                    },
                    "logoUrl": {
                        "type": "string",
                        "description": "Logo URL of the ecosystem."
                    },
                    "ecosystemWalletDomains": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "URLs where the ecosystem wallet is hosted."
                    },
                    "termsOfServiceUrl": {
                        "type": "string",
                        "description": "Terms of service URL",
                        "example": "https://example.com/terms"
                    },
                    "privacyPolicyUrl": {
                        "type": "string",
                        "description": "Privacy policy URL",
                        "example": "https://example.com/privacy"
                    },
                    "faviconUrl": {
                        "type": "string",
                        "description": "Favicon URL",
                        "example": "https://example.com/favicon.ico"
                    },
                    "dashboardExamples": {
                        "items": {
                            "$ref": "#/components/schemas/EcosystemMetadata"
                        },
                        "type": "array",
                        "description": "Examples of the ecosystem.",
                        "example": []
                    },
                    "dashboardSDKs": {
                        "items": {
                            "$ref": "#/components/schemas/EcosystemMetadata"
                        },
                        "type": "array",
                        "description": "SDKs of the ecosystem.",
                        "example": []
                    },
                    "supportEmail": {
                        "type": "string",
                        "description": "Support email of the ecosystem.",
                        "example": "support@openfort.xyz"
                    },
                    "documentationUrl": {
                        "type": "string",
                        "description": "Documentation URL of the ecosystem.",
                        "example": "https://www.openfort.io/docs"
                    }
                },
                "required": [
                    "customDomain",
                    "primaryColor",
                    "primaryColorForeground",
                    "radius",
                    "logoUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "MyEcosystemResponse": {
                "properties": {
                    "publishableKey": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "configuration": {
                        "$ref": "#/components/schemas/EcosystemConfigurationResponse"
                    }
                },
                "required": [
                    "publishableKey",
                    "name"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ApiKeyType": {
                "enum": [
                    "pk",
                    "sk",
                    "pk_shield",
                    "sk_shield",
                    "pk_wallet"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PUBLIC_KEY",
                    "SECRET_KEY",
                    "PUBLIC_KEY_SHIELD",
                    "SECRET_KEY_SHIELD",
                    "BACKEND_WALLET_PUBLIC_KEY"
                ]
            },
            "CreateProjectApiKeyRequest": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/ApiKeyType",
                        "description": "The type of the API key.",
                        "example": "sk"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Optional scopes to restrict this API key's access.\nOnly applicable to secret keys (sk). Empty array or omitted means full access.",
                        "example": [
                            "accounts:read",
                            "transactions:write"
                        ]
                    }
                },
                "required": [
                    "type"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateProjectApiKeyRequest": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/ApiKeyType",
                        "description": "The type of the API key.",
                        "example": "sk"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "Optional scopes to restrict this API key's access.\nOnly applicable to secret keys (sk). Empty array or omitted means full access.",
                        "example": [
                            "accounts:read",
                            "transactions:write"
                        ]
                    },
                    "uuid": {
                        "type": "string",
                        "description": "The API key to update.",
                        "example": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
                    }
                },
                "required": [
                    "type",
                    "uuid"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateApiKeyScopesRequest": {
                "properties": {
                    "uuid": {
                        "type": "string",
                        "description": "The API key to update.",
                        "example": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
                    },
                    "scopes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "description": "The scopes to set on this secret key.",
                        "example": [
                            "accounts:read",
                            "transactions:write"
                        ],
                        "minItems": 1
                    }
                },
                "required": [
                    "uuid",
                    "scopes"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthorizedOriginsResponse": {
                "properties": {
                    "origins": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "origins"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateAuthorizedOriginsRequest": {
                "properties": {
                    "origins": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "origins"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthorizedNetworksResponse": {
                "properties": {
                    "authorizedNetworks": {
                        "items": {
                            "properties": {
                                "network": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "network",
                                "name"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "authorizedNetworks"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthorizedNetwork": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "network": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "network"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateAuthorizedNetworksRequest": {
                "properties": {
                    "authorizedNetworks": {
                        "items": {
                            "$ref": "#/components/schemas/AuthorizedNetwork"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "authorizedNetworks"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthorizedAppsResponse": {
                "properties": {
                    "authorizedApps": {
                        "items": {
                            "properties": {
                                "appUrlScheme": {
                                    "type": "string"
                                },
                                "appIdentifier": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "appIdentifier",
                                "name"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "authorizedApps"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthorizedApp": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "appIdentifier": {
                        "type": "string"
                    },
                    "appUrlScheme": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "appIdentifier"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UpdateAuthorizedAppsRequest": {
                "properties": {
                    "authorizedApps": {
                        "items": {
                            "$ref": "#/components/schemas/AuthorizedApp"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "authorizedApps"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthProviderResponse": {
                "type": "string",
                "enum": [
                    "email",
                    "wallet",
                    "google",
                    "apple",
                    "twitter",
                    "discord",
                    "epic_games",
                    "facebook",
                    "accelbyte",
                    "firebase",
                    "lootlocker",
                    "playfab",
                    "supabase",
                    "custom",
                    "oidc"
                ]
            },
            "LinkedAccountResponse": {
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/AuthProviderResponse"
                    },
                    "email": {
                        "type": "string"
                    },
                    "externalUserId": {
                        "type": "string"
                    },
                    "connectorType": {
                        "type": "string"
                    },
                    "walletClientType": {
                        "type": "string"
                    },
                    "disabled": {
                        "type": "boolean"
                    },
                    "verified": {
                        "type": "boolean"
                    },
                    "updatedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "address": {
                        "type": "string"
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata"
                    }
                },
                "required": [
                    "provider",
                    "disabled"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Pick_PlayerResponse.id_": {
                "properties": {
                    "id": {
                        "type": "string"
                    }
                },
                "required": [
                    "id"
                ],
                "type": "object",
                "description": "From T, pick a set of properties whose keys are in the union K"
            },
            "AuthPlayerResponse": {
                "properties": {
                    "player": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/PlayerResponse"
                            },
                            {
                                "$ref": "#/components/schemas/Pick_PlayerResponse.id_"
                            }
                        ]
                    },
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "linkedAccounts": {
                        "items": {
                            "$ref": "#/components/schemas/LinkedAccountResponse"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "linkedAccounts"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthResponse": {
                "properties": {
                    "player": {
                        "$ref": "#/components/schemas/AuthPlayerResponse",
                        "description": "Player's identifier."
                    },
                    "token": {
                        "type": "string",
                        "description": "JWT access token."
                    },
                    "refreshToken": {
                        "type": "string",
                        "description": "Refresh token."
                    }
                },
                "required": [
                    "player",
                    "token",
                    "refreshToken"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RefreshTokenRequest": {
                "properties": {
                    "refreshToken": {
                        "type": "string",
                        "description": "Specifies the session refresh token."
                    },
                    "forceRefresh": {
                        "type": "boolean",
                        "description": "Specifies whether to force refresh the session.",
                        "example": false
                    }
                },
                "required": [
                    "refreshToken"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "LogoutRequest": {
                "properties": {
                    "refreshToken": {
                        "type": "string",
                        "description": "Specifies the refresh token."
                    }
                },
                "required": [
                    "refreshToken"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SIWEInitResponse": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "The address of the player.",
                        "example": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBE"
                    },
                    "nonce": {
                        "type": "string"
                    },
                    "expiresAt": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "address",
                    "nonce",
                    "expiresAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SIWERequest": {
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "The address of the user.",
                        "example": "0x8C5cedA46A26214A52A9D7BF036Ad2F6255BdBEa"
                    }
                },
                "required": [
                    "address"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SIWEAuthenticateRequest": {
                "properties": {
                    "signature": {
                        "type": "string",
                        "description": "Signature of the EIP-712 message with the user's wallet.",
                        "example": "0x1773ca2e6514a795bc9549ffbdf73909b2cd0ba8eafe52a1751c3ee8d644458701debd502ee5b5a8fca24606eee42a2cc756a04958c7c189913184d46c48783e1b"
                    },
                    "message": {
                        "type": "string",
                        "description": "The EIP-712 message to sign.",
                        "example": "demo.openfort.io wants you to sign in with your Ethereum account:"
                    },
                    "walletClientType": {
                        "type": "string",
                        "description": "The wallet client of the user",
                        "example": "metamask"
                    },
                    "connectorType": {
                        "type": "string",
                        "description": "The connector type of the user",
                        "example": "injected"
                    }
                },
                "required": [
                    "signature",
                    "message",
                    "walletClientType",
                    "connectorType"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "Actions": {
                "enum": [
                    "verify_email"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ActionVerifyEmail"
                ]
            },
            "ActionRequiredResponse": {
                "properties": {
                    "action": {
                        "$ref": "#/components/schemas/Actions"
                    }
                },
                "required": [
                    "action"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SignupRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the player.",
                        "example": "user@email.com"
                    },
                    "password": {
                        "type": "string",
                        "description": "The password of the player.",
                        "example": "password"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the player.",
                        "example": "John Doe"
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of the player.",
                        "example": "I'm a developer."
                    }
                },
                "required": [
                    "email",
                    "password"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "LoginRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    },
                    "password": {
                        "type": "string",
                        "description": "The password of the user.",
                        "example": "password"
                    }
                },
                "required": [
                    "email",
                    "password"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CodeChallenge": {
                "properties": {
                    "codeChallenge": {
                        "type": "string",
                        "description": "The code challenge.",
                        "example": "code"
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "plain",
                            "S256"
                        ],
                        "description": "The code verifier.",
                        "example": "S256"
                    }
                },
                "required": [
                    "codeChallenge",
                    "method"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RequestVerifyEmailRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    },
                    "redirectUrl": {
                        "type": "string",
                        "description": "The URL sent to the user by email to reset the password. At the end of the URL, we will add the token in the format `?token=token`.",
                        "example": "https://openfort.io/reset-password"
                    },
                    "challenge": {
                        "$ref": "#/components/schemas/CodeChallenge",
                        "description": "The Code Challenge if you want to use PKCE."
                    }
                },
                "required": [
                    "email",
                    "redirectUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CodeChallengeVerify": {
                "properties": {
                    "codeVerifier": {
                        "type": "string",
                        "description": "The code verifier.",
                        "example": "verifier"
                    }
                },
                "required": [
                    "codeVerifier"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "VerifyEmailRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    },
                    "token": {
                        "type": "string",
                        "description": "Unique value to identify the request. Obtained from the email.",
                        "example": "515151"
                    },
                    "challenge": {
                        "$ref": "#/components/schemas/CodeChallengeVerify",
                        "description": "The Code Challenge to verify the PKCE if you used it in the request."
                    }
                },
                "required": [
                    "email",
                    "token"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "RequestResetPasswordRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    },
                    "redirectUrl": {
                        "type": "string",
                        "description": "The URL sent to the user by email to reset the password. At the end of the URL, we will add the token in the format `?token=token`.",
                        "example": "https://openfort.io/reset-password"
                    },
                    "challenge": {
                        "$ref": "#/components/schemas/CodeChallenge",
                        "description": "The Code Challenge if you want to use PKCE."
                    }
                },
                "required": [
                    "email",
                    "redirectUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ResetPasswordRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    },
                    "password": {
                        "type": "string",
                        "description": "The new password of the user.",
                        "example": "password"
                    },
                    "state": {
                        "type": "string",
                        "description": "Unique value to identify the request. It's used to mitigate CSRF attacks."
                    },
                    "challenge": {
                        "$ref": "#/components/schemas/CodeChallengeVerify",
                        "description": "The Code Challenge to verify the PKCE if you used it in the request."
                    }
                },
                "required": [
                    "email",
                    "password"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UnlinkEmailRequest": {
                "properties": {
                    "email": {
                        "type": "string",
                        "description": "The email address of the user.",
                        "example": "user@email.com"
                    }
                },
                "required": [
                    "email"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthResponse": {
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string"
                    }
                },
                "required": [
                    "url",
                    "key"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider": {
                "description": "Enum of the supporting OAuth providers.",
                "enum": [
                    "google",
                    "twitter",
                    "facebook",
                    "discord",
                    "epic_games",
                    "line",
                    "apple"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GOOGLE",
                    "TWITTER",
                    "FACEBOOK",
                    "DISCORD",
                    "EPIC_GAMES",
                    "LINE",
                    "APPLE"
                ]
            },
            "OAuthInitRequest": {
                "properties": {
                    "options": {
                        "properties": {
                            "callbackTo": {
                                "type": "string",
                                "description": "A URL to custom handle the provider callback"
                            },
                            "queryParams": {
                                "properties": {},
                                "additionalProperties": {
                                    "type": "string"
                                },
                                "type": "object",
                                "description": "An object of query params"
                            },
                            "redirectTo": {
                                "type": "string",
                                "description": "A URL to send the user to after they are confirmed."
                            }
                        },
                        "type": "object"
                    },
                    "usePooling": {
                        "type": "boolean",
                        "description": "Use Pooling for the OAuth flow\n\nThis option is for the flow that requires the user can't be redirected from the authorization page to the application.\nThe client should poll the server to check if the user has authorized the application."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider",
                        "description": "One of the providers supported by Openfort"
                    }
                },
                "required": [
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyLinkRequest": {
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider"
                    },
                    "token": {
                        "type": "string"
                    },
                    "tokenType": {
                        "type": "string"
                    }
                },
                "required": [
                    "provider",
                    "token",
                    "tokenType"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "LoginWithIdTokenRequest": {
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider",
                        "description": "OAuth provider",
                        "example": "firebase"
                    },
                    "token": {
                        "type": "string",
                        "description": "Token to be verified",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
                    }
                },
                "required": [
                    "provider",
                    "token"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "TokenType": {
                "description": "Enum of the supporting OAuth providers.",
                "enum": [
                    "idToken",
                    "customToken"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "IDTOKEN",
                    "CUSTOMTOKEN"
                ]
            },
            "ThirdPartyOAuthRequest": {
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider",
                        "description": "OAuth provider",
                        "example": "firebase"
                    },
                    "token": {
                        "type": "string",
                        "description": "Token to be verified",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
                    },
                    "tokenType": {
                        "$ref": "#/components/schemas/TokenType"
                    }
                },
                "required": [
                    "provider",
                    "token"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthenticateOAuthRequest": {
                "properties": {
                    "provider": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/OAuthProvider"
                            },
                            {
                                "$ref": "#/components/schemas/ThirdPartyOAuthProvider"
                            }
                        ],
                        "description": "OAuth provider",
                        "example": "firebase"
                    },
                    "token": {
                        "type": "string",
                        "description": "Token to be verified",
                        "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
                    },
                    "tokenType": {
                        "$ref": "#/components/schemas/TokenType",
                        "description": "Type of the token.",
                        "example": "idToken"
                    },
                    "expand": {
                        "items": {
                            "$ref": "#/components/schemas/PlayerResponseExpandable"
                        },
                        "type": "array",
                        "description": "Specifies the fields to expand in the response.",
                        "example": [
                            "transactionIntents"
                        ]
                    }
                },
                "required": [
                    "provider",
                    "token",
                    "tokenType"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "UnlinkOAuthRequest": {
                "description": "The request to verify access token",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider",
                        "description": "The provider type being linked",
                        "example": "Google"
                    }
                },
                "required": [
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BasicAuthProvider.EMAIL": {
                "enum": [
                    "email"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EMAIL"
                ]
            },
            "BasicAuthProvider": {
                "description": "Enum of the supporting Basic Auth providers.",
                "enum": [
                    "email",
                    "wallet",
                    "guest",
                    "web3",
                    "phone",
                    "test_account"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EMAIL",
                    "WALLET",
                    "GUEST",
                    "WEB3",
                    "PHONE",
                    "TEST_ACCOUNT"
                ]
            },
            "AuthProvider": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/OAuthProvider"
                    },
                    {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider"
                    },
                    {
                        "$ref": "#/components/schemas/BasicAuthProvider"
                    }
                ],
                "description": "Enum of the supporting Auth providers."
            },
            "EmailAuthConfig": {
                "description": "Email auth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/BasicAuthProvider.EMAIL",
                        "description": "Auth provider type"
                    },
                    "allowUnverified": {
                        "type": "boolean",
                        "description": "Allow unverified emails: Users will be able to sign in with unverified emails"
                    },
                    "otpLength": {
                        "type": "number",
                        "format": "double",
                        "description": "Length of the OTP code (default: 6)"
                    },
                    "passwordRequirements": {
                        "properties": {
                            "requireSpecialChar": {
                                "type": "boolean",
                                "description": "Require at least one special character (default: false)"
                            },
                            "requireNumber": {
                                "type": "boolean",
                                "description": "Require at least one number (default: false)"
                            },
                            "requireLowercase": {
                                "type": "boolean",
                                "description": "Require at least one lowercase letter (default: false)"
                            },
                            "requireUppercase": {
                                "type": "boolean",
                                "description": "Require at least one uppercase letter (default: false)"
                            },
                            "minLength": {
                                "type": "number",
                                "format": "double",
                                "description": "Minimum password length (default: 6)"
                            }
                        },
                        "required": [
                            "minLength"
                        ],
                        "type": "object",
                        "description": "Password requirements configuration"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "allowUnverified",
                    "otpLength",
                    "passwordRequirements"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BasicAuthProvider.GUEST": {
                "enum": [
                    "guest"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GUEST"
                ]
            },
            "GuestAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/BasicAuthProvider.GUEST",
                        "description": "Auth provider type"
                    }
                },
                "required": [
                    "enabled",
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BasicAuthProvider.WEB3": {
                "enum": [
                    "web3"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "WEB3"
                ]
            },
            "Web3AuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/BasicAuthProvider.WEB3",
                        "description": "Auth provider type"
                    }
                },
                "required": [
                    "enabled",
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BasicAuthProvider.PHONE": {
                "enum": [
                    "phone"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PHONE"
                ]
            },
            "SmsProvider.TWILIO": {
                "enum": [
                    "twilio"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TWILIO"
                ]
            },
            "TwilioSmsProviderConfig": {
                "description": "Twilio SMS provider configuration",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/SmsProvider.TWILIO"
                    },
                    "accountSid": {
                        "type": "string",
                        "description": "Twilio Account SID"
                    },
                    "authToken": {
                        "type": "string",
                        "description": "Twilio Auth Token"
                    },
                    "phoneNumber": {
                        "type": "string",
                        "description": "Twilio phone number (from)"
                    }
                },
                "required": [
                    "provider",
                    "accountSid",
                    "authToken",
                    "phoneNumber"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SmsProvider.MESSAGEBIRD": {
                "enum": [
                    "messagebird"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "MESSAGEBIRD"
                ]
            },
            "MessageBirdSmsProviderConfig": {
                "description": "MessageBird SMS provider configuration",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/SmsProvider.MESSAGEBIRD"
                    },
                    "accessKey": {
                        "type": "string",
                        "description": "MessageBird Access Key"
                    },
                    "originator": {
                        "type": "string",
                        "description": "Sender name or number"
                    }
                },
                "required": [
                    "provider",
                    "accessKey",
                    "originator"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SmsProvider.TXTLOCAL": {
                "enum": [
                    "txtlocal"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TXTLOCAL"
                ]
            },
            "TxtLocalSmsProviderConfig": {
                "description": "TxtLocal SMS provider configuration",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/SmsProvider.TXTLOCAL"
                    },
                    "apiKey": {
                        "type": "string",
                        "description": "TxtLocal API Key"
                    },
                    "sender": {
                        "type": "string",
                        "description": "Sender name"
                    }
                },
                "required": [
                    "provider",
                    "apiKey",
                    "sender"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SmsProvider.VONAGE": {
                "enum": [
                    "vonage"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "VONAGE"
                ]
            },
            "VonageSmsProviderConfig": {
                "description": "Vonage SMS provider configuration",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/SmsProvider.VONAGE"
                    },
                    "apiKey": {
                        "type": "string",
                        "description": "Vonage API Key"
                    },
                    "apiSecret": {
                        "type": "string",
                        "description": "Vonage API Secret"
                    },
                    "from": {
                        "type": "string",
                        "description": "Sender ID or phone number"
                    }
                },
                "required": [
                    "provider",
                    "apiKey",
                    "apiSecret",
                    "from"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "SmsProvider.SMS_API": {
                "enum": [
                    "sms_api"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SMS_API"
                ]
            },
            "SmsApiProviderConfig": {
                "description": "SMS API provider configuration",
                "properties": {
                    "provider": {
                        "$ref": "#/components/schemas/SmsProvider.SMS_API"
                    },
                    "from": {
                        "type": "string",
                        "description": "Sender name"
                    },
                    "token": {
                        "type": "string",
                        "description": "SMSAPI OAuth token"
                    }
                },
                "required": [
                    "provider",
                    "from",
                    "token"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "PhoneAuthConfig": {
                "description": "Phone auth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/BasicAuthProvider.PHONE",
                        "description": "Auth provider type"
                    },
                    "smsProviderConfig": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/TwilioSmsProviderConfig"
                            },
                            {
                                "$ref": "#/components/schemas/MessageBirdSmsProviderConfig"
                            },
                            {
                                "$ref": "#/components/schemas/TxtLocalSmsProviderConfig"
                            },
                            {
                                "$ref": "#/components/schemas/VonageSmsProviderConfig"
                            },
                            {
                                "$ref": "#/components/schemas/SmsApiProviderConfig"
                            }
                        ],
                        "description": "SMS provider configuration"
                    },
                    "smsTemplate": {
                        "type": "string",
                        "description": "SMS message template. Use {{ .Code }} to format the OTP code (default: \"Your code is {{ .Code }}\")"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "smsProviderConfig",
                    "smsTemplate"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.SUPABASE": {
                "enum": [
                    "supabase"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "SUPABASE"
                ]
            },
            "SupabaseAuthConfig": {
                "description": "Supabase oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.SUPABASE",
                        "description": "OAuth provider type"
                    },
                    "url": {
                        "type": "string",
                        "description": "The unique Supabase URL which is supplied when you create a new project in your project dashboard."
                    },
                    "key": {
                        "type": "string",
                        "description": "The unique Supabase Key which is supplied when you create a new project in your project dashboard."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "url",
                    "key"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.OIDC": {
                "enum": [
                    "oidc"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "OIDC"
                ]
            },
            "OIDCAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.OIDC",
                        "description": "OAuth provider type"
                    },
                    "publicVerificationKey": {
                        "type": "string",
                        "description": "PEM encoded public key to verify the JWT token"
                    },
                    "aud": {
                        "type": "string",
                        "description": "Audience of the JWT token"
                    },
                    "jwksUrl": {
                        "type": "string",
                        "description": "JWKS URL to fetch the public key"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "aud"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.ACCELBYTE": {
                "enum": [
                    "accelbyte"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ACCELBYTE"
                ]
            },
            "AccelbyteOAuthConfig": {
                "description": "Accelbyte oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.ACCELBYTE",
                        "description": "OAuth provider type"
                    },
                    "baseUrl": {
                        "type": "string",
                        "description": "Base URI of your accelbyte gaming service environment. E.g. https://mygame.dev.gamingservices.accelbyte.io/"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Client ID of your accelbyte gaming service environment."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Secret of your confidential IAM client."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "baseUrl",
                    "clientId",
                    "clientSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.GOOGLE": {
                "enum": [
                    "google"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "GOOGLE"
                ]
            },
            "GoogleOAuthConfig": {
                "description": "Google oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.GOOGLE",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Google API client ID."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Google API client secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.TWITTER": {
                "enum": [
                    "twitter"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TWITTER"
                ]
            },
            "TwitterOAuthConfig": {
                "description": "Twitter oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.TWITTER",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Twitter API consumer key."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Twitter API consumer secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId",
                    "clientSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.FACEBOOK": {
                "enum": [
                    "facebook"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "FACEBOOK"
                ]
            },
            "FacebookOAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.FACEBOOK",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Facebook API client ID."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Facebook API client secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId",
                    "clientSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.APPLE": {
                "enum": [
                    "apple"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "APPLE"
                ]
            },
            "AppleOAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.APPLE",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Apple API client ID (Service ID)."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Pre-generated client secret JWT"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.LINE": {
                "enum": [
                    "line"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LINE"
                ]
            },
            "LineOAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.LINE",
                        "description": "OAuth provider type"
                    },
                    "channelId": {
                        "type": "string",
                        "description": "Line Channel ID."
                    },
                    "channelSecret": {
                        "type": "string",
                        "description": "Line Channel secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "channelId",
                    "channelSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.DISCORD": {
                "enum": [
                    "discord"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "DISCORD"
                ]
            },
            "DiscordOAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.DISCORD",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Discord API client ID."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Discord API client secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId",
                    "clientSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthProvider.EPIC_GAMES": {
                "enum": [
                    "epic_games"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "EPIC_GAMES"
                ]
            },
            "EpicGamesOAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/OAuthProvider.EPIC_GAMES",
                        "description": "OAuth provider type"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Epic Games API client ID."
                    },
                    "clientSecret": {
                        "type": "string",
                        "description": "Epic Games API client secret."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "clientId",
                    "clientSecret"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.PLAYFAB": {
                "enum": [
                    "playfab"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "PLAYFAB"
                ]
            },
            "PlayFabOAuthConfig": {
                "description": "PlayFab oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.PLAYFAB",
                        "description": "OAuth provider type"
                    },
                    "titleId": {
                        "type": "string",
                        "description": "Title ID of your Play Fab gaming service environment."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "titleId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.FIREBASE": {
                "enum": [
                    "firebase"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "FIREBASE"
                ]
            },
            "FirebaseOAuthConfig": {
                "description": "Firebase configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.FIREBASE",
                        "description": "OAuth provider type"
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project ID of your Firebase service environment."
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "projectId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.CUSTOM": {
                "enum": [
                    "custom"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CUSTOM"
                ]
            },
            "CustomAuthConfig": {
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.CUSTOM",
                        "description": "OAuth provider type"
                    },
                    "headers": {
                        "type": "string",
                        "description": "Headers to send with the request"
                    },
                    "authenticationUrl": {
                        "type": "string",
                        "description": "URL to send the request to to verify the payload"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "authenticationUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.LOOTLOCKER": {
                "enum": [
                    "lootlocker"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "LOOTLOCKER"
                ]
            },
            "LootLockerOAuthConfig": {
                "description": "LootLocker oauth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.LOOTLOCKER",
                        "description": "OAuth provider type"
                    }
                },
                "required": [
                    "enabled",
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ThirdPartyOAuthProvider.BETTER_AUTH": {
                "enum": [
                    "better-auth"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "BETTER_AUTH"
                ]
            },
            "BetterAuthConfig": {
                "description": "Better Auth configuration",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider.BETTER_AUTH",
                        "description": "OAuth provider type"
                    },
                    "baseUrl": {
                        "type": "string",
                        "description": "Base URL of the Better Auth instance. E.g. https://your-app.com/api/auth"
                    }
                },
                "required": [
                    "enabled",
                    "provider",
                    "baseUrl"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "BasicAuthProvider.TEST_ACCOUNT": {
                "enum": [
                    "test_account"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "TEST_ACCOUNT"
                ]
            },
            "TestAccountConfig": {
                "description": "Test account configuration for automated testing and App Store review flows.\nWorks on both livemode and sandbox environments with V2 auth enabled.",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable OAuth provider."
                    },
                    "provider": {
                        "$ref": "#/components/schemas/BasicAuthProvider.TEST_ACCOUNT",
                        "description": "OAuth provider type"
                    },
                    "emailSuffix": {
                        "type": "string",
                        "description": "Auto-generated 4-char hex suffix for test-XXXX@openfort.xyz. Server-generated, read-only."
                    },
                    "phoneSuffix": {
                        "type": "string",
                        "description": "Auto-generated 4-digit phone suffix for +1 555 555 XXXX. Server-generated, read-only."
                    },
                    "otpCode": {
                        "type": "string",
                        "description": "Auto-generated 6-digit OTP code. Server-generated, read-only."
                    }
                },
                "required": [
                    "enabled",
                    "provider"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthConfig": {
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/EmailAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/GuestAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/Web3AuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/PhoneAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/SupabaseAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/OIDCAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/AccelbyteOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/GoogleOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/TwitterOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/FacebookOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/AppleOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/LineOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/DiscordOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/EpicGamesOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/PlayFabOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/FirebaseOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/CustomAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/LootLockerOAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/BetterAuthConfig"
                    },
                    {
                        "$ref": "#/components/schemas/TestAccountConfig"
                    }
                ]
            },
            "OAuthConfigListResponse": {
                "description": "Response for the OAuth config list method.",
                "properties": {
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AuthConfig"
                        },
                        "type": "array",
                        "description": "List of the OAuth providers configurations"
                    }
                },
                "required": [
                    "data"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "GrantOAuthResponse": {
                "properties": {
                    "authorizationCode": {
                        "type": "string"
                    },
                    "accessToken": {
                        "type": "string"
                    },
                    "refreshToken": {
                        "type": "string"
                    },
                    "playerId": {
                        "type": "string"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "GrantCallbackRequest": {
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "state": {
                        "type": "string"
                    }
                },
                "required": [
                    "code",
                    "state"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "OAuthConfigResponse": {
                "$ref": "#/components/schemas/AuthConfig",
                "description": "OAuth provider specific configuration."
            },
            "OAuthConfigRequest": {
                "$ref": "#/components/schemas/AuthConfig",
                "description": "Request for the configuration endpoints for the OAuth providers"
            },
            "AuthMigrationStatus": {
                "enum": [
                    "created",
                    "running",
                    "paused",
                    "completed",
                    "failed",
                    "canceled"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "CREATED",
                    "RUNNING",
                    "PAUSED",
                    "COMPLETED",
                    "FAILED",
                    "CANCELED"
                ]
            },
            "MappingStrategy": {
                "description": "Mapping strategy for the migration. This is used to transform the ids between the source and destination providers.\nFor the transformation, the order of the operations is:\n1. Trim the prefix and suffix from the destination id.\n2. Add the prefix and suffix to the destination id.\nWhen a user is authenticated in the destination provider, the id is transformed using the mapping strategy to find if exists in the source provider.\nIf the id is not found, the user is created in the destination provider.\nIf the id is found, the user in the destination provider is linked to the source provider.",
                "properties": {
                    "trimPrefix": {
                        "type": "string",
                        "description": "Prefix to trim from the destination id."
                    },
                    "trimSuffix": {
                        "type": "string",
                        "description": "Suffix to trim from the destination id."
                    },
                    "addPrefix": {
                        "type": "string",
                        "description": "Prefix to add to the destination id."
                    },
                    "addSuffix": {
                        "type": "string",
                        "description": "Suffix to add to the destination id."
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "AuthMigrationResponse": {
                "description": "Auth Migration Response.",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Unique identifier for the migration."
                    },
                    "sourceProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "The source provider for the migration."
                    },
                    "destinationProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "The destination provider for the migration."
                    },
                    "status": {
                        "$ref": "#/components/schemas/AuthMigrationStatus",
                        "description": "The status of the migration."
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The created date of the migration."
                    },
                    "finishedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "If the migration is finished, this will be the date it was finished."
                    },
                    "mappingStrategy": {
                        "$ref": "#/components/schemas/MappingStrategy",
                        "description": "The mapping strategy used for the migration.\nIf not provided, the direct mapping will be used."
                    }
                },
                "required": [
                    "id",
                    "sourceProvider",
                    "destinationProvider",
                    "status",
                    "createdAt"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateMigrationRequest": {
                "properties": {
                    "mappingStrategy": {
                        "$ref": "#/components/schemas/MappingStrategy",
                        "description": "The mapping strategy used for the migration.\nIf not provided, the direct mapping will be used."
                    },
                    "destinationProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "Destination provider"
                    },
                    "sourceProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "Source provider"
                    }
                },
                "required": [
                    "destinationProvider",
                    "sourceProvider"
                ],
                "type": "object",
                "description": "Request for migrating authentication from one provider to another"
            },
            "AuthMigrationListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AuthMigrationResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ListMigrationsRequest": {
                "description": "Request for listing Migrations",
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "sourceProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "Source provider"
                    },
                    "destinationProvider": {
                        "$ref": "#/components/schemas/AuthProvider",
                        "description": "Destination provider"
                    },
                    "status": {
                        "items": {
                            "$ref": "#/components/schemas/AuthMigrationStatus"
                        },
                        "type": "array",
                        "description": "Status of the migration"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "UpdateMigrationRequest": {
                "properties": {
                    "mappingStrategy": {
                        "$ref": "#/components/schemas/MappingStrategy",
                        "description": "The mapping strategy used for the migration.\nIf not provided, the direct mapping will be used."
                    },
                    "status": {
                        "$ref": "#/components/schemas/AuthMigrationStatus",
                        "description": "Status of the migration"
                    }
                },
                "required": [
                    "status"
                ],
                "type": "object",
                "description": "Request for update the status of a migration"
            },
            "AuthenticationType": {
                "enum": [
                    "oauth",
                    "basic",
                    "third_party"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "OAUTH",
                    "BASIC",
                    "THIRD_PARTY"
                ]
            },
            "AuthProviderWithTypeResponse": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/AuthenticationType"
                    },
                    "provider": {
                        "$ref": "#/components/schemas/AuthProvider"
                    }
                },
                "required": [
                    "type",
                    "provider"
                ],
                "type": "object"
            },
            "AuthProviderListResponse": {
                "properties": {
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AuthProviderWithTypeResponse"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "data"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "ListConfigRequest": {
                "properties": {
                    "enabled": {
                        "type": "boolean"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "AuthPlayerResponseWithRecoveryShare": {
                "properties": {
                    "player": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/PlayerResponse"
                            },
                            {
                                "$ref": "#/components/schemas/Pick_PlayerResponse.id_"
                            }
                        ]
                    },
                    "id": {
                        "type": "string"
                    },
                    "object": {
                        "$ref": "#/components/schemas/EntityType.PLAYER"
                    },
                    "createdAt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "linkedAccounts": {
                        "items": {
                            "$ref": "#/components/schemas/LinkedAccountResponse"
                        },
                        "type": "array"
                    },
                    "recoveryShare": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "object",
                    "createdAt",
                    "linkedAccounts"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "CreateAuthPlayerRequest": {
                "properties": {
                    "thirdPartyUserId": {
                        "type": "string",
                        "description": "The third party user id.",
                        "example": "dsajkl23r43l1234jl"
                    },
                    "thirdPartyProvider": {
                        "$ref": "#/components/schemas/ThirdPartyOAuthProvider",
                        "description": "The third party provider.",
                        "example": "firebase"
                    },
                    "preGenerateEmbeddedAccount": {
                        "type": "boolean",
                        "description": "Pre generate embedded account.",
                        "example": true
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The chain ID. Must be a [supported chain](/development/chains).",
                        "example": 80002
                    },
                    "metadata": {
                        "$ref": "#/components/schemas/PlayerMetadata",
                        "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata."
                    }
                },
                "required": [
                    "thirdPartyUserId",
                    "thirdPartyProvider",
                    "preGenerateEmbeddedAccount"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthPlayerListResponse": {
                "properties": {
                    "object": {
                        "$ref": "#/components/schemas/ResponseType.LIST"
                    },
                    "url": {
                        "type": "string"
                    },
                    "data": {
                        "items": {
                            "$ref": "#/components/schemas/AuthPlayerResponse"
                        },
                        "type": "array"
                    },
                    "start": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "end": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "object",
                    "url",
                    "data",
                    "start",
                    "end",
                    "total"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "AuthPlayerListQueries": {
                "properties": {
                    "limit": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the maximum number of records to return.",
                        "minimum": 1
                    },
                    "skip": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Specifies the offset for the first records to return.",
                        "minimum": 0
                    },
                    "order": {
                        "$ref": "#/components/schemas/Prisma.SortOrder",
                        "description": "Specifies the order in which to sort the results."
                    },
                    "email": {
                        "type": "string",
                        "description": "Specifies the email address of the user.",
                        "example": "user@email.com"
                    },
                    "externalUserId": {
                        "type": "string",
                        "description": "Specifies the external user ID.",
                        "example": "externalUserId"
                    }
                },
                "type": "object",
                "additionalProperties": false
            },
            "AuthSessionResponse": {
                "properties": {
                    "livemode": {
                        "type": "boolean"
                    },
                    "projectId": {
                        "type": "string"
                    },
                    "playerId": {
                        "type": "string"
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "issuedAt": {
                        "type": "number",
                        "format": "double"
                    },
                    "expiration": {
                        "type": "number",
                        "format": "double"
                    },
                    "sessionId": {
                        "type": "string"
                    }
                },
                "required": [
                    "livemode",
                    "projectId",
                    "playerId",
                    "issuer",
                    "issuedAt",
                    "expiration",
                    "sessionId"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "JwtKey": {
                "properties": {
                    "kty": {
                        "type": "string"
                    },
                    "x": {
                        "type": "string"
                    },
                    "y": {
                        "type": "string"
                    },
                    "crv": {
                        "type": "string"
                    },
                    "kid": {
                        "type": "string"
                    },
                    "use": {
                        "type": "string"
                    },
                    "alg": {
                        "type": "string"
                    }
                },
                "required": [
                    "kty",
                    "x",
                    "y",
                    "crv",
                    "kid",
                    "use",
                    "alg"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "JwtKeyResponse": {
                "properties": {
                    "keys": {
                        "items": {
                            "$ref": "#/components/schemas/JwtKey"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "keys"
                ],
                "type": "object",
                "additionalProperties": false
            },
            "User": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "emailVerified": {
                        "type": "boolean",
                        "default": false,
                        "readOnly": true
                    },
                    "image": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    },
                    "updatedAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    },
                    "isAnonymous": {
                        "type": "boolean"
                    },
                    "phoneNumber": {
                        "type": "string"
                    },
                    "phoneNumberVerified": {
                        "type": "boolean",
                        "readOnly": true
                    }
                },
                "required": [
                    "id",
                    "name",
                    "email",
                    "createdAt",
                    "updatedAt"
                ]
            },
            "Session": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "expiresAt": {
                        "type": "string"
                    },
                    "token": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    },
                    "updatedAt": {
                        "type": "string"
                    },
                    "ipAddress": {
                        "type": "string"
                    },
                    "userAgent": {
                        "type": "string"
                    },
                    "userId": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "expiresAt",
                    "token",
                    "createdAt",
                    "updatedAt",
                    "userId"
                ]
            },
            "AccountAuth": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "accountId": {
                        "type": "string"
                    },
                    "providerId": {
                        "type": "string"
                    },
                    "userId": {
                        "type": "string"
                    },
                    "accessToken": {
                        "type": "string"
                    },
                    "refreshToken": {
                        "type": "string"
                    },
                    "idToken": {
                        "type": "string"
                    },
                    "accessTokenExpiresAt": {
                        "type": "string"
                    },
                    "refreshTokenExpiresAt": {
                        "type": "string"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    },
                    "updatedAt": {
                        "type": "string"
                    }
                },
                "required": [
                    "accountId",
                    "providerId",
                    "userId",
                    "createdAt",
                    "updatedAt"
                ]
            },
            "Verification": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "identifier": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    },
                    "expiresAt": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    },
                    "updatedAt": {
                        "type": "string",
                        "default": "Generated at runtime"
                    }
                },
                "required": [
                    "identifier",
                    "value",
                    "expiresAt",
                    "createdAt",
                    "updatedAt"
                ]
            },
            "Jwks": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "publicKey": {
                        "type": "string"
                    },
                    "privateKey": {
                        "type": "string"
                    },
                    "createdAt": {
                        "type": "string"
                    }
                },
                "required": [
                    "publicKey",
                    "privateKey",
                    "createdAt"
                ]
            },
            "OtpVerificationResponse": {
                "type": "object",
                "description": "Response from OTP verification check",
                "properties": {
                    "success": {
                        "type": "boolean",
                        "description": "Indicates whether the OTP verification was successful"
                    }
                },
                "required": [
                    "success"
                ]
            },
            "SignOutResponse": {
                "type": "object",
                "description": "Response from sign out operation",
                "properties": {
                    "success": {
                        "type": "boolean",
                        "description": "Indicates whether the sign out was successful"
                    }
                },
                "required": [
                    "success"
                ]
            },
            "UnlinkAccountResponse": {
                "type": "object",
                "description": "Response from unlink account operation",
                "properties": {
                    "status": {
                        "type": "boolean",
                        "description": "Indicates whether the account was successfully unlinked"
                    }
                },
                "required": [
                    "status"
                ]
            },
            "ResetPasswordResponse": {
                "type": "object",
                "description": "Response from reset password operation",
                "properties": {
                    "status": {
                        "type": "boolean",
                        "description": "Indicates whether the password was successfully reset"
                    }
                },
                "required": [
                    "status"
                ]
            }
        },
        "responses": {},
        "parameters": {},
        "examples": {},
        "requestBodies": {},
        "headers": {},
        "securitySchemes": {
            "pk": {
                "type": "http",
                "scheme": "bearer",
                "description": "Publishable Key authentication. Use your publishable API key as the bearer token. Format: pk_test_<uuid> (sandbox) or pk_live_<uuid> (live). Used for client-side SDK operations."
            },
            "sk": {
                "type": "http",
                "scheme": "bearer",
                "description": "Secret Key authentication. Use your secret API key as the bearer token. Format: sk_test_<uuid> (sandbox) or sk_live_<uuid> (live). Used for server-to-server operations. Keep this key confidential."
            },
            "pk_access_token": {
                "type": "http",
                "scheme": "bearer",
                "description": "Player Access Token authentication. Requires two headers: (1) Authorization: Bearer <publishable_key> (pk_test_<uuid> or pk_live_<uuid>), and (2) x-player-token: <JWT> — a user session token issued by the project's auth system."
            },
            "pk_third_party": {
                "type": "http",
                "scheme": "bearer",
                "description": "Third-Party OAuth authentication. Requires three headers: (1) Authorization: Bearer <publishable_key> (pk_test_<uuid> or pk_live_<uuid>), (2) x-auth-provider: <provider_name> (e.g., firebase, accelbyte, lootlocker, playfab, custom, supabase, oidc), and (3) x-player-token: <provider_token>."
            },
            "auth_token": {
                "type": "http",
                "scheme": "bearer",
                "description": "Auth session token (V2 auth). Requires two headers: (1) Authorization: Bearer <session_token>, and (2) x-project-key: <publishable_key> (pk_test_<uuid> or pk_live_<uuid>)."
            },
            "wallet_auth": {
                "type": "http",
                "scheme": "bearer",
                "description": "Wallet Auth for TEE wallet operations. Requires two headers: (1) Authorization: Bearer <secret_key> (sk_test_<uuid> or sk_live_<uuid>), and (2) x-wallet-auth: <ES256_JWT> containing claims for key_id, nonce (jti), and reqHash for request integrity."
            },
            "user_project": {
                "type": "http",
                "scheme": "bearer",
                "description": "Dashboard User-Project authentication (internal). Requires three headers: (1) Authorization: Bearer <supabase_jwt>, (2) project: <project_uuid>, and (3) environment: 'live' or 'test'."
            },
            "user": {
                "type": "http",
                "scheme": "bearer",
                "description": "Dashboard User authentication (internal). Requires: Authorization: Bearer <supabase_jwt>. Optionally accepts project and environment headers for project-scoped operations."
            }
        }
    },
    "x-tagGroups": [
        {
            "name": "Users",
            "tags": [
                "Users"
            ]
        },
        {
            "name": "Accounts",
            "tags": [
                "accs v1",
                "accs v2"
            ]
        },
        {
            "name": "Transactions",
            "tags": [
                "TransactionIntents"
            ]
        },
        {
            "name": "Authentication",
            "tags": [
                "auth v1",
                "auth v2"
            ]
        },
        {
            "name": "Session keys",
            "tags": [
                "Sessions"
            ]
        },
        {
            "name": "Contracts",
            "tags": [
                "Contracts"
            ]
        },
        {
            "name": "Sponsor transactions & Models",
            "tags": [
                "Policies"
            ]
        }
    ]
}