---
title: "Submit ticket"
method: PUT
path: "/smart-transfers/{ticketId}/submit"
tags: ["Smart Transfer"]
---

# Submit ticket

`PUT /smart-transfers/{ticketId}/submit`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/smart-transfers/:ticketId/submit/put.ts> (a function with typed inputs; its response is checked against the schema)

Submit Smart Transfer ticket - change status into ready for approval if auto approval is not turned on, or OPEN if auto approval is on. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.

## Path parameters

- `ticketId` string, required

## Headers

- `Idempotency-Key` string

## Request body

- SmartTransferSubmitTicket
  - `expiresIn` number: Sets the ticket expiration time (in hours) after the ticket is submitted. If no funding source is set for any term, the ticket will automatically expire after given time. If expiresIn is not sent ticket will not expire.

## Response `200`

Successfully submitted Smart Transfer ticket

- SmartTransferTicketResponse
  - `message` string, nullable, required: Result message
  - `data` SmartTransferTicket, nullable: Data object with result data
    - `id` string, required: Unique id of Smart Transfer ticket
    - `type` 'ASYNC' | 'DVP', required: Kind of Smart Transfer. Can be either `ASYNC` or `DVP`
    - `direction` 'EXCHANGE' | 'SEND' | 'RECEIVE' | 'INTERMEDIATE': Direction of Smart Transfer.
    - `status` 'DRAFT' | 'PENDING_APPROVAL' | 'OPEN' | 'IN_SETTLEMENT' | 'FULFILLED' | 'EXPIRED' | 'CANCELED', required: Current status of Smart Transfer ticket
    - `dvpExecutionStatus` 'STARTED' | 'CREATING_ORDER' | 'ORDER_CREATED' | 'FULFILLING' | 'FULFILLING_ORDER_FAILED' | 'CREATING_ORDER_FAILED' | 'FULFILLED': Current status of DVP execution
    - `orderCreatedByNetworkId` string: ID of network profile that created order
    - `terms` SmartTransferTicketTerm[]: Ticket terms (legs)
      - `id` string, required: Unique id of Smart Transfer ticket term
      - `ticketId` string, required: Unique id of Smart Transfer ticket
      - `asset` string, required: Asset name
      - `amount` string, required: Amount
      - `dvpSrcDstVaultId` string: Identifier of the source and destination vault for DVP execution
      - `amountUsd` string: Amount USD
      - `fromNetworkId` string, required: Identifier of the origination Network Profile
      - `fromNetworkIdName` string, required: Source network name
      - `toNetworkId` string, required: Identifier of the destination Network Profile
      - `toNetworkIdName` string, required: Destination network name
      - `txHash` string, nullable, required: Blockchain TX hash
      - `fbTxId` string, nullable, required: Fireblocks transaction ID. It is set when the funding transaction is created.
      - `txStatus` 'queued' | 'submitted' | 'pendingSignature' | 'pendingAuthorization' | 'broadcasting' | 'confirming' | 'pendingAmlScreening' | 'completed' | 'cancelled' | 'failed' | 'rejected' | 'blocked' | 'thirdPartyPendingManualApproval' | 'thirdPartyPending' | 'partiallyCompleted' | 'cancelling', nullable, required: Ticket term transaction status
      - `status` 'CREATED' | 'FUNDING' | 'FUNDING_FAILED' | 'FUNDED' | 'REJECTED', required: Ticket term status
      - `createdAt` string, date-time, required: Date and time when the term is created.
      - `updatedAt` string, date-time, required: Date and time of last term update.
    - `expiresIn` number: Number of hours for expiration.This data is valid only it ticket not in DRAFT state and it will be used to calculate expiresAt value
    - `expiresAt` string, date-time: Date and time at which the ticket will expire if no funding is performed.
    - `submittedAt` string, date-time: Date and time when ticket is submitted.
    - `expiredAt` string, date-time: Date and time when ticket is expired.
    - `canceledAt` string, date-time: Date and time when ticket is canceled.
    - `fulfilledAt` string, date-time: Date and time when ticket is fulfilled.
    - `externalRefId` string: External Ref ID for Smart Transfer ticket.
    - `note` string: Note
    - `createdByNetworkId` string, required: ID of network profile that created ticket
    - `createdByNetworkIdName` string, required: Name of network profile that created ticket
    - `canceledByNetworkIdName` string: Name of network profile that canceled ticket
    - `createdAt` string, date-time, required: Date and time at which the ticket is created.
    - `updatedAt` string, date-time, required: Date and time of last ticket update.
    - `canceledByMe` boolean
    - `createdByMe` boolean

## Other responses

- `403`: Unauthorized
- `404`: Not found
- `422`: Bad Request

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
