Skip to content
CCPEDIAby Unity Nodes
Documentation/Canton Network Docs/Splice APIsValidator APIsWallet API (External)View on Canton Network Docs

POST /v0/wallet/transfer-offers/:tracking_id/status

POST
/
api
/
validator
/
v0
/
wallet
/
transfer-offers
/
{tracking_id}
/
status
Try it
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request POST \
  --url 'https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status' \
  --header 'Authorization: Bearer $TOKEN'
import json
import requests

url = "https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status"
headers = {'Authorization': 'Bearer <token>'}
response = requests.request("POST", url, headers=headers)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status', {
  method: 'POST',
  headers: {
  "Authorization": "Bearer <token>"
},
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer <token>"
    ],
]);

$response = curl_exec($curl);
echo $response;
package main

import (
  "fmt"
  "io"
  "net/http"
)

func main() {
  req, _ := http.NewRequest("POST", "https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status", nil)
  req.Header.Set("Authorization", "Bearer <token>")
  response, _ := http.DefaultClient.Do(req)
  defer response.Body.Close()
  body, _ := io.ReadAll(response.Body)
  fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status"))
    .header("Authorization", "Bearer <token>")
    .method("POST", HttpRequest.BodyPublishers.noBody())
    .build();
var response = HttpClient.newHttpClient().send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'

uri = URI('https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
404
{
  "status": "<string>",
  "transaction_id": "<string>",
  "contract_id": "<string>"
}
{
  "error": "<string>"
}

Check the status of a transfer offer with a given tracking id.

OpenAPI
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request POST \
  --url 'https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status' \
  --header 'Authorization: Bearer $TOKEN'
import json
import requests

url = "https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status"
headers = {'Authorization': 'Bearer <token>'}
response = requests.request("POST", url, headers=headers)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status', {
  method: 'POST',
  headers: {
  "Authorization": "Bearer <token>"
},
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer <token>"
    ],
]);

$response = curl_exec($curl);
echo $response;
package main

import (
  "fmt"
  "io"
  "net/http"
)

func main() {
  req, _ := http.NewRequest("POST", "https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status", nil)
  req.Header.Set("Authorization", "Bearer <token>")
  response, _ := http.DefaultClient.Do(req)
  defer response.Body.Close()
  body, _ := io.ReadAll(response.Body)
  fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status"))
    .header("Authorization", "Bearer <token>")
    .method("POST", HttpRequest.BodyPublishers.noBody())
    .build();
var response = HttpClient.newHttpClient().send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'

uri = URI('https://example.com/api/validator/v0/wallet/transfer-offers/{tracking_id}/status')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
404
{
  "status": "<string>",
  "transaction_id": "<string>",
  "contract_id": "<string>"
}
{
  "error": "<string>"
}

Authorizations

walletUserAuth

Authorization
string
required
HTTP bearer authentication. Send the token as Authorization: Bearer &lt;token&gt;. Bearer format: JWT. JWT token as described by the spliceAppBearerAuth security scheme. The subject of the token must be ledger API user of the user whose wallet the endpoint affects.

Path parameters

tracking_id
string
required

Responses

200

An offer with this tracking id is known. Check the response for its status.
application/json
value
GetTransferOfferStatusResponse
required

Show child attributes

TransferOfferCreatedResponse
TransferOfferCreatedResponse

Show child attributes

status
string
required
The status of the transfer offer. created: The offer has been created and is waiting for the receiver to accept it. contract_id points to the contract_id of the offer and transaction_id to the transaction that created it. accepted: The offer has been accepted by the receiver and is waiting for the wallet automation to complete it by delivering the offered Amulet. contract_id points to the contract id of the accepted offer and transaction_id to the transaction that accepted it completed: The transfer has been completed and the CC amount has been transferred to the receiver. contract_id points to the contract id of the created amulet for the receiver and transaction_id to the transaction of the transfer. failed: The transfer has failed permanently and no CC has been transferred. Refer to failure_reason for details. A new transfer offer can be created with a different tracking_id.
transaction_id
string
required
Id of the transaction that created the transfer offer
contract_id
string
required
Contract id of the created transfer offer
TransferOfferAcceptedResponse
TransferOfferAcceptedResponse

Show child attributes

status
string
required
The status of the transfer offer. created: The offer has been created and is waiting for the receiver to accept it. contract_id points to the contract_id of the offer and transaction_id to the transaction that created it. accepted: The offer has been accepted by the receiver and is waiting for the wallet automation to complete it by delivering the offered Amulet. contract_id points to the contract id of the accepted offer and transaction_id to the transaction that accepted it completed: The transfer has been completed and the CC amount has been transferred to the receiver. contract_id points to the contract id of the created amulet for the receiver and transaction_id to the transaction of the transfer. failed: The transfer has failed permanently and no CC has been transferred. Refer to failure_reason for details. A new transfer offer can be created with a different tracking_id.
transaction_id
string
required
Id of the transaction that accepted the transfer offer
contract_id
string
required
Contract id of the accepted transfer offer
TransferOfferCompletedResponse
TransferOfferCompletedResponse

Show child attributes

status
string
required
The status of the transfer offer. created: The offer has been created and is waiting for the receiver to accept it. contract_id points to the contract_id of the offer and transaction_id to the transaction that created it. accepted: The offer has been accepted by the receiver and is waiting for the wallet automation to complete it by delivering the offered Amulet. contract_id points to the contract id of the accepted offer and transaction_id to the transaction that accepted it completed: The transfer has been completed and the CC amount has been transferred to the receiver. contract_id points to the contract id of the created amulet for the receiver and transaction_id to the transaction of the transfer. failed: The transfer has failed permanently and no CC has been transferred. Refer to failure_reason for details. A new transfer offer can be created with a different tracking_id.
transaction_id
string
required
Id of the transaction of the transfer
contract_id
string
required
Contract id of the created amulet for the receiver
TransferOfferFailedResponse
TransferOfferFailedResponse

Show child attributes

status
string
required
The status of the transfer offer. created: The offer has been created and is waiting for the receiver to accept it. contract_id points to the contract_id of the offer and transaction_id to the transaction that created it. accepted: The offer has been accepted by the receiver and is waiting for the wallet automation to complete it by delivering the offered Amulet. contract_id points to the contract id of the accepted offer and transaction_id to the transaction that accepted it completed: The transfer has been completed and the CC amount has been transferred to the receiver. contract_id points to the contract id of the created amulet for the receiver and transaction_id to the transaction of the transfer. failed: The transfer has failed permanently and no CC has been transferred. Refer to failure_reason for details. A new transfer offer can be created with a different tracking_id.
failure_kind
string
required
The reason for the failure of the transfer offer. expired: The transfer offer or the accepted transfer offer expired before it could be completed. rejected: The receiver rejected the transfer offer or withdrew their accepted offer. withdrawn: The sender withdraw their offer, e.g., due to insufficient funds or operational reasons.Allowed values: expired, rejected, withdrawn.
withdrawn_reason
string
Human readable description of the reason for the sender withdrawing their offer.

404

No offer with this tracking id is known. Perhaps it has not yet been submitted or processed; or it has been submitted in the past before the current beginning of the wallet transaction log.
application/json
error
string
required