{ "openapi": "3.0.3", "info": { "title": "Oumla API", "description": "Oumla API for Cloud platform providing wallet management, tokenization, contract interactions, and blockchain services", "version": "1.0.0", "contact": { "name": "Oumla API Support", "email": "support@cloud.com" }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" } }, "servers": [ { "url": "https://sandbox.oumla.com", "description": "Mainnet", "x-fern-server-name": "Mainnet" } ], "security": [ { "bearerAuth": [] }, { "apiKeyAuth": [] } ], "tags": [ { "name": "Profiles", "description": "User profile management" }, { "name": "Wallets", "description": "Wallet creation and management" }, { "name": "Addresses", "description": "Address generation and management" }, { "name": "Transactions", "description": "Transaction history and tracking" }, { "name": "Portfolio", "description": "Portfolio management and tracking" }, { "name": "Withdrawals", "description": "Withdrawal operations" }, { "name": "Contract Templates", "description": "Smart contract template management" }, { "name": "Deployed Contracts", "description": "Deployed contract management" }, { "name": "Contract Interactions", "description": "Smart contract interaction operations" }, { "name": "Tokenization", "description": "Token creation, minting, and management" }, { "name": "Temporal", "description": "Temporal workflow operations" } ], "paths": { "/api/v1/profiles": { "post": { "tags": [ "Profiles" ], "summary": "Create Profile", "description": "Create a new user profile", "operationId": "createProfile", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProfileRequest" } } }, "description": "Request body for create profile" }, "responses": { "201": { "description": "Profile created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProfileResponse" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_303)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/profiles", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/profiles", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_303": { "summary": "Invalid format provided (ERR_303)", "value": { "message": "Invalid format provided", "code": "ERR_303", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/profiles", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/profiles", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "409": { "description": "Profile already exists (Possible error codes: ERR_001)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_001": { "summary": "Profile already exists (ERR_001)", "value": { "message": "Profile already exists", "code": "ERR_001", "category": "CONFLICT", "statusCode": 409, "path": "/api/v1/profiles", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] }, "get": { "tags": [ "Profiles" ], "summary": "Get Profiles", "description": "Get list of profiles with pagination", "operationId": "getProfiles", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Profiles retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProfilesResponse" } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "$ref": "#/components/responses/Unauthorized" }, "500": { "$ref": "#/components/responses/InternalServerError" } } } }, "/api/v1/wallets/generate": { "post": { "tags": [ "Wallets" ], "summary": "Generate Wallet", "description": "Generate a new wallet for a profile", "operationId": "createWallet", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletRequest" } } }, "description": "Request body for generate wallet" }, "responses": { "201": { "description": "Wallet created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletResponse" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_303)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_303": { "summary": "Invalid format provided (ERR_303)", "value": { "message": "Invalid format provided", "code": "ERR_303", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "description": "We couldn't set up the wallet. Please try again (Possible error codes: ERR_016)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_016": { "summary": "We couldn't set up the wallet. Please try again (ERR_016)", "value": { "message": "We couldn't set up the wallet. Please try again", "code": "ERR_016", "category": "UNKNOWN_ERROR", "statusCode": 500, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "description": "Master wallet already generated (Possible error codes: ERR_014)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_014": { "summary": "Master wallet already generated (ERR_014)", "value": { "message": "Master wallet already generated", "code": "ERR_014", "category": "CONFLICT", "statusCode": 409, "path": "/api/v1/wallets/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/wallets/profile/{reference}": { "get": { "tags": [ "Wallets" ], "summary": "Get Wallets by Profile", "description": "Get wallets for a specific profile", "operationId": "getWalletsByProfile", "parameters": [ { "name": "reference", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Profile or organization reference identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Wallets retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/wallets/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/wallets/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/wallets/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/wallets/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/wallets/organization": { "get": { "tags": [ "Wallets" ], "summary": "Get Wallets by Organization", "description": "Get all wallets for the organization", "operationId": "getWalletsForOrganization", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Wallets retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/wallets/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/wallets/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/wallets/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/addresses/generate": { "post": { "tags": [ "Addresses" ], "summary": "Generate Address", "description": "Generate a new address for a profile", "operationId": "createAddress", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddressRequest" } } }, "description": "Request body for generate address" }, "responses": { "201": { "description": "Address created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddressResponse" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_303, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_303": { "summary": "Invalid format provided (ERR_303)", "value": { "message": "Invalid format provided", "code": "ERR_303", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v2/addresses/generate": { "post": { "tags": [ "Addresses" ], "summary": "Generate Address V2", "description": "Generate a wallet if not exists and create address", "operationId": "createAddressV2", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddressRequest" } } }, "description": "Request body for generate address v2" }, "responses": { "201": { "description": "Address created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAddressResponse" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_303, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v2/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v2/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_303": { "summary": "Invalid format provided (ERR_303)", "value": { "message": "Invalid format provided", "code": "ERR_303", "category": "VALIDATION", "statusCode": 400, "path": "/api/v2/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v2/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v2/addresses/generate", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/addresses/organization": { "get": { "tags": [ "Addresses" ], "summary": "Get Addresses by Organization", "description": "Get all addresses for the organization", "operationId": "getAddressForOrganization", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Addresses retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddressesResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/addresses/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/addresses/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/addresses/{reference}": { "get": { "tags": [ "Addresses" ], "summary": "Get Addresses by Profile", "description": "Get addresses for a specific profile", "operationId": "getAddressForProfile", "parameters": [ { "name": "reference", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Profile or organization reference identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Addresses retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddressesResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/addresses/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/addresses/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_096)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/addresses/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_096": { "summary": "Address not found (ERR_096)", "value": { "message": "Address not found", "code": "ERR_096", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/addresses/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/addresses/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/transactions/address/{address}": { "get": { "tags": [ "Transactions" ], "summary": "Get Transactions by Address", "description": "Get transactions for a specific address", "operationId": "getTransactionsByAddress", "parameters": [ { "name": "address", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Blockchain address" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Transactions retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/transactions/address/{address}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/transactions/address/{address}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/transactions/address/{address}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/transactions/address/{address}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/transactions/address/{address}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/transactions/wallet/{miniWalletId}": { "get": { "tags": [ "Transactions" ], "summary": "Get Transactions by Wallet", "description": "Get transactions for a specific wallet", "operationId": "getTransactionsByMiniWallet", "parameters": [ { "name": "miniWalletId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Mini wallet identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Transactions retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/transactions/wallet/{miniWalletId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/transactions/wallet/{miniWalletId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/transactions/wallet/{miniWalletId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/transactions/wallet/{miniWalletId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/transactions/organization": { "get": { "tags": [ "Transactions" ], "summary": "Get Transactions by Organization", "description": "Get all transactions for the organization", "operationId": "getTransactionsByOrganization", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Transactions retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/transactions/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/transactions/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/transactions/organization", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/transactions/profile/{reference}": { "get": { "tags": [ "Transactions" ], "summary": "Get Transactions by Profile", "description": "Get transactions for a specific profile", "operationId": "getTransactionsByProfile", "parameters": [ { "name": "reference", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Profile or organization reference identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Transactions retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionsByProfileResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/transactions/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/transactions/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/transactions/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/transactions/profile/{reference}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/portfolio": { "get": { "tags": [ "Portfolio" ], "summary": "Get Assets", "description": "Get assets for address, wallet, or contract", "operationId": "getAssets", "parameters": [ { "name": "address", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Blockchain address" }, { "name": "walletId", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Wallet identifier" }, { "name": "contractAddress", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Smart contract address" }, { "name": "tokenizationId", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Tokenization identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Assets retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssetsResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022, ERR_176, ERR_301)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_301": { "summary": "Invalid input provided (ERR_301)", "value": { "message": "Invalid input provided", "code": "ERR_301", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/portfolio", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/portfolio", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/portfolio/native-balance": { "get": { "tags": [ "Portfolio" ], "summary": "Get Native Balance", "description": "Get native balance for network, address, or wallet", "operationId": "getNativeBalance", "parameters": [ { "name": "network", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Blockchain network" }, { "name": "address", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Blockchain address" }, { "name": "walletId", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Wallet identifier" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Native balance retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NativeBalanceResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022, ERR_176, ERR_301)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_301": { "summary": "Invalid input provided (ERR_301)", "value": { "message": "Invalid input provided", "code": "ERR_301", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "Balance not found (Possible error codes: ERR_216)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_216": { "summary": "Balance not found (ERR_216)", "value": { "message": "Balance not found", "code": "ERR_216", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/portfolio/native-balance", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/temporal/workflows/{workflowId}/status": { "get": { "tags": [ "Temporal" ], "summary": "Get Workflow Status", "description": "Get status and result of a Temporal workflow", "operationId": "getWorkflowStatus", "parameters": [ { "name": "workflowId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Temporal workflow ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Workflow status retrieved successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemporalWorkflowStatusData" } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/temporal/workflows/{workflowId}/status", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/temporal/workflows/{workflowId}/status", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/temporal/workflows/{workflowId}/status", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/tokens": { "post": { "tags": [ "Tokenization" ], "summary": "Issue New Token", "description": "Issue a new token", "operationId": "issueNewToken", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IssueNewTokenRequest" } } }, "description": "Request body for issue new token" }, "responses": { "201": { "description": "Token successfully issued", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenData" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_310, ERR_311, ERR_312, ERR_313, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_310": { "summary": "Contract does not have a valid ABI (ERR_310)", "value": { "message": "Contract does not have a valid ABI", "code": "ERR_310", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_311": { "summary": "Contract initialize function not found (ERR_311)", "value": { "message": "Contract initialize function not found", "code": "ERR_311", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_312": { "summary": "Required initialization parameters are missing (ERR_312)", "value": { "message": "Required initialization parameters are missing", "code": "ERR_312", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_313": { "summary": "Parameter types do not match the expected types (ERR_313)", "value": { "message": "Parameter types do not match the expected types", "code": "ERR_313", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "$ref": "#/components/responses/NotFound" }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "description": "Failed to issue new token (Possible error codes: ERR_186)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_186": { "summary": "Failed to issue new token (ERR_186)", "value": { "message": "Failed to issue new token", "code": "ERR_186", "category": "NETWORK", "statusCode": 500, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "$ref": "#/components/responses/ServiceUnavailable" }, "504": { "$ref": "#/components/responses/GatewayTimeout" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] }, "get": { "tags": [ "Tokenization" ], "summary": "Get Tokens", "description": "Get list of tokens with pagination", "operationId": "getTokens", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Successfully retrieved tokens", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokensResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/tokens/link": { "post": { "tags": [ "Tokenization" ], "summary": "Link Contract", "description": "Link an existing contract", "operationId": "linkContract", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkContractRequest" } } }, "description": "Request body for link contract" }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "properties": { "link": { "$ref": "#/components/schemas/TokenData" } } } } }, "description": "Token successfully linked" }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_176, ERR_302, ERR_303)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_303": { "summary": "Invalid format provided (ERR_303)", "value": { "message": "Invalid format provided", "code": "ERR_303", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "409": { "description": "Already exists (Possible error codes: ERR_000)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_000": { "summary": "Already exists (ERR_000)", "value": { "message": "Already exists", "code": "ERR_000", "category": "CONFLICT", "statusCode": 409, "path": "/api/v1/tokenization/tokens/link", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/tokenization/tokens/{id}": { "get": { "tags": [ "Tokenization" ], "summary": "Get Linked Token", "description": "Get linked token by ID", "operationId": "getLinkedToken", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Token ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "$ref": "#/components/schemas/TokenData" } } } } }, "description": "Successfully retrieved token" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_196)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_196": { "summary": "Token not found (ERR_196)", "value": { "message": "Token not found", "code": "ERR_196", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } }, "delete": { "tags": [ "Tokenization" ], "summary": "Unlink Token", "description": "Unlink a token", "operationId": "unlinkToken", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Token ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "properties": { "result": { "type": "object", "properties": { "success": { "type": "boolean", "example": true } } } } } } }, "description": "Token successfully unlinked" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_196)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_196": { "summary": "Token not found (ERR_196)", "value": { "message": "Token not found", "code": "ERR_196", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/tokens/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/collections": { "post": { "tags": [ "Tokenization" ], "summary": "Create Collection", "description": "Create a new collection - workflow started", "operationId": "createCollection", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCollectionRequest" } } }, "description": "Request body for create collection" }, "responses": { "202": { "description": "Collection creation workflow started", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowResponse" } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_310, ERR_311, ERR_312, ERR_313, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_310": { "summary": "Contract does not have a valid ABI (ERR_310)", "value": { "message": "Contract does not have a valid ABI", "code": "ERR_310", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_311": { "summary": "Contract initialize function not found (ERR_311)", "value": { "message": "Contract initialize function not found", "code": "ERR_311", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_312": { "summary": "Required initialization parameters are missing (ERR_312)", "value": { "message": "Required initialization parameters are missing", "code": "ERR_312", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_313": { "summary": "Parameter types do not match the expected types (ERR_313)", "value": { "message": "Parameter types do not match the expected types", "code": "ERR_313", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "$ref": "#/components/responses/NotFound" }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "$ref": "#/components/responses/ServiceUnavailable" }, "504": { "$ref": "#/components/responses/GatewayTimeout" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] }, "get": { "tags": [ "Tokenization" ], "summary": "Get Collections", "description": "Get list of collections with pagination", "operationId": "getCollections", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionsResponse" } } }, "description": "Successfully retrieved collections" }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/collections", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/collections/{id}": { "get": { "tags": [ "Tokenization" ], "summary": "Get Collection by ID", "description": "Get collection details by ID", "operationId": "getCollectionById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Collection ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionResponse" } } }, "description": "Successfully retrieved collection" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } }, "delete": { "tags": [ "Tokenization" ], "summary": "Delete Collection", "description": "Delete a collection by ID", "operationId": "deleteCollection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Collection ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Collection deleted successfully", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/collections/{id}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/collections/{id}/tokens/{tokenId}": { "get": { "tags": [ "Tokenization" ], "summary": "Get Collection Token Details", "description": "Get token details from a collection", "operationId": "getCollectionTokenDetails", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Collection ID" }, { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Token ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionTokenDetailsResponse" } } }, "description": "Successfully retrieved collection token details" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections/{id}/tokens/{tokenId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068, ERR_196)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/{tokenId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/{tokenId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_196": { "summary": "Token not found (ERR_196)", "value": { "message": "Token not found", "code": "ERR_196", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/{tokenId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/collections/{id}/tokens/{tokenId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/tokenization/collections/{id}/tokens/mint": { "post": { "tags": [ "Tokenization" ], "summary": "Mint Tokens", "description": "Mint new tokens in a collection", "operationId": "mintToken", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Collection ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MintTokenRequest" } } }, "description": "Request body for mint tokens" }, "responses": { "200": { "description": "Token minting workflow started", "content": { "application/json": { "schema": { "type": "object", "properties": { "mint": { "type": "object", "properties": { "workflowId": { "type": "string" }, "status": { "type": "string" } } } } } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "description": "Insufficient balance for this action (Possible error codes: ERR_236)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_236": { "summary": "Insufficient balance for this action (ERR_236)", "value": { "message": "Insufficient balance for this action", "code": "ERR_236", "category": "RESOURCE", "statusCode": 503, "path": "/api/v1/tokenization/collections/{id}/tokens/mint", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "504": { "$ref": "#/components/responses/GatewayTimeout" } } } }, "/api/v1/tokenization/collections/{id}/tokens/burn": { "post": { "tags": [ "Tokenization" ], "summary": "Burn Token", "description": "Burn tokens from a collection", "operationId": "burnToken", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Collection ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BurnTokenRequest" } } }, "description": "Request body for burn token" }, "responses": { "200": { "description": "Token burning workflow started", "content": { "application/json": { "schema": { "type": "object", "properties": { "burn": { "type": "object", "properties": { "workflowId": { "type": "string" }, "status": { "type": "string" } } } } } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068, ERR_196)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_196": { "summary": "Token not found (ERR_196)", "value": { "message": "Token not found", "code": "ERR_196", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collections/{id}/tokens/burn", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "$ref": "#/components/responses/ServiceUnavailable" }, "504": { "$ref": "#/components/responses/GatewayTimeout" } } } }, "/api/v1/tokenization/collection/tokens": { "get": { "tags": [ "Tokenization" ], "summary": "Get Collection Tokens", "description": "Get tokens from a collection by ID or type", "operationId": "getCollectionTokens", "parameters": [ { "name": "id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Collection ID" }, { "name": "type", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Token type" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Successfully retrieved collection tokens", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionTokensResponse" } } } }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/tokenization/collection/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/tokenization/collection/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_068)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collection/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_068": { "summary": "Collection not found (ERR_068)", "value": { "message": "Collection not found", "code": "ERR_068", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/tokenization/collection/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/tokenization/collection/tokens", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-templates": { "get": { "tags": [ "Contract Templates" ], "summary": "Get Contract Templates", "description": "Get list of contract templates with pagination", "operationId": "getContracts", "parameters": [ { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractTemplatesResponse" } } }, "description": "Successfully retrieved contract templates" }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } }, "post": { "tags": [ "Contract Templates" ], "summary": "Create Contract Template", "description": "Create a new contract template", "operationId": "createContract", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContractRequest" } } }, "description": "Request body for create contract template" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractTemplateResponse" } } }, "description": "Contract template successfully created" }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_166)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_166": { "summary": "Invalid ABI format: must be a non-empty array (ERR_166)", "value": { "message": "Invalid ABI format: must be a non-empty array", "code": "ERR_166", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "$ref": "#/components/responses/NotFound" }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "description": "Failed to create contract template (Possible error codes: ERR_067)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_067": { "summary": "Failed to create contract template (ERR_067)", "value": { "message": "Failed to create contract template", "code": "ERR_067", "category": "UNKNOWN_ERROR", "statusCode": 500, "path": "/api/v1/contract-templates", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "$ref": "#/components/responses/ServiceUnavailable" }, "504": { "$ref": "#/components/responses/GatewayTimeout" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/contract-templates/{templateId}": { "get": { "tags": [ "Contract Templates" ], "summary": "Get Contract Template by ID", "description": "Get contract template details by ID", "operationId": "getContractById", "parameters": [ { "name": "templateId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract template ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractTemplateByIdResponse" } } }, "description": "Successfully retrieved contract template" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_056)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_056": { "summary": "Contract template not found (ERR_056)", "value": { "message": "Contract template not found", "code": "ERR_056", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } }, "delete": { "tags": [ "Contract Templates" ], "summary": "Delete Contract Template", "description": "Delete a contract template by ID", "operationId": "deleteContract", "parameters": [ { "name": "templateId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract template ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "description": "Contract template deleted successfully", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_056)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_056": { "summary": "Contract template not found (ERR_056)", "value": { "message": "Contract template not found", "code": "ERR_056", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-templates/{templateId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-templates/{templateId}/getConstructorInfo": { "get": { "tags": [ "Contract Templates" ], "summary": "Get Contract Constructor", "description": "Get contract constructor by template ID", "operationId": "getContractConstructorById", "parameters": [ { "name": "templateId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract template ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractConstructorResponse" } } }, "description": "Successfully retrieved contract constructor" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates/{templateId}/constructor", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_056)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/constructor", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_056": { "summary": "Contract template not found (ERR_056)", "value": { "message": "Contract template not found", "code": "ERR_056", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/constructor", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-templates/{templateId}/constructor", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-templates/{templateId}/function": { "get": { "tags": [ "Contract Templates" ], "summary": "Get Contract Functions", "description": "Get contract functions by template ID", "operationId": "getContractFunctionById", "parameters": [ { "name": "templateId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract template ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractFunctionsResponse" } } }, "description": "Successfully retrieved contract functions" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates/{templateId}/function", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_056, ERR_076)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/function", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_056": { "summary": "Contract template not found (ERR_056)", "value": { "message": "Contract template not found", "code": "ERR_056", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/function", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_076": { "summary": "Contract function not found (ERR_076)", "value": { "message": "Contract function not found", "code": "ERR_076", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/function", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-templates/{templateId}/function", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-templates/{templateId}/deploy": { "post": { "tags": [ "Contract Templates" ], "summary": "Deploy Contract", "description": "Deploy a contract from template", "operationId": "deployContract", "parameters": [ { "name": "templateId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract template ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployContractRequest" } } }, "description": "Request body for deploy contract" }, "responses": { "200": { "description": "Contract deployment workflow started", "content": { "application/json": { "schema": { "type": "object", "properties": { "contractFunction": { "type": "object", "properties": { "workflowId": { "type": "string" }, "status": { "type": "string" } } } } } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_302, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_056, ERR_096)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_056": { "summary": "Contract template not found (ERR_056)", "value": { "message": "Contract template not found", "code": "ERR_056", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_096": { "summary": "Address not found (ERR_096)", "value": { "message": "Address not found", "code": "ERR_096", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "description": "Contract deployment failed (Possible error codes: ERR_126)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_126": { "summary": "Contract deployment failed (ERR_126)", "value": { "message": "Contract deployment failed", "code": "ERR_126", "category": "NETWORK", "statusCode": 500, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "description": "Insufficient balance for this action (Possible error codes: ERR_236)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_236": { "summary": "Insufficient balance for this action (ERR_236)", "value": { "message": "Insufficient balance for this action", "code": "ERR_236", "category": "RESOURCE", "statusCode": 503, "path": "/api/v1/contract-templates/{templateId}/deploy", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "504": { "$ref": "#/components/responses/GatewayTimeout" } } } }, "/api/v1/deployed-contracts": { "get": { "tags": [ "Deployed Contracts" ], "summary": "Get Deployed Contracts", "description": "Get list of deployed contracts with pagination", "operationId": "getDeployedContracts", "parameters": [ { "name": "contractAddress", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Contract address filter" }, { "name": "network", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network filter" }, { "name": "contractTemplateId", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Contract template ID filter" }, { "$ref": "#/components/parameters/SkipParam" }, { "$ref": "#/components/parameters/TakeParam" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedContractsResponse" } } }, "description": "Successfully retrieved deployed contracts" }, "400": { "description": "Invalid pagination parameters (Possible error codes: ERR_022)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_022": { "summary": "Invalid pagination parameters (ERR_022)", "value": { "message": "Invalid pagination parameters", "code": "ERR_022", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/deployed-contracts", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/deployed-contracts", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/deployed-contracts/{contractId}": { "get": { "tags": [ "Deployed Contracts" ], "summary": "Get Deployed Contract by ID", "description": "Get deployed contract details by ID", "operationId": "getDeployedContractById", "parameters": [ { "name": "contractId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Deployed contract ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedContractByIdResponse" } } }, "description": "Successfully retrieved deployed contract" }, "400": { "description": "Contract deployment not complete (Possible error codes: ERR_146)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_146": { "summary": "Contract deployment not complete (ERR_146)", "value": { "message": "Contract deployment not complete", "code": "ERR_146", "category": "RESOURCE", "statusCode": 400, "path": "/api/v1/deployed-contracts/{contractId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/deployed-contracts/{contractId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_066)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/deployed-contracts/{contractId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_066": { "summary": "Contract not found (ERR_066)", "value": { "message": "Contract not found", "code": "ERR_066", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/deployed-contracts/{contractId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/deployed-contracts/{contractId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/deployed-contracts/{contractAddress}/{network}": { "get": { "tags": [ "Deployed Contracts" ], "summary": "Get Deployed Contract by Address", "description": "Get deployed contract by address and network", "operationId": "getDeployedContractByAddress", "parameters": [ { "name": "contractAddress", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract address" }, { "name": "network", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployedContractByAddressResponse" } } }, "description": "Successfully retrieved deployed contract by address" }, "400": { "description": "Contract deployment not complete (Possible error codes: ERR_146, ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_146": { "summary": "Contract deployment not complete (ERR_146)", "value": { "message": "Contract deployment not complete", "code": "ERR_146", "category": "RESOURCE", "statusCode": 400, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_066)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_066": { "summary": "Contract not found (ERR_066)", "value": { "message": "Contract not found", "code": "ERR_066", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/deployed-contracts/{contractAddress}/{network}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/deployed-contracts/fetch-abi": { "post": { "tags": [ "Deployed Contracts" ], "summary": "Fetch Contract ABI", "description": "Fetch contract ABI from blockchain", "operationId": "fetchContractAbi", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FetchContractAbiRequest" } } }, "description": "Request body for fetch contract abi" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FetchContractAbiResponse" } } }, "description": "ABI successfully fetched" }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_176, ERR_302)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/fetch-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/fetch-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/fetch-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/deployed-contracts/fetch-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "$ref": "#/components/responses/NotFound" }, "500": { "description": "External service is currently unavailable (Possible error codes: ERR_204)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_204": { "summary": "External service is currently unavailable (ERR_204)", "value": { "message": "External service is currently unavailable", "code": "ERR_204", "category": "EXTERNAL_SERVICE", "statusCode": 500, "path": "/api/v1/deployed-contracts/fetch-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/deployed-contracts/add-abi": { "post": { "tags": [ "Deployed Contracts" ], "summary": "Add Contract ABI", "description": "Add ABI for a deployed contract", "operationId": "addContractAbi", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddContractAbiRequest" } } }, "description": "Request body for add contract abi" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddContractAbiResponse" } } }, "description": "ABI successfully added" }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_166, ERR_176, ERR_302)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_166": { "summary": "Invalid ABI format: must be a non-empty array (ERR_166)", "value": { "message": "Invalid ABI format: must be a non-empty array", "code": "ERR_166", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "404": { "description": "Organization not found for this tenant (Possible error codes: ERR_156)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_156": { "summary": "Organization not found for this tenant (ERR_156)", "value": { "message": "Organization not found for this tenant", "code": "ERR_156", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/deployed-contracts/add-abi", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } }, "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions": { "get": { "tags": [ "Contract Interactions" ], "summary": "Get Deployed Contract ABI", "description": "Get ABI functions for a deployed contract", "operationId": "getDeployedContractAbi", "parameters": [ { "name": "network", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network" }, { "name": "contractAddress", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract address" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContractAbiResponse" } } }, "description": "Successfully retrieved contract functions" }, "400": { "description": "Invalid contract address (Possible error codes: ERR_176)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_066)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_066": { "summary": "Contract not found (ERR_066)", "value": { "message": "Contract not found", "code": "ERR_066", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "description": "External service is currently unavailable (Possible error codes: ERR_204)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_204": { "summary": "External service is currently unavailable (ERR_204)", "value": { "message": "External service is currently unavailable", "code": "ERR_204", "category": "EXTERNAL_SERVICE", "statusCode": 500, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read": { "post": { "tags": [ "Contract Interactions" ], "summary": "Read Call Function", "description": "Call a read-only contract function", "operationId": "readCallFunction", "parameters": [ { "name": "network", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network" }, { "name": "contractAddress", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract address" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadCallFunctionRequest" } } }, "description": "Request body for read call function" }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadCallFunctionResponse" } } }, "description": "Function read successfully executed" }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_176, ERR_302)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_066, ERR_076)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_066": { "summary": "Contract not found (ERR_066)", "value": { "message": "Contract not found", "code": "ERR_066", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_076": { "summary": "Contract function not found (ERR_076)", "value": { "message": "Contract function not found", "code": "ERR_076", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "description": "Failed to execute contract function (Possible error codes: ERR_026)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_026": { "summary": "Failed to execute contract function (ERR_026)", "value": { "message": "Failed to execute contract function", "code": "ERR_026", "category": "NETWORK", "statusCode": 500, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/read", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write": { "post": { "tags": [ "Contract Interactions" ], "summary": "Write Call Function", "description": "Call a write contract function (transaction)", "operationId": "writeCallFunction", "parameters": [ { "name": "network", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network" }, { "name": "contractAddress", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Contract address" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WriteCallFunctionRequest" } } }, "description": "Request body for write call function" }, "responses": { "200": { "description": "Write function workflow started", "content": { "application/json": { "schema": { "type": "object", "properties": { "result": { "type": "object", "properties": { "workflowId": { "type": "string" }, "status": { "type": "string" } } } } } } } }, "400": { "description": "Bad Request (Possible error codes: ERR_010, ERR_176, ERR_302)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_010": { "summary": "Bad Request (ERR_010)", "value": { "message": "Bad Request", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_176": { "summary": "Invalid contract address (ERR_176)", "value": { "message": "Invalid contract address", "code": "ERR_176", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_302": { "summary": "Required field is missing (ERR_302)", "value": { "message": "Required field is missing", "code": "ERR_302", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_066, ERR_076)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_066": { "summary": "Contract not found (ERR_066)", "value": { "message": "Contract not found", "code": "ERR_066", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_076": { "summary": "Contract function not found (ERR_076)", "value": { "message": "Contract function not found", "code": "ERR_076", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "description": "Failed to send transaction (Possible error codes: ERR_036)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_036": { "summary": "Failed to send transaction (ERR_036)", "value": { "message": "Failed to send transaction", "code": "ERR_036", "category": "NETWORK", "statusCode": 500, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "description": "Insufficient balance for this action (Possible error codes: ERR_236)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_236": { "summary": "Insufficient balance for this action (ERR_236)", "value": { "message": "Insufficient balance for this action", "code": "ERR_236", "category": "RESOURCE", "statusCode": 503, "path": "/api/v1/contract-interactions/network/{network}/contract-address/{contractAddress}/functions/write", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "504": { "$ref": "#/components/responses/GatewayTimeout" } } } }, "/api/v1/contract-interactions/network/{network}/tx/{txId}": { "get": { "tags": [ "Contract Interactions" ], "summary": "Get Transaction Receipt", "description": "Get transaction receipt by network and transaction ID", "operationId": "getTransactionReceipt", "parameters": [ { "name": "network", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "description": "Network" }, { "name": "txId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Transaction ID" }, { "$ref": "#/components/parameters/SdkVersionHeader" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransactionReceiptResponse" } } }, "description": "Successfully retrieved transaction receipt" }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "description": "You need to sign in to continue (Possible error codes: ERR_008)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_008": { "summary": "You need to sign in to continue (ERR_008)", "value": { "message": "You need to sign in to continue", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/contract-interactions/network/{network}/tx/{txId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "404": { "description": "The requested resource was not found (Possible error codes: ERR_006, ERR_046)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_006": { "summary": "The requested resource was not found (ERR_006)", "value": { "message": "The requested resource was not found", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/tx/{txId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } }, "ERR_046": { "summary": "Transaction receipt not found (ERR_046)", "value": { "message": "Transaction receipt not found", "code": "ERR_046", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/contract-interactions/network/{network}/tx/{txId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } }, "500": { "$ref": "#/components/responses/InternalServerError" }, "403": { "description": "You don't have permission to do that (Possible error codes: ERR_009)", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "ERR_009": { "summary": "You don't have permission to do that (ERR_009)", "value": { "message": "You don't have permission to do that", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/contract-interactions/network/{network}/tx/{txId}", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } } } } } }, "/api/v1/withdraw": { "post": { "tags": [ "Withdrawals" ], "summary": "Create Withdrawal", "description": "Create a withdrawal transaction", "operationId": "createWithdraw", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWithdrawRequest" } } }, "description": "Request body for create withdrawal" }, "responses": { "200": { "description": "Withdrawal created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WithdrawResponse" } } } }, "400": { "$ref": "#/components/responses/BadRequest" }, "401": { "$ref": "#/components/responses/Unauthorized" }, "403": { "$ref": "#/components/responses/Forbidden" }, "404": { "$ref": "#/components/responses/NotFound" }, "409": { "$ref": "#/components/responses/Conflict" }, "422": { "$ref": "#/components/responses/ValidationError" }, "500": { "$ref": "#/components/responses/InternalServerError" }, "502": { "$ref": "#/components/responses/BadGateway" }, "503": { "$ref": "#/components/responses/ServiceUnavailable" }, "504": { "$ref": "#/components/responses/GatewayTimeout" } }, "parameters": [ { "$ref": "#/components/parameters/SdkVersionHeader" } ] } } }, "components": { "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" }, "apiKeyAuth": { "type": "apiKey", "in": "header", "name": "x-api-key", "description": "API key for authentication" } }, "parameters": { "SkipParam": { "name": "skip", "in": "query", "description": "Number of records to skip", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0 } }, "TakeParam": { "name": "take", "in": "query", "description": "Number of records to take", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 10 } }, "SdkVersionHeader": { "name": "x-sdk-version", "in": "header", "description": "SDK version header", "required": false, "schema": { "type": "string", "default": "1.0.0" } } }, "responses": { "BadRequest": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "Invalid request parameters", "code": "ERR_010", "category": "VALIDATION", "statusCode": 400, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "Unauthorized": { "description": "Unauthorized - Invalid or missing authentication", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "You need to sign in to continue.", "code": "ERR_008", "category": "UNKNOWN_ERROR", "statusCode": 401, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "Forbidden": { "description": "Forbidden - Insufficient permissions", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "You don't have permission to do that.", "code": "ERR_009", "category": "UNKNOWN_ERROR", "statusCode": 403, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "NotFound": { "description": "Not Found - Resource not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "The requested resource was not found.", "code": "ERR_006", "category": "RESOURCE", "statusCode": 404, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "Conflict": { "description": "Conflict - Resource already exists", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "An account with these details already exists.", "code": "ERR_001", "category": "CONFLICT", "statusCode": 409, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "ValidationError": { "description": "Unprocessable Entity - Validation error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "Validation failed", "code": "ERR_010", "category": "VALIDATION", "statusCode": 422, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789", "errors": [ { "field": "email", "message": "Email is required" } ] } } } }, "InternalServerError": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "An unexpected error occurred", "code": "ERR_500", "category": "UNKNOWN_ERROR", "statusCode": 500, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "BadGateway": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "Bad gateway", "code": "ERR_502", "category": "NETWORK", "statusCode": 502, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "ServiceUnavailable": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "Service is temporarily unavailable", "code": "ERR_503", "category": "EXTERNAL_SERVICE", "statusCode": 503, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } }, "GatewayTimeout": { "description": "Gateway Timeout", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "example": { "message": "Gateway timeout", "code": "ERR_021", "category": "NETWORK", "statusCode": 504, "path": "/api/v1/example", "timestamp": "2024-01-01T00:00:00.000Z", "requestId": "req_123456789" } } } } }, "schemas": { "ErrorResponse": { "type": "object", "properties": { "message": { "type": "string", "description": "Human-readable error message" }, "code": { "type": "string", "description": "Error code for programmatic error handling" }, "category": { "type": "string", "enum": [ "CONFLICT", "VALIDATION", "CRYPTOGRAPHIC", "NETWORK", "DATABASE", "EXTERNAL_SERVICE", "UNKNOWN_ERROR", "RESOURCE" ] }, "statusCode": { "type": "integer", "description": "HTTP status code" }, "path": { "type": "string", "description": "API path where error occurred" }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp when error occurred (ISO 8601)" }, "requestId": { "type": "string", "description": "Unique request identifier for tracking and debugging" }, "errors": { "type": "array", "description": "Array of field-specific validation errors (only present for validation errors)", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field name that caused the error" }, "message": { "type": "string", "description": "Error message for the field" } }, "required": [ "field", "message" ] } } }, "required": [ "message", "code", "category", "statusCode", "path", "timestamp" ], "description": "Error response object" }, "CreateProfileRequest": { "type": "object", "properties": { "reference": { "type": "string", "description": "Profile reference identifier", "example": "user-123" }, "type": { "type": "string", "enum": [ "User", "Department", "Merchant" ], "description": "Profile type" } }, "required": [ "reference", "type" ], "description": "Create profile request object" }, "ProfileResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "reference": { "type": "string", "example": "user-123" }, "type": { "type": "string", "example": "User" } } } }, "description": "Profile response object" }, "ProfilesResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "reference": { "type": "string" }, "type": { "type": "string" } } } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Profiles response object" }, "CreateWalletRequest": { "type": "object", "properties": { "reference": { "type": "string", "description": "Profile reference", "example": "user-123" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "description": "Blockchain network" } }, "required": [ "reference", "network" ], "description": "Create wallet request object" }, "WalletData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "date": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "organizationId": { "type": "string", "example": "org_123" }, "reference": { "type": "string", "example": "user-123" }, "type": { "type": "string", "example": "User" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "currentDeepIndex": { "type": "integer", "example": 0 }, "index": { "type": "integer", "example": 0 }, "path": { "type": "string", "example": "m/44'/60'/0'/0/0" } }, "description": "Wallet data object" }, "WalletResponse": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/WalletData" } }, "description": "Wallet response object" }, "WalletsResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/WalletData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Wallets response object" }, "CreateAddressRequest": { "type": "object", "properties": { "reference": { "type": "string", "description": "Profile reference", "example": "user-123" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "description": "Blockchain network" }, "clientShare": { "type": "string", "description": "Client share for wallet derivation", "minLength": 1 } }, "required": [ "reference", "network", "clientShare" ], "description": "Create address request object" }, "AddressData": { "type": "object", "properties": { "address": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "date": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "label": { "type": "string", "nullable": true, "example": "Main Address" }, "sub": { "type": "string", "example": "user_123" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "balance": { "type": "string", "description": "Balance as decimal string", "example": "1000000000000000000" }, "reference": { "type": "string", "example": "user-123" }, "path": { "type": "string", "example": "m/44'/60'/0'/0/0" }, "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "miniWalletId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" } }, "description": "Address data object" }, "CreateAddressResponse": { "type": "object", "properties": { "data": { "type": "string", "description": "Generated address", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "message": { "type": "string", "example": "Address created successfully" } }, "description": "Create address response object" }, "AddressesResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/AddressData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Addresses response object" }, "TransactionData": { "type": "object", "properties": { "addressFrom": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "addressTo": { "type": "string", "nullable": true, "example": "0x8ba1f109551bD432803012645Hac136c22C929" }, "amount": { "type": "string", "description": "Transaction amount as decimal string", "example": "1000000000000000000" }, "date": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "isMempool": { "type": "boolean", "example": false }, "isSpent": { "type": "boolean", "example": false }, "status": { "type": "string", "enum": [ "Pending", "Confirmed" ], "example": "Confirmed" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "type": { "type": "string", "enum": [ "Withdraw", "Deposit" ], "example": "Deposit" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "txid": { "type": "string", "example": "0x1234567890abcdef" }, "contractAddress": { "type": "string", "nullable": true, "example": "0xContractAddress" }, "tokenId": { "type": "string", "nullable": true, "example": "1" }, "txType": { "type": "string", "nullable": true, "example": "transfer" }, "fee": { "type": "string", "nullable": true, "description": "Transaction fee as decimal string", "example": "21000" } }, "description": "Transaction data object" }, "TransactionsResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/TransactionData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Transactions response object" }, "TransactionsByProfileResponse": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "$ref": "#/components/schemas/TransactionData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Transactions by profile response object" }, "AssetData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "amount": { "type": "string", "description": "Asset amount as decimal string", "example": "1000000000000000000" }, "walletId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "tokenizationId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "tokenId": { "type": "string", "nullable": true, "example": "1" }, "name": { "type": "string", "example": "My Token" }, "symbol": { "type": "string", "example": "MTK" }, "contractAddress": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } }, "description": "Asset data object" }, "AssetsResponse": { "type": "object", "properties": { "assets": { "type": "array", "items": { "$ref": "#/components/schemas/AssetData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Assets response object" }, "NativeBalanceData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "walletId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "tBTC" }, "symbol": { "type": "string", "example": "tBTC" }, "amount": { "type": "string", "description": "Balance amount as decimal string", "example": "1000000000000000000" }, "decimals": { "type": "integer", "example": 18 }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } }, "description": "Native balance data object" }, "NativeBalanceResponse": { "type": "object", "properties": { "balance": { "type": "array", "items": { "$ref": "#/components/schemas/NativeBalanceData" } }, "pagination": { "$ref": "#/components/schemas/Pagination" } }, "description": "Native balance response object" }, "TemporalWorkflowError": { "type": "object", "properties": { "message": { "type": "string", "example": "Workflow execution failed" }, "type": { "type": "string", "example": "ApplicationFailure" } }, "description": "Temporal workflow error" }, "TemporalWorkflowStatusData": { "type": "object", "properties": { "workflowId": { "type": "string", "description": "Temporal workflow ID", "example": "create-collection-123e4567-e89b-12d3-a456-426614174000" }, "runId": { "type": "string", "description": "Temporal workflow run ID", "example": "123e4567-e89b-12d3-a456-426614174000" }, "status": { "type": "string", "enum": [ "RUNNING", "COMPLETED", "FAILED", "CANCELED", "TERMINATED", "CONTINUED_AS_NEW", "TIMED_OUT" ], "description": "Workflow status", "example": "COMPLETED" }, "startTime": { "type": "string", "format": "date-time", "description": "Workflow start time in ISO 8601 format", "example": "2024-01-01T00:00:00.000Z" }, "closeTime": { "type": "string", "format": "date-time", "nullable": true, "description": "Workflow close time in ISO 8601 format (null if still running)", "example": "2024-01-01T00:05:00.000Z" }, "executionTime": { "type": "integer", "nullable": true, "description": "Workflow execution time in milliseconds (null if still running)", "example": 300000 }, "historyLength": { "type": "integer", "description": "Number of events in workflow history", "example": 42 }, "result": { "type": "object", "nullable": true, "description": "Workflow result (only present if workflow is completed)", "example": { "collectionId": "123e4567-e89b-12d3-a456-426614174000" } }, "error": { "$ref": "#/components/schemas/TemporalWorkflowError", "nullable": true, "description": "Workflow error (only present if workflow failed)" } }, "required": [ "workflowId", "runId", "status", "startTime", "historyLength" ], "description": "Temporal workflow status data object" }, "Pagination": { "type": "object", "properties": { "totalElements": { "type": "integer", "description": "Total number of elements", "example": 100 }, "totalPages": { "type": "integer", "description": "Total number of pages", "example": 10 }, "skip": { "type": "integer", "description": "Number of records skipped", "example": 0 }, "take": { "type": "integer", "description": "Number of records taken", "example": 10 } }, "required": [ "totalElements", "totalPages", "skip", "take" ], "description": "Pagination" }, "IssueNewTokenRequest": { "type": "object", "properties": { "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "createParams": { "type": "object" }, "displayName": { "type": "string" }, "deploymentId": { "type": "string" }, "useGasless": { "type": "boolean" }, "fee": { "type": "string" }, "feeLevel": { "type": "string" } }, "required": [ "network", "addressId", "clientShare", "createParams", "deploymentId" ], "description": "Issue new token request object" }, "TokenResponse": { "type": "object", "properties": { "token": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "organizationId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "sub": { "type": "string", "example": "user_123" }, "name": { "type": "string", "example": "My Token" }, "symbol": { "type": "string", "example": "MTK" }, "decimals": { "type": "integer", "example": 18 }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "contractAddress": { "type": "string", "nullable": true }, "contractTemplateId": { "type": "string", "nullable": true }, "contractDeploymentId": { "type": "string", "nullable": true }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "customerRefId": { "type": "string", "nullable": true }, "tags": { "type": "array", "items": { "type": "string" } }, "status": { "type": "string", "example": "ACTIVE" }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } } } }, "description": "Token response object" }, "TokensResponse": { "type": "object", "properties": { "token": { "type": "object", "properties": { "tokens": { "type": "array", "items": { "$ref": "#/components/schemas/TokenData" } }, "total": { "type": "integer", "example": 100 } } } }, "description": "Tokens response object" }, "LinkContractRequest": { "type": "object", "properties": { "contractAddress": { "type": "string" }, "network": { "type": "string" }, "displayName": { "type": "string" }, "refId": { "type": "string" }, "type": { "type": "string" } }, "required": [ "contractAddress" ], "description": "Link contract request object" }, "CreateCollectionRequest": { "type": "object", "properties": { "network": { "type": "string" }, "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "createParams": { "type": "object" }, "metadata": { "type": "object" }, "displayName": { "type": "string" }, "deploymentId": { "type": "string" }, "useGasless": { "type": "boolean" }, "fee": { "type": "string" }, "feeLevel": { "type": "string" } }, "required": [ "network", "addressId", "clientShare", "createParams", "deploymentId" ], "description": "Create collection request object" }, "WorkflowResponse": { "type": "object", "properties": { "workflowId": { "type": "string" }, "status": { "type": "string" } }, "description": "Workflow response object" }, "CollectionsResponse": { "type": "object", "properties": { "collections": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionData" } }, "total": { "type": "integer", "example": 50 }, "message": { "type": "string", "example": "Collections retrieved successfully" } }, "description": "Collections response object" }, "CollectionResponse": { "type": "object", "properties": { "collection": { "$ref": "#/components/schemas/CollectionData" } }, "description": "Collection response object" }, "CollectionTokenDetailsResponse": { "type": "object", "properties": { "collcetion": { "type": "object", "properties": { "id": { "type": "string", "example": "1" }, "collectionId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "name": { "type": "string", "example": "My Collection #1" }, "symbol": { "type": "string", "example": "MC" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "contractAddress": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "status": { "type": "string", "enum": [ "ACTIVE", "BURNED" ], "example": "ACTIVE" }, "recipientAddress": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "mintTransactionHash": { "type": "string", "nullable": true, "example": "0x1234567890abcdef" }, "burnTransactionHash": { "type": "string", "nullable": true, "example": "0xabcdef1234567890" }, "mintedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "burnedAt": { "type": "string", "format": "date-time", "nullable": true, "example": "2024-01-01T00:00:00.000Z" }, "metadata": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "image": { "type": "string" }, "animation_url": { "type": "string" }, "external_url": { "type": "string" }, "attributes": { "type": "array", "items": { "type": "object", "properties": { "trait_type": { "type": "string" }, "value": { "type": "string" }, "display_type": { "type": "string", "nullable": true } } } } } }, "mintRecord": { "type": "object", "properties": { "id": { "type": "string" }, "amount": { "type": "string" }, "note": { "type": "string", "nullable": true }, "status": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "burnRecord": { "type": "object", "nullable": true, "properties": { "id": { "type": "string" }, "amount": { "type": "string" }, "note": { "type": "string", "nullable": true }, "status": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } } } } }, "description": "Collection token details response object" }, "MintTokenRequest": { "type": "object", "properties": { "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "to": { "type": "string" }, "metadata": { "type": "object" }, "useGasless": { "type": "boolean" }, "fee": { "type": "string" }, "feeLevel": { "type": "string" } }, "required": [ "addressId", "clientShare", "to" ], "description": "Mint token request object" }, "BurnTokenRequest": { "type": "object", "properties": { "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "tokenId": { "type": "string" }, "useGasless": { "type": "boolean" }, "fee": { "type": "string" }, "feeLevel": { "type": "string" } }, "required": [ "addressId", "clientShare", "tokenId" ], "description": "Burn token request object" }, "CollectionTokensResponse": { "type": "object", "properties": { "tokens": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionTokenData" } }, "total": { "type": "integer", "example": 100 } }, "description": "Collection tokens response object" }, "CreateContractRequest": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "bytecode": { "type": "string" }, "abi": { "type": "array", "items": { "type": "object" } }, "longDescription": { "type": "string" }, "sourceCode": { "type": "string" }, "type": { "type": "string" }, "docs": { "type": "object" }, "attributes": { "type": "object" } }, "required": [ "name", "description", "bytecode", "abi" ], "description": "Create contract request object" }, "ContractTemplateResponse": { "type": "object", "properties": { "contract": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "name": { "type": "string", "example": "ERC721 Token" }, "description": { "type": "string", "example": "Standard ERC721 token contract" }, "longDescription": { "type": "string", "nullable": true }, "bytecode": { "type": "string", "example": "0x608060405234801561001057600080fd5b50..." }, "sourceCode": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "docs": { "type": "object", "nullable": true } } } }, "description": "Contract template response object" }, "ContractTemplatesResponse": { "type": "object", "properties": { "result": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ContractTemplateData" } }, "next": { "type": "integer", "nullable": true, "example": 20 }, "count": { "type": "integer", "example": 100 } } } }, "description": "Contract templates response object" }, "ContractConstructorResponse": { "type": "object", "properties": { "contractConstructor": { "type": "object", "nullable": true, "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ], "nullable": true }, "type": { "type": "string", "enum": [ "function", "constructor", "event", "error", "fallback", "receive" ], "example": "constructor" }, "inputs": { "type": "array", "items": { "type": "object" } }, "outputs": { "type": "array", "items": { "type": "object" }, "nullable": true } } } }, "description": "Contract constructor response object" }, "ContractFunctionsResponse": { "type": "object", "properties": { "contractFunction": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "name": { "type": "string", "nullable": true, "example": "transfer" }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ], "nullable": true }, "type": { "type": "string", "enum": [ "function", "constructor", "event", "error", "fallback", "receive" ], "example": "function" }, "inputs": { "type": "array", "items": { "type": "object" } }, "outputs": { "type": "array", "items": { "type": "object" }, "nullable": true } } } } }, "description": "Contract functions response object" }, "DeployContractRequest": { "type": "object", "properties": { "network": { "type": "string" }, "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "constructorParameters": { "type": "array", "items": { "type": "object" } } }, "required": [ "network", "addressId", "clientShare" ], "description": "Deploy contract request object" }, "DeployedContractsResponse": { "type": "object", "properties": { "deployedContracts": { "type": "object", "properties": { "contracts": { "type": "array", "items": { "$ref": "#/components/schemas/DeployedContractData" } }, "total": { "type": "integer", "example": 50 }, "skip": { "type": "integer", "nullable": true, "example": 0 }, "take": { "type": "integer", "nullable": true, "example": 10 } } } }, "description": "Deployed contracts response object" }, "DeployedContractResponse": { "type": "object", "properties": { "deployedContract": { "type": "object" } }, "description": "Deployed contract response object" }, "FetchContractAbiRequest": { "type": "object", "properties": { "contractAddress": { "type": "string" }, "network": { "type": "string" } }, "required": [ "contractAddress", "network" ], "description": "Fetch contract abi request object" }, "ContractAbiResponse": { "type": "object", "properties": { "contractAbi": { "type": "object", "properties": { "abi": { "type": "array", "items": { "type": "object" } }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "implementationAddress": { "type": "string", "nullable": true, "example": "0x8ba1f109551bD432803012645Hac136c22C929" }, "status": { "type": "string", "nullable": true, "example": "SUCCESS" }, "source": { "type": "string", "nullable": true, "example": "database" } } } }, "description": "Contract abi response object" }, "AddContractAbiRequest": { "type": "object", "properties": { "contractAddress": { "type": "string" }, "network": { "type": "string" }, "name": { "type": "string" }, "abi": { "type": "array", "items": { "type": "object" } } }, "required": [ "contractAddress", "network", "name", "abi" ], "description": "Add contract abi request object" }, "AddContractAbiResponse": { "type": "object", "properties": { "result": { "type": "object", "properties": { "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "name": { "type": "string", "example": "My Contract" }, "abi": { "type": "array", "items": { "type": "object" } }, "status": { "type": "string", "nullable": true, "example": "SUCCESS" }, "source": { "type": "string", "nullable": true, "example": "tenant_database_updated" }, "message": { "type": "string", "nullable": true, "example": "Tenant ABI updated successfully" }, "tenantId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "userId": { "type": "string", "nullable": true, "example": "user_123" } } } }, "description": "Add contract abi response object" }, "ReadCallFunctionRequest": { "type": "object", "properties": { "abiFunction": { "type": "object" } }, "required": [ "abiFunction" ], "description": "Read call function request object" }, "ReadCallFunctionResponse": { "type": "object", "properties": { "result": { "type": "object", "properties": { "data": { "type": "object", "properties": { "result": { "type": "object", "description": "Decoded function result" }, "functionName": { "type": "string", "example": "balanceOf" }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "encodedData": { "type": "string", "example": "0x1234567890abcdef" } } }, "success": { "type": "boolean", "example": true }, "status": { "type": "integer", "example": 200 } } } }, "description": "Read call function response object" }, "WriteCallFunctionRequest": { "type": "object", "properties": { "addressId": { "type": "string" }, "clientShare": { "type": "string" }, "abiFunction": { "type": "object" }, "amount": { "type": "string" }, "feeLevel": { "type": "string" } }, "required": [ "addressId", "clientShare", "abiFunction" ], "description": "Write call function request object" }, "TransactionReceiptResponse": { "type": "object", "properties": { "receipt": { "type": "object", "description": "Transaction receipt object from blockchain", "properties": { "transactionHash": { "type": "string", "example": "0x1234567890abcdef" }, "blockNumber": { "type": "integer", "nullable": true }, "blockHash": { "type": "string", "nullable": true }, "transactionIndex": { "type": "integer", "nullable": true }, "from": { "type": "string", "nullable": true }, "to": { "type": "string", "nullable": true }, "gasUsed": { "type": "string", "nullable": true }, "effectiveGasPrice": { "type": "string", "nullable": true }, "status": { "type": "integer", "nullable": true }, "logs": { "type": "array", "items": { "type": "object" }, "nullable": true } } } }, "description": "Transaction receipt response object" }, "CreateWithdrawRequest": { "type": "object", "properties": { "to": { "type": "string" }, "amount": { "type": "string" }, "from": { "type": "array", "items": { "type": "string" } }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ] }, "clientShare": { "type": "string" } }, "required": [ "to", "amount", "from", "network", "clientShare" ], "description": "Create withdraw request object" }, "WithdrawResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "status": { "type": "string", "example": "pending" }, "hash": { "type": "string" } } } }, "description": "Withdraw response object" }, "TokenData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "status": { "type": "string", "example": "ACTIVE" }, "type": { "type": "string", "nullable": true, "example": "ERC721" }, "displayName": { "type": "string", "example": "My Token" }, "tokenMetadata": { "type": "object", "properties": { "name": { "type": "string", "example": "My Token" }, "symbol": { "type": "string", "example": "MTK" }, "decimals": { "type": "integer", "example": 18 }, "standard": { "type": "string", "nullable": true, "example": "ERC721" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "contractAddress": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "contractTemplateId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "contractDeploymentId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" } } } }, "description": "Token data object" }, "CollectionData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "status": { "type": "string", "example": "ACTIVE" }, "type": { "type": "string", "nullable": true, "example": "ERC721" }, "displayName": { "type": "string", "example": "My Collection" }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "collectionMetadata": { "type": "object", "properties": { "name": { "type": "string", "example": "My Collection" }, "symbol": { "type": "string", "example": "MC" }, "standard": { "type": "string", "nullable": true, "example": "ERC721" }, "contractAddress": { "type": "string", "nullable": true, "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" } } } }, "description": "Collection data object" }, "CollectionTokenData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "status": { "type": "string", "example": "CONFIRMED" }, "type": { "type": "string", "enum": [ "MINT", "BURN" ], "example": "MINT" }, "metaData": { "type": "object", "nullable": true }, "addressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "amount": { "type": "string", "example": "1" }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "transactionHash": { "type": "string", "nullable": true, "example": "0x1234567890abcdef" }, "tokenId": { "type": "string", "example": "1" } }, "description": "Collection token data object" }, "ContractTemplateFunction": { "type": "object", "properties": { "name": { "type": "string", "nullable": true, "example": "transfer" }, "stateMutability": { "type": "string", "enum": [ "pure", "view", "nonpayable", "payable" ], "nullable": true, "example": "nonpayable" }, "type": { "type": "string", "enum": [ "function", "constructor", "event", "error", "fallback", "receive" ], "example": "function" }, "inputs": { "type": "array", "items": { "type": "object" } }, "outputs": { "type": "array", "items": { "type": "object" }, "nullable": true }, "description": { "type": "string", "nullable": true } }, "description": "Contract template function" }, "ContractTemplateData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "organizationId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "name": { "type": "string", "example": "ERC721 Token" }, "description": { "type": "string", "example": "Standard ERC721 token contract" }, "longDescription": { "type": "string", "nullable": true }, "bytecode": { "type": "string", "example": "0x608060405234801561001057600080fd5b50..." }, "sourceCode": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true, "example": "ERC721" }, "docs": { "type": "object", "nullable": true }, "attributes": { "type": "object", "nullable": true }, "abi": { "type": "array", "items": { "$ref": "#/components/schemas/ContractTemplateFunction" } }, "createdAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" }, "updatedAt": { "type": "string", "format": "date-time", "example": "2024-01-01T00:00:00.000Z" } }, "description": "Contract template data object" }, "ContractTemplateByIdResponse": { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/ContractTemplateData" } }, "description": "Contract template by id response object" }, "DeployedContractData": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "contractTemplateId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" } }, "description": "Deployed contract data object" }, "DeployedContractByIdResponse": { "type": "object", "properties": { "deployedContract": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "contractTemplateId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "deployerAddressId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" } } } }, "description": "Deployed contract by id response object" }, "DeployedContractByAddressResponse": { "type": "object", "properties": { "deployedContract": { "type": "object", "properties": { "id": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "contractTemplateId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" }, "vauldAccountId": { "type": "string", "example": "123e4567-e89b-12d3-a456-426614174000" } } } }, "description": "Deployed contract by address response object" }, "FetchContractAbiResponse": { "type": "object", "properties": { "contractAbi": { "type": "object", "properties": { "abi": { "type": "array", "items": { "type": "object" } }, "contractAddress": { "type": "string", "example": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "network": { "type": "string", "enum": [ "tBTC", "tETH", "AVAX", "FUJI", "SANDBOX" ], "example": "ETH" }, "status": { "type": "string", "example": "SUCCESS" }, "source": { "type": "string", "enum": [ "tenant_database", "database", "blockchain" ], "example": "blockchain" }, "tenantId": { "type": "string", "nullable": true, "example": "123e4567-e89b-12d3-a456-426614174000" }, "userId": { "type": "string", "nullable": true, "example": "user_123" } } } }, "description": "Fetch contract abi response object" }, "IssueNewTokenResponse": { "$ref": "#/components/schemas/TokenData", "description": "Issue new token response object" } } } }