curl --request GET \
--url https://api.example.com/spi/v1/transfers/01960718-a213-2435-6078-901234567123 \
--header 'Authorization: Bearer demo-access-token' \
--header 'X-Account-Id: 019606a1-3b4c-7d8e-9f01-234567890abc'import requests
url = "https://api.example.com/spi/v1/transfers/{id}"
headers = {
"X-Account-Id": "<x-account-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Account-Id': '<x-account-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.example.com/spi/v1/transfers/{id}', 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.example.com/spi/v1/transfers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Account-Id: <x-account-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/spi/v1/transfers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Account-Id", "<x-account-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/spi/v1/transfers/{id}")
.header("X-Account-Id", "<x-account-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/spi/v1/transfers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Account-Id"] = '<x-account-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accountId": "019606a0-1a2b-7c3d-8e4f-567890123abc",
"aliasId": "019606a1-3b4c-7d8e-9f01-234567890abc",
"amount": "100.00",
"createdAt": "2026-05-06T10:30:00Z",
"currency": "BRL",
"description": "Pagamento de aluguel",
"destination": {
"account": {
"branch": "0001",
"number": "0007654321",
"participant": "87654321",
"type": "CACC"
},
"key": "+5511999998888",
"owner": {
"document": "12345678901",
"name": "João da Silva",
"tradeName": "Empresa Exemplo LTDA",
"type": "NATURAL_PERSON"
}
},
"endToEndId": "E12345678202605061030abcdef12345",
"feeCharge": {
"applied": true,
"calculationType": "FIXED",
"fees": [
{
"amount": "1.50",
"calculationType": "FIXED",
"calculationValue": "1.50",
"creditAccount": "019606a3-5d6e-7f80-1a2b-345678901bcd",
"feeLabel": "PIX_TRANSFER_FEE"
}
],
"netAmount": "98.50",
"totalAmount": "1.50"
},
"id": "019606a2-4c5d-7e8f-90a1-345678901bcd",
"initiatedAt": "2026-05-06T10:30:00Z",
"initiationType": "DICT",
"ledger": {
"destinationOperationId": "019606a5-7f80-7182-3c4d-56789012cdf1",
"revert": {
"destinationOperationId": "019606a5-7f80-7182-3c4d-56789012cdf1",
"sourceOperationId": "019606a5-7f80-7182-3c4d-56789012cdf0",
"transactionId": "019606a5-7f80-7182-3c4d-56789012cdef"
},
"sourceOperationId": "019606a5-7f80-7182-3c4d-56789012cdf0",
"transactionId": "019606a5-7f80-7182-3c4d-56789012cdef"
},
"metadata": {
"field": "field-example"
},
"paymentType": "PIX",
"purpose": "IACT",
"source": {
"account": {
"branch": "0001",
"number": "0007654321",
"participant": "87654321",
"type": "CACC"
},
"key": "+5511999998888",
"owner": {
"document": "12345678901",
"name": "João da Silva",
"tradeName": "Empresa Exemplo LTDA",
"type": "NATURAL_PERSON"
}
},
"status": "COMPLETED",
"type": "OUTBOUND",
"updatedAt": "2026-05-06T10:30:05Z",
"urgency": "HIGH"
}{
"code": "ERR-0001",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Get a Pix transfer by ID
Returns a single transfer scoped to the calling account.
curl --request GET \
--url https://api.example.com/spi/v1/transfers/01960718-a213-2435-6078-901234567123 \
--header 'Authorization: Bearer demo-access-token' \
--header 'X-Account-Id: 019606a1-3b4c-7d8e-9f01-234567890abc'import requests
url = "https://api.example.com/spi/v1/transfers/{id}"
headers = {
"X-Account-Id": "<x-account-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Account-Id': '<x-account-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.example.com/spi/v1/transfers/{id}', 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.example.com/spi/v1/transfers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Account-Id: <x-account-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/spi/v1/transfers/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Account-Id", "<x-account-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/spi/v1/transfers/{id}")
.header("X-Account-Id", "<x-account-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/spi/v1/transfers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Account-Id"] = '<x-account-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accountId": "019606a0-1a2b-7c3d-8e4f-567890123abc",
"aliasId": "019606a1-3b4c-7d8e-9f01-234567890abc",
"amount": "100.00",
"createdAt": "2026-05-06T10:30:00Z",
"currency": "BRL",
"description": "Pagamento de aluguel",
"destination": {
"account": {
"branch": "0001",
"number": "0007654321",
"participant": "87654321",
"type": "CACC"
},
"key": "+5511999998888",
"owner": {
"document": "12345678901",
"name": "João da Silva",
"tradeName": "Empresa Exemplo LTDA",
"type": "NATURAL_PERSON"
}
},
"endToEndId": "E12345678202605061030abcdef12345",
"feeCharge": {
"applied": true,
"calculationType": "FIXED",
"fees": [
{
"amount": "1.50",
"calculationType": "FIXED",
"calculationValue": "1.50",
"creditAccount": "019606a3-5d6e-7f80-1a2b-345678901bcd",
"feeLabel": "PIX_TRANSFER_FEE"
}
],
"netAmount": "98.50",
"totalAmount": "1.50"
},
"id": "019606a2-4c5d-7e8f-90a1-345678901bcd",
"initiatedAt": "2026-05-06T10:30:00Z",
"initiationType": "DICT",
"ledger": {
"destinationOperationId": "019606a5-7f80-7182-3c4d-56789012cdf1",
"revert": {
"destinationOperationId": "019606a5-7f80-7182-3c4d-56789012cdf1",
"sourceOperationId": "019606a5-7f80-7182-3c4d-56789012cdf0",
"transactionId": "019606a5-7f80-7182-3c4d-56789012cdef"
},
"sourceOperationId": "019606a5-7f80-7182-3c4d-56789012cdf0",
"transactionId": "019606a5-7f80-7182-3c4d-56789012cdef"
},
"metadata": {
"field": "field-example"
},
"paymentType": "PIX",
"purpose": "IACT",
"source": {
"account": {
"branch": "0001",
"number": "0007654321",
"participant": "87654321",
"type": "CACC"
},
"key": "+5511999998888",
"owner": {
"document": "12345678901",
"name": "João da Silva",
"tradeName": "Empresa Exemplo LTDA",
"type": "NATURAL_PERSON"
}
},
"status": "COMPLETED",
"type": "OUTBOUND",
"updatedAt": "2026-05-06T10:30:05Z",
"urgency": "HIGH"
}{
"code": "ERR-0001",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Authorizations
JWT bearer token issued by the identity provider.
Headers
UUID of the account associated with the operation.
"019606a1-3b4c-7d8e-9f01-234567890abc"
Path Parameters
Transfer UUID
"0196070b-1234-7890-abcd-ef0123456789"
Response
OK
"100.00"
"2026-05-06T10:30:00Z"
"E12345678202605061030abcdef12345"
"019606a2-4c5d-7e8f-90a1-345678901bcd"
"COMPLETED"
"OUTBOUND"
"2026-05-06T10:30:05Z"
"019606a0-1a2b-7c3d-8e4f-567890123abc"
Cross-mechanism settled and reserved refund amount. Returned only for INBOUND transfers.
"60.00"
"BRL"
"Pagamento de aluguel"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"2026-05-06T10:30:00Z"
"DICT"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"PIX"
"IACT"
Amount minus alreadyRefundedAmount. Returned only for INBOUND transfers and can be negative.
"40.00"
Show child attributes
Show child attributes
"HIGH"
Was this page helpful?

