openapi: 3.1.0 info: title: Polygon Labs API version: '2026-10-13' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 32 operation(s) read from 4 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Polygon Labs has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 2 documentation: 30 pages-with-code: 3 pages-read: 4 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-13' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://docs.polygon.technology/pos/reference/commands.md - https://docs.polygon.technology/api-reference/reference/list-supported-networks.md - https://docs.polygon.technology/api-reference/overview - https://docs.polygon.technology/api-reference/overview.md servers: - url: https://sandbox-api.polygon.technology paths: /: post: operationId: post tags: - Api summary: POST / x-source: https://docs.polygon.technology/pos/reference/commands.md requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: 'curl -H "Content-Type: application/json" --data ''{"jsonrpc": "2.0", "method": "net_peerCount", "params": [], "id": 74}'' localhost:8545` | Retrieves the number of peers connected to the node. | | `admin.nodeInfo` | | Provides detailed information about the node. | | `eth.syncing` | `curl -H "Content-Type: application/json" -d ''{"id":1, "jsonrpc":"2.0", "method": "eth_syncing","params": []}'' localho' /auth/token: post: operationId: post_auth_token tags: - Auth summary: Exchange the key and secret for a short‑lived bearer token at POST /auth/token. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostAuthTokenRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostAuthTokenResponse' x-evidence: kind: documentation /cash-ins: post: operationId: post_cash_ins tags: - Cash Ins summary: Create a Cash-In. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostCashInsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostCashInsResponse' x-evidence: kind: documentation /cash-ins/{id}/refresh: post: operationId: post_cash_ins_id_refresh tags: - Cash Ins summary: Refresh a cash‑in deposit code. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: id in: path required: true schema: type: string responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostCashInsIdRefreshResponse' x-evidence: kind: documentation /counterparties: post: operationId: post_counterparties tags: - Counterparties summary: Create one with POST /counterparties. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostCounterpartiesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostCounterpartiesResponse' x-evidence: kind: documentation /customers/{id}/wallets: post: operationId: post_customers_id_wallets tags: - Customers summary: Create a custodial wallet for a Customer x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: id in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation /deposit-addresses: get: operationId: get_deposit_addresses tags: - Deposit Addresses summary: List Deposit Addresses. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: customerId in: query required: false schema: type: string description: Optional filter by customer. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetDepositAddressesResponse' x-evidence: kind: documentation post: operationId: post_deposit_addresses tags: - Deposit Addresses summary: Create a Deposit Address. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostDepositAddressesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostDepositAddressesResponse' x-evidence: kind: documentation /deposit-addresses/{depositaddressid}: get: operationId: get_deposit_addresses_depositaddressid tags: - Deposit Addresses summary: Retrieve a Deposit Address. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: depositaddressid in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetDepositAddressesDepositaddressidResponse' x-evidence: kind: documentation patch: operationId: patch_deposit_addresses_depositaddressid tags: - Deposit Addresses summary: Update a Deposit Address. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: depositaddressid in: path required: true schema: type: string requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/PatchDepositAddressesDepositaddressidRequest' responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PatchDepositAddressesDepositaddressidResponse' x-evidence: kind: documentation /external-accounts: get: operationId: get_external_accounts tags: - External Accounts summary: List with GET /external-accounts?customerId=... (required). x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: customerId in: query required: true schema: type: string description: Filter external accounts by customer. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetExternalAccountsResponse' x-evidence: kind: documentation post: operationId: post_external_accounts tags: - External Accounts summary: Register them with POST /external-accounts. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostExternalAccountsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostExternalAccountsResponse' x-evidence: kind: documentation /external-accounts/cards: post: operationId: post_external_accounts_cards tags: - External Accounts summary: Debit cards register through their own endpoint, POST /external-accounts/cards. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostExternalAccountsCardsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostExternalAccountsCardsResponse' x-evidence: kind: documentation /net_info: get: operationId: get_net_info tags: - Net Info summary: Returns the number of connected peers. x-source: https://docs.polygon.technology/pos/reference/commands.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /networks: get: operationId: get_networks tags: - Networks summary: List supported networks description: Lists every network OMS supports, with its identifiers, available assets, and which OMS resources can use it in which direction. Availability is derived from live route configuration, so a network absent from this list is not routable; the fiat-rail availability and the crypto deposit-address signal both reflect your own project's provider configuration. x-source: https://docs.polygon.technology/api-reference/reference/list-supported-networks.md parameters: - name: vendor in: query required: false schema: type: string description: Scope the response to one vendor the calling project holds. Omit to get the union of every vendor the project has. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetNetworksResponse' x-evidence: kind: documentation /quotes: post: operationId: post_quotes tags: - Quotes summary: Create a Quote. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostQuotesRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostQuotesResponse' x-evidence: kind: documentation /status: get: operationId: get_status tags: - Status summary: Provides comprehensive information about Heimdall. x-source: https://docs.polygon.technology/pos/reference/commands.md responses: '200': description: Success (status as documented) x-evidence: kind: documentation /transactions: get: operationId: get_transactions tags: - Transactions summary: List transactions. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: customerId in: query required: false schema: type: string description: Filter transactions to a specific customer. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetTransactionsResponse' x-evidence: kind: documentation post: operationId: post_transactions tags: - Transactions summary: Create a Transaction. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostTransactionsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostTransactionsResponse' x-evidence: kind: documentation /transactions/{id}: get: operationId: get_transactions_id tags: - Transactions summary: Track a transaction. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetTransactionsIdResponse' x-evidence: kind: documentation /v0.13/auth/token: post: operationId: post_v0_13_auth_token tags: - V0 summary: POST /v0.13/auth/token x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostV013AuthTokenRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -X POST https://sandbox-api.polygon.technology/v0.13/auth/token -H \"Content-Type: application/json\" -d '{ \n \"apiKey\"\ : \"{api_key}\", \n \"apiSecret\": \"{api_secret}\" \n }' " /virtual-accounts: get: operationId: get_virtual_accounts tags: - Virtual Accounts summary: List Virtual Accounts. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: customerId in: query required: false schema: type: string description: Optional filter by customer. responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetVirtualAccountsResponse' x-evidence: kind: documentation post: operationId: post_virtual_accounts tags: - Virtual Accounts summary: Create a Virtual Account. x-source: https://docs.polygon.technology/api-reference/overview requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostVirtualAccountsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostVirtualAccountsResponse' x-evidence: kind: documentation /virtual-accounts/{id}/simulate/inbound-transfer: post: operationId: post_virtual_accounts_id_simulate_inbound_transfer tags: - Virtual Accounts summary: Simulate an inbound transfer for a Virtual Account x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: id in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation /virtual-accounts/{virtualaccountid}: delete: operationId: delete_virtual_accounts_virtualaccountid tags: - Virtual Accounts summary: Delete a Virtual Account x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: virtualaccountid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation patch: operationId: patch_virtual_accounts_virtualaccountid tags: - Virtual Accounts summary: Manage Virtual Accounts x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: virtualaccountid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /wallets/{id}/balance: get: operationId: get_wallets_id_balance tags: - Wallets summary: Read its balance with GET /wallets/{id}/balance. x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /webhooks: get: operationId: get_webhooks tags: - Webhooks summary: List Webhooks x-source: https://docs.polygon.technology/api-reference/overview responses: '200': description: Success (status as documented) x-evidence: kind: documentation /webhooks/{webhookid}: delete: operationId: delete_webhooks_webhookid tags: - Webhooks summary: Delete a Webhook x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: webhookid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /webhooks/{webhookid}/deliveries: get: operationId: get_webhooks_webhookid_deliveries tags: - Webhooks summary: List deliveries for a Webhook x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: webhookid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /webhooks/{webhookid}/deliveries/retry: post: operationId: post_webhooks_webhookid_deliveries_retry tags: - Webhooks summary: Retry delivery of a Webhook event x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: webhookid in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation /webhooks/{webhookid}/{id}: post: operationId: post_webhooks_webhookid_id tags: - Webhooks summary: Disable a Webhook x-source: https://docs.polygon.technology/api-reference/overview parameters: - name: webhookid in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: '201': description: Success (status as documented) x-evidence: kind: documentation collapsed_from: 4 example path(s) differing only at id components: schemas: PostRequest: type: object properties: jsonrpc: type: string method: type: string params: type: array items: {} id: type: integer PostAuthTokenRequest: type: object properties: apiKey: type: string description: API key. apiSecret: type: string description: API secret. required: - apiKey - apiSecret PostAuthTokenResponse: type: object properties: accessToken: type: string description: Bearer token valid for 60 minutes. PostCashInsRequest: type: object properties: customer: type: string description: Customer initiating the cash‑in. cashSource: type: string description: Location where cash will be deposited. cryptoDestination: type: string description: Destination wallet for the converted crypto. required: - customer - cashSource - cryptoDestination PostCashInsResponse: type: object properties: cashInId: type: string description: Identifier of the created cash‑in. depositCode: type: string description: Code the customer presents at the retail location. pricing: type: string description: Pricing estimates for the cash‑in. PostCashInsIdRefreshResponse: type: object properties: depositCode: type: string description: New deposit code. PostCounterpartiesRequest: type: object properties: customerId: type: string description: Owner customer. entityType: type: string description: individual or business. firstName: type: string description: For individual. lastName: type: string description: For individual. businessName: type: string description: For business. address: type: string description: Object with line1, city, zipCode, country, (state for US). email: type: string description: Contact email. phone: type: string description: Contact phone. taxId: type: string description: Tax identifier. required: - customerId - entityType PostCounterpartiesResponse: type: object properties: id: type: string description: Counterparty ID. name: type: string description: Read‑only composed name. GetDepositAddressesResponse: type: object properties: depositAddresses: type: string description: Array of deposit address objects. PostDepositAddressesRequest: type: object properties: customerId: type: string description: Customer owning the deposit address. expectedSourceAsset: type: string description: Asset expected to be deposited. expectedSourceNetwork: type: string description: Network of the expected source asset. destinationExternalAccountId: type: string description: Registered bank external account to receive payouts. required: - customerId - expectedSourceAsset - expectedSourceNetwork - destinationExternalAccountId PostDepositAddressesResponse: type: object properties: depositAddressId: type: string description: Identifier of the created deposit address. depositInstructions: type: string description: On‑chain inlet address (null until provisioning completes). GetDepositAddressesDepositaddressidResponse: type: object properties: depositAddressId: type: string description: Identifier of the deposit address. status: type: string description: Current status of the deposit address. depositInstructions: type: string description: On‑chain address for incoming funds. PatchDepositAddressesDepositaddressidRequest: type: object properties: destinationExternalAccountId: type: string description: New external account to receive payouts. PatchDepositAddressesDepositaddressidResponse: type: object properties: depositAddressId: type: string description: Identifier of the updated deposit address. status: type: string description: Updated status. GetExternalAccountsResponse: type: object properties: items: type: string description: Array of external account objects. PostExternalAccountsRequest: type: object properties: owner: type: string description: Object with kind (customer or counterparty) and corresponding ID. type: type: string description: One of bankUs, bankIban, bankCanada, or walletExternal. bankUs: type: string description: Object with accountNumber, routingNumber, accountType, bankName. bankIban: type: string description: IBAN‑specific fields. bankCanada: type: string description: Canada‑specific fields. walletExternal: type: string description: External wallet fields. required: - owner - type PostExternalAccountsResponse: type: object properties: id: type: string description: External account ID (ext_ prefix). accountNumberLast4: type: string description: Last 4 digits of the account number (write‑only on request). cardNumberLast4: type: string description: Last 4 digits of the card number if type is card. PostExternalAccountsCardsRequest: type: object properties: owner: type: string description: Object with kind (customer or counterparty) and corresponding ID. type: type: string description: Must be card. card: type: string description: Object with cardNumber, expiryMonth, expiryYear, cvv, etc. required: - owner - type - card PostExternalAccountsCardsResponse: type: object properties: id: type: string description: External account ID (ext_ prefix). cardNumberLast4: type: string description: Last 4 digits of the card number. GetNetworksResponse: type: object properties: '200': type: string description: The request has succeeded. '400': type: string description: The server could not understand the request due to invalid syntax. PostQuotesRequest: type: object properties: source: type: string description: Source instrument for the quote. destination: type: string description: Destination instrument for the quote. amount: type: string description: Amount to move. required: - source - destination - amount PostQuotesResponse: type: object properties: quoteId: type: string description: Identifier of the created quote. pricing: type: string description: Full fee breakdown and locked pricing. status: type: string description: Quote status (open). GetTransactionsResponse: type: object properties: transactions: type: string description: Array of transaction objects. PostTransactionsRequest: type: object properties: quoteId: type: string description: Identifier of the quote to base the transaction on. required: - quoteId PostTransactionsResponse: type: object properties: transactionId: type: string description: Identifier of the created transaction. status: type: string description: Transaction status (processing). GetTransactionsIdResponse: type: object properties: transactionId: type: string description: Identifier of the transaction. status: type: string description: Current status of the transaction. pricing: type: string description: Pricing details for the transaction. PostV013AuthTokenRequest: type: object properties: apiKey: type: string apiSecret: type: string GetVirtualAccountsResponse: type: object properties: virtualAccounts: type: string description: Array of virtual account objects. PostVirtualAccountsRequest: type: object properties: customerId: type: string description: Customer owning the virtual account. source: type: string description: Source fiat asset and network (e.g., {"asset":"usd","network":...}). walletDestination: type: string description: Wallet external reference for crypto payout. accountHolder: type: string description: Account holder type, e.g., "customer". type: type: string description: Bank rail type, e.g., "bankUs". required: - customerId - source - walletDestination - accountHolder - type PostVirtualAccountsResponse: type: object properties: virtualAccountId: type: string description: Identifier of the created virtual account. bankDetails: type: string description: Bank account details (null until provisioned). status: type: string description: Current status of the virtual account. tags: - name: Api - name: Auth - name: Cash Ins - name: Counterparties - name: Customers - name: Deposit Addresses - name: External Accounts - name: Net Info - name: Networks - name: Quotes - name: Status - name: Transactions - name: V0 - name: Virtual Accounts - name: Wallets - name: Webhooks