Fireblocks Canton (Beta) API

The Canton (Beta) API from Fireblocks — 2 operation(s) for canton (beta).

Operations 2

POST /operations/canton/calls Make a Canton call #
POST /operations/canton/offers/{offerId}/responses Answer an offer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fireblocks:fireblocks-canton-beta-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fireblocks-canton-beta-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireblocks Canton (Beta) API
  description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.


    - Visit our website for more information: Fireblocks Website

    - Visit our developer docs: Fireblocks DevPortal'
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
  description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
  description: Fireblocks Sandbox Environment Base URL
tags:
- name: Canton (Beta)
paths:
  /operations/canton/calls:
    post:
      operationId: createCantonCall
      summary: Make a Canton call
      description: Submits a Canton call from a vault account's Canton wallet. `type` selects the call and the shape of `payload`.
      tags:
      - Canton (Beta)
      x-rate-limit-category: write
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CantonCall'
      responses:
        '201':
          description: The outgoing transaction that carries the call.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallAccepted'
        '400':
          description: Unknown or missing type, a missing required payload field, or an invalid party id, blockchainId, or expiry
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '404':
          description: No Canton wallet for this vault account and blockchainId, or an unknown end investor for this tenant
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '409':
          description: The target is not in a state this call can act on, or more than one candidate contract matched the wallet
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '501':
          description: 'This call type is not yet available: DTCC_END_INVESTOR_INVITE_CANCEL, DTCC_ALLOW_LIST_ADD, DTCC_ALLOW_LIST_REMOVE'
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        default:
          $ref: '#/components/responses/Error'
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<CallAccepted>> = fireblocks.cantonBeta.createCantonCall(cantonBetaApiCreateCantonCallRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<CallAccepted>> response = fireblocks.cantonBeta().createCantonCall(cantonCall, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.canton_beta.create_canton_call(canton_call, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<CallAccepted>> = fireblocks.cantonBeta.createCantonCall(cantonBetaApiCreateCantonCallRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<CallAccepted>> response = fireblocks.cantonBeta().createCantonCall(cantonCall, idempotencyKey);
      - lang: Python
        source: response = fireblocks.canton_beta.create_canton_call(canton_call, idempotency_key);
  /operations/canton/offers/{offerId}/responses:
    post:
      operationId: respondToCantonOffer
      summary: Answer an offer
      description: Responds to an incoming Canton offer. Set `responseType` to one of the values in the offer transaction's `cantonDetails.offerResponse.availableResponses`.
      tags:
      - Canton (Beta)
      x-rate-limit-category: write
      parameters:
      - in: path
        name: offerId
        required: true
        description: The Fireblocks transaction id of the incoming offer being answered.
        schema:
          type: string
          example: 5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferResponse'
      responses:
        '201':
          description: The outgoing transaction that carries the response. Its on-chain outcome arrives by webhook as a status update on this transaction.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferResponseAccepted'
        '400':
          description: Unknown or missing responseType, or a missing required payload field, or the response is not available to this workspace's side of the offer (a sender sending accept/reject, a receiver sending withdraw)
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '404':
          description: Unknown offer id for this tenant
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '409':
          description: 'The offer cannot take this response now. An accept or reject: the offer is already answered, expired, or a response is in flight. ALLOCATION_WITHDRAW — which is sent AFTER the accept, on the same offer: the allocation is not ALLOCATED, because the accept has not settled yet, or it was already withdrawn or settled by the venue. The message names the state.'
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '501':
          description: This responseType is not yet available
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        default:
          $ref: '#/components/responses/Error'
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<OfferResponseAccepted>> = fireblocks.cantonBeta.respondToCantonOffer(cantonBetaApiRespondToCantonOfferRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<OfferResponseAccepted>> response = fireblocks.cantonBeta().respondToCantonOffer(offerResponse, offerId, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.canton_beta.respond_to_canton_offer(offer_response, offer_id, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<OfferResponseAccepted>> = fireblocks.cantonBeta.respondToCantonOffer(cantonBetaApiRespondToCantonOfferRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<OfferResponseAccepted>> response = fireblocks.cantonBeta().respondToCantonOffer(offerResponse, offerId, idempotencyKey);
      - lang: Python
        source: response = fireblocks.canton_beta.respond_to_canton_offer(offer_response, offer_id, idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
      required: false
      schema:
        type: string
  schemas:
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    OfferResponseTransferReject:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - TRANSFER_REJECT
          example: TRANSFER_REJECT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Reject an inbound 2-step transfer offer. Carries no arguments.
    OfferResponseAccepted:
      type: object
      description: The outgoing transaction that carries the response. Its on-chain outcome arrives by webhook as a status update on this transaction.
      properties:
        transactionId:
          type: string
          example: 5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21
          description: The outgoing response transaction.
        status:
          type: string
          example: SUBMITTED
          description: The transaction's status at the time of this response — `SUBMITTED`.
        responseType:
          type: string
          example: DTCC_END_INVESTOR_ONBOARDING_REJECT
          description: The response type you sent, echoed back so you can correlate without re-reading.
      required:
      - transactionId
      - status
      - responseType
    OfferResponseAllocationAccept:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - ALLOCATION_ACCEPT
          example: ALLOCATION_ACCEPT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Accept a CIP-56 allocation request. Carries no arguments.
    EndInvestorPayload:
      type: object
      description: The end investor a call acts on.
      properties:
        endInvestor:
          type: string
          example: investor-party::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: The end investor's Canton party id.
      required:
      - endInvestor
    CantonCallAllowListRemove:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_ALLOW_LIST_REMOVE
          example: DTCC_ALLOW_LIST_REMOVE
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/AllowListPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
      - payload
    OfferResponseTradewebReject:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - TRADEWEB_COSIGNING_DELEGATION_REJECT
          example: TRADEWEB_COSIGNING_DELEGATION_REJECT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Reject a Tradeweb co-signing delegation offer. Carries no arguments — Tradeweb does not record a reject reason on the ledger, so none is accepted.
    OfferResponse:
      oneOf:
      - $ref: '#/components/schemas/OfferResponseDtccOnboardingAccept'
      - $ref: '#/components/schemas/OfferResponseDtccOnboardingReject'
      - $ref: '#/components/schemas/OfferResponseTradewebAccept'
      - $ref: '#/components/schemas/OfferResponseTradewebReject'
      - $ref: '#/components/schemas/OfferResponseAllocationAccept'
      - $ref: '#/components/schemas/OfferResponseAllocationReject'
      - $ref: '#/components/schemas/OfferResponseTransferAccept'
      - $ref: '#/components/schemas/OfferResponseTransferReject'
      - $ref: '#/components/schemas/OfferResponseTransferWithdraw'
      - $ref: '#/components/schemas/OfferResponseAllocationWithdraw'
      discriminator:
        propertyName: responseType
        mapping:
          DTCC_END_INVESTOR_ONBOARDING_ACCEPT: '#/components/schemas/OfferResponseDtccOnboardingAccept'
          DTCC_END_INVESTOR_ONBOARDING_REJECT: '#/components/schemas/OfferResponseDtccOnboardingReject'
          TRADEWEB_COSIGNING_DELEGATION_ACCEPT: '#/components/schemas/OfferResponseTradewebAccept'
          TRADEWEB_COSIGNING_DELEGATION_REJECT: '#/components/schemas/OfferResponseTradewebReject'
          ALLOCATION_ACCEPT: '#/components/schemas/OfferResponseAllocationAccept'
          ALLOCATION_REJECT: '#/components/schemas/OfferResponseAllocationReject'
          TRANSFER_ACCEPT: '#/components/schemas/OfferResponseTransferAccept'
          TRANSFER_REJECT: '#/components/schemas/OfferResponseTransferReject'
          TRANSFER_WITHDRAW: '#/components/schemas/OfferResponseTransferWithdraw'
          ALLOCATION_WITHDRAW: '#/components/schemas/OfferResponseAllocationWithdraw'
    CantonCallParticipantOnboarding:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_PARTICIPANT_ONBOARDING
          example: DTCC_PARTICIPANT_ONBOARDING
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/ParticipantOnboardingPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
    OfferResponseTransferAccept:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - TRANSFER_ACCEPT
          example: TRANSFER_ACCEPT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Accept an inbound 2-step transfer offer. Carries no arguments.
    CantonCallEndInvestorInviteCancel:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_END_INVESTOR_INVITE_CANCEL
          example: DTCC_END_INVESTOR_INVITE_CANCEL
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/EndInvestorPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
      - payload
    CantonCallAllowListAdd:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_ALLOW_LIST_ADD
          example: DTCC_ALLOW_LIST_ADD
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/AllowListPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
      - payload
    CantonCallEndInvestorOffboard:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_END_INVESTOR_OFFBOARD
          example: DTCC_END_INVESTOR_OFFBOARD
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/EndInvestorPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
      - payload
    OfferResponseDtccOnboardingReject:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - DTCC_END_INVESTOR_ONBOARDING_REJECT
          example: DTCC_END_INVESTOR_ONBOARDING_REJECT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
        payload:
          $ref: '#/components/schemas/DtccOnboardingRejectPayload'
      required:
      - responseType
      - payload
      description: Reject a DTCC end-investor onboarding offer.
    DtccOnboardingRejectPayload:
      type: object
      properties:
        reason:
          type: string
          minLength: 1
          maxLength: 512
          example: KYC not completed
          description: Why the offer is being rejected. Recorded on-chain, where the counterparty can read it.
      required:
      - reason
    OfferResponseTradewebAccept:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - TRADEWEB_COSIGNING_DELEGATION_ACCEPT
          example: TRADEWEB_COSIGNING_DELEGATION_ACCEPT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Accept a Tradeweb co-signing delegation offer. Carries no arguments.
    OfferResponseTransferWithdraw:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - TRANSFER_WITHDRAW
          example: TRANSFER_WITHDRAW
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Withdraw your own outgoing transfer offer. Carries no arguments — `offerId` in the path identifies the offer, and the vault account and blockchain are resolved from it.
    OfferResponseAllocationReject:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - ALLOCATION_REJECT
          example: ALLOCATION_REJECT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Reject a CIP-56 allocation request. Carries no arguments.
    ParticipantOnboardingPayload:
      type: object
      description: 'Optional, and so is every field in it: omit `payload` entirely to onboard with DTCC''s published parties for the blockchain and the default expiry.'
      properties:
        expiresAt:
          type: string
          format: date-time
          example: '2026-12-31T23:59:59Z'
          description: When the onboarding request expires if it has not been answered. RFC 3339.
        operator:
          type: string
          example: dtcc-operator::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: DTCC infra operator party id. Optional — overrides the service's default for the blockchain.
        compliance:
          type: string
          example: dtcc-compliance::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: DTCC compliance party id. Optional — overrides the service's default for the blockchain.
        registrar:
          type: string
          example: dtcc-registrar::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: DTCC registrar party id — co-signs the accept. Optional — overrides the service's default for the blockchain.
        clientOnboarder:
          type: string
          example: dtcc-onboarder::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: DTCC client onboarder party id — co-signs the accept. Optional — overrides the service's default for the blockchain.
        upgrader:
          type: string
          example: dtcc-upgrader::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: DTCC upgrader party id — the Model Upgrade Tool authority. Optional — overrides the service's default for the blockchain.
    AllowListPayload:
      type: object
      properties:
        wallets:
          type: array
          items:
            type: string
          minItems: 1
          example:
          - investor-party::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
          description: Canton party ids to add or remove.
      required:
      - wallets
    CantonCallEndInvestorInvite:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - DTCC_END_INVESTOR_INVITE
          example: DTCC_END_INVESTOR_INVITE
          description: Which call to make. Selects the shape of `payload`.
        vaultAccountId:
          type: string
          example: '12'
          description: The vault account whose Canton wallet makes this call.
        blockchainId:
          type: string
          enum:
          - CANTON
          - CANTON_TEST
          example: CANTON
          description: The blockchain the vault account's Canton party is connected to — `CANTON` or `CANTON_TEST`.
        payload:
          $ref: '#/components/schemas/EndInvestorPayload'
      required:
      - type
      - vaultAccountId
      - blockchainId
      - payload
    OfferResponseDtccOnboardingAccept:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - DTCC_END_INVESTOR_ONBOARDING_ACCEPT
          example: DTCC_END_INVESTOR_ONBOARDING_ACCEPT
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Accept a DTCC end-investor onboarding offer. Carries no arguments.
    CallAccepted:
      type: object
      description: The outgoing transaction that carries the call.
      properties:
        transactionId:
          type: string
          example: 5a1d8b0f-2c31-4c7e-9d0a-118e7b6c4a21
          description: The outgoing transaction that carries the call.
        status:
          type: string
          example: SUBMITTED
          description: The transaction's status at the time of this response — `SUBMITTED`.
      required:
      - transactionId
      - status
    CantonCall:
      oneOf:
      - $ref: '#/components/schemas/CantonCallParticipantOnboarding'
      - $ref: '#/components/schemas/CantonCallEndInvestorInvite'
      - $ref: '#/components/schemas/CantonCallEndInvestorInviteCancel'
      - $ref: '#/components/schemas/CantonCallEndInvestorOffboard'
      - $ref: '#/components/schemas/CantonCallAllowListAdd'
      - $ref: '#/components/schemas/CantonCallAllowListRemove'
      discriminator:
        propertyName: type
        mapping:
          DTCC_PARTICIPANT_ONBOARDING: '#/components/schemas/CantonCallParticipantOnboarding'
          DTCC_END_INVESTOR_INVITE: '#/components/schemas/CantonCallEndInvestorInvite'
          DTCC_END_INVESTOR_INVITE_CANCEL: '#/components/schemas/CantonCallEndInvestorInviteCancel'
          DTCC_END_INVESTOR_OFFBOARD: '#/components/schemas/CantonCallEndInvestorOffboard'
          DTCC_ALLOW_LIST_ADD: '#/components/schemas/CantonCallAllowListAdd'
          DTCC_ALLOW_LIST_REMOVE: '#/components/schemas/CantonCallAllowListRemove'
    OfferResponseAllocationWithdraw:
      type: object
      additionalProperties: false
      properties:
        responseType:
          type: string
          enum:
          - ALLOCATION_WITHDRAW
          example: ALLOCATION_WITHDRAW
          description: How you are answering the offer — one of the offer transaction's `cantonDetails.offerResponse.availableResponses`. That list does not change after the offer arrives; check `expiresAt` and the transaction status to see whether it is still answerable.
      required:
      - responseType
      description: Withdraw the allocation you made by accepting this offer, unlocking the holding. Carries no arguments — the allocation is resolved from the offer. Answers `409` until the accept has settled.
  headers:
    X-Request-ID:
      schema:
        type: string
      description: Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  securitySchemes:
    bearerTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-readme:
  explorer-enabled: false
  samples-languages:
  - curl
  - javascript
  - python
x-provenance:
  method: harvested
  publisher: Fireblocks
  source: https://swagger.fireblocks.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)