Submit ticket
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.
PUT
/
smart-transfers
/
{ticketId}
/
submit
TypeScript
const response: Promise<FireblocksResponse<SmartTransferTicketResponse>> = fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest);CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response = fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket, ticketId, idempotencyKey);response = fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket, ticket_id, idempotency_key);curl --request PUT \
--url https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit \
--header 'Content-Type: application/json' \
--data '
{
"expiresIn": 24.5
}
'const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({expiresIn: 24.5})
};
fetch('https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'expiresIn' => 24.5
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit"
payload := strings.NewReader("{\n \"expiresIn\": 24.5\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"expiresIn\": 24.5\n}"
response = http.request(request)
puts response.read_body{
"message": "Success",
"data": {
"id": "118320d2-761f-46c7-96cf-65e71a370b36",
"type": "ASYNC",
"status": "DRAFT",
"createdByNetworkId": "3eaa94c5-128b-4835-bb08-3111bb6564c7",
"createdByNetworkIdName": "Network id name",
"createdAt": "2023-03-01T11:23:00Z",
"updatedAt": "2023-03-01T11:23:00Z",
"direction": "EXCHANGE",
"dvpExecutionStatus": "STARTED",
"orderCreatedByNetworkId": "3eaa94c5-128b-4835-bb08-3111bb6564c7",
"terms": [
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"status": "CREATED"
},
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"fromNetworkIdName": "Source network profile 1",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"toNetworkIdName": "Destination network profile 1",
"status": "FUNDING",
"connectionId": "14817440-d5c8-4dbd-a754-ad415683610c",
"fbTxId": "79075e8c-1fd9-4c97-9575-3bd9229e5c0d",
"createdAt": "2023-03-01T11:23:00.000Z",
"updatedAt": "2023-03-01T11:23:00.000Z"
},
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"fromNetworkIdName": "Source network profile 2",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"toNetworkIdName": "Destination network profile 2",
"status": "FUNDED",
"connectionId": "14817440-d5c8-4dbd-a754-ad415683610c",
"fbTxId": "79075e8c-1fd9-4c97-9575-3bd9229e5c0d",
"txHash": "0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838",
"createdAt": "2023-03-01T11:23:00.000Z",
"updatedAt": "2023-03-01T11:23:00.000Z"
}
],
"expiresIn": "13",
"expiresAt": "2023-03-01T11:23:00Z",
"submittedAt": "2023-03-01T11:23:00Z",
"expiredAt": "2023-03-01T11:23:00Z",
"canceledAt": "2023-03-01T11:23:00Z",
"fulfilledAt": "2023-03-01T11:23:00Z",
"externalRefId": "2631ffb9d8fe47c6b0825b5be28297da",
"note": "Random note",
"canceledByNetworkIdName": "Network id name",
"canceledByMe": true,
"createdByMe": true
}
}{
"message": "You do not have permission to execute this action",
"code": 3002
}{
"message": "Requested entity not found",
"code": "c943bdb8-ada0-4ba6-8645-74fcf188a10f"
}{
"message": "Your request contains invalid data",
"code": "2e7a7a5d-c85c-4ea5-9adf-668cba8b4eb4"
}Headers
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.
Path Parameters
Body
application/json
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.
Required range:
1 <= x <= 48Was this page helpful?
Previous
Create leg (term)Creates new smart transfer ticket term (when the ticket status is DRAFT). Learn more about Fireblocks Smart Transfers in the following [guide](https://developers.fireblocks.com/docs/execute-smart-transfers). Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
Next
⌘I
TypeScript
const response: Promise<FireblocksResponse<SmartTransferTicketResponse>> = fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest);CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response = fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket, ticketId, idempotencyKey);response = fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket, ticket_id, idempotency_key);curl --request PUT \
--url https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit \
--header 'Content-Type: application/json' \
--data '
{
"expiresIn": 24.5
}
'const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({expiresIn: 24.5})
};
fetch('https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'expiresIn' => 24.5
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit"
payload := strings.NewReader("{\n \"expiresIn\": 24.5\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/smart-transfers/{ticketId}/submit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"expiresIn\": 24.5\n}"
response = http.request(request)
puts response.read_body{
"message": "Success",
"data": {
"id": "118320d2-761f-46c7-96cf-65e71a370b36",
"type": "ASYNC",
"status": "DRAFT",
"createdByNetworkId": "3eaa94c5-128b-4835-bb08-3111bb6564c7",
"createdByNetworkIdName": "Network id name",
"createdAt": "2023-03-01T11:23:00Z",
"updatedAt": "2023-03-01T11:23:00Z",
"direction": "EXCHANGE",
"dvpExecutionStatus": "STARTED",
"orderCreatedByNetworkId": "3eaa94c5-128b-4835-bb08-3111bb6564c7",
"terms": [
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"status": "CREATED"
},
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"fromNetworkIdName": "Source network profile 1",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"toNetworkIdName": "Destination network profile 1",
"status": "FUNDING",
"connectionId": "14817440-d5c8-4dbd-a754-ad415683610c",
"fbTxId": "79075e8c-1fd9-4c97-9575-3bd9229e5c0d",
"createdAt": "2023-03-01T11:23:00.000Z",
"updatedAt": "2023-03-01T11:23:00.000Z"
},
{
"id": "84601ee2-b10f-4aa8-be9c-dba259a3533a",
"ticketId": "118320d2-761f-46c7-96cf-65e71a370b36",
"amount": "10.00",
"asset": "ETH",
"fromNetworkId": "947c6115-1f5f-4fb4-9fd6-a1f9dee14670",
"fromNetworkIdName": "Source network profile 2",
"toNetworkId": "5d009697-c29b-48e0-aff8-1f4305d19dc2",
"toNetworkIdName": "Destination network profile 2",
"status": "FUNDED",
"connectionId": "14817440-d5c8-4dbd-a754-ad415683610c",
"fbTxId": "79075e8c-1fd9-4c97-9575-3bd9229e5c0d",
"txHash": "0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838",
"createdAt": "2023-03-01T11:23:00.000Z",
"updatedAt": "2023-03-01T11:23:00.000Z"
}
],
"expiresIn": "13",
"expiresAt": "2023-03-01T11:23:00Z",
"submittedAt": "2023-03-01T11:23:00Z",
"expiredAt": "2023-03-01T11:23:00Z",
"canceledAt": "2023-03-01T11:23:00Z",
"fulfilledAt": "2023-03-01T11:23:00Z",
"externalRefId": "2631ffb9d8fe47c6b0825b5be28297da",
"note": "Random note",
"canceledByNetworkIdName": "Network id name",
"canceledByMe": true,
"createdByMe": true
}
}{
"message": "You do not have permission to execute this action",
"code": 3002
}{
"message": "Requested entity not found",
"code": "c943bdb8-ada0-4ba6-8645-74fcf188a10f"
}{
"message": "Your request contains invalid data",
"code": "2e7a7a5d-c85c-4ea5-9adf-668cba8b4eb4"
}