curl --request GET \
--url https://api.cakto.com.br/public_api/withdrawals/{id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/withdrawals/{id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/withdrawals/{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.cakto.com.br/public_api/withdrawals/{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>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/withdrawals/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/withdrawals/{id}/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/withdrawals/{id}/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "184620",
"amount": "150.00",
"fee": "3.67",
"amountReceived": "146.33",
"currency": "BRL",
"status": "pending",
"reason": null,
"createdAt": "2026-09-17T14:32:10.512340-03:00",
"paidAt": null
}Consultar Saque
Estado de um saque solicitado: em análise, pago ou recusado.
curl --request GET \
--url https://api.cakto.com.br/public_api/withdrawals/{id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/withdrawals/{id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/withdrawals/{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.cakto.com.br/public_api/withdrawals/{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>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/withdrawals/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/withdrawals/{id}/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/withdrawals/{id}/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "184620",
"amount": "150.00",
"fee": "3.67",
"amountReceived": "146.33",
"currency": "BRL",
"status": "pending",
"reason": null,
"createdAt": "2026-09-17T14:32:10.512340-03:00",
"paidAt": null
}Escopo
read withdrawals_read
O ciclo de um saque
status | O que significa |
|---|---|
pending | em análise. Todo saque pedido pela API nasce aqui |
approved | dinheiro enviado. paidAt traz quando |
rejected | recusado. O valor volta ao saldo, e reason diz por quê |
blocked | retido. Fale com o suporte |
rejected não é perda: o valor retorna ao available e o pedido pode ser refeito depois de
resolver o que reason aponta — chave Pix ausente ou divergente, por exemplo.
id de outra conta responde 404, nunca
403: responder 403 confirmaria que aquele saque existe.Exemplo
import requests
resposta = requests.get(
"https://api.cakto.com.br/public_api/withdrawals/184620/",
headers={"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsIn..."},
timeout=30,
)
resposta.raise_for_status()
saque = resposta.json()
if saque["status"] == "rejected":
print(f"Recusado: {saque['reason']}")
elif saque["status"] == "approved":
print(f"Pago em {saque['paidAt']}: R$ {saque['amountReceived']}")
else:
print("Em análise.")
const resposta = await fetch(
"https://api.cakto.com.br/public_api/withdrawals/184620/",
{ headers: { Authorization: "Bearer eyJhbGciOiJIUzI1NiIsIn..." } },
);
if (resposta.status === 404) throw new Error("Saque não encontrado.");
if (!resposta.ok) throw new Error(`Cakto API error ${resposta.status}`);
const saque = await resposta.json();
console.log(saque.status, saque.reason ?? "");
Boas práticas
- Consulte com intervalo, não em laço apertado. A análise é humana; o estado não muda em segundos.
- Trate
reasoncomo texto para pessoa, não como regra. Ele é escrito para o produtor ler e pode mudar de redação; decida pelostatus.
Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Path Parameters
Identificador do saque, como devolvido na solicitação.
Response
Saque recusado: o valor volta ao saldo e reason diz por quê.
Identificador do saque.
Valor solicitado, como string decimal.
"2.49"
Taxa de saque cobrada.
"2.49"
amount menos fee: o que efetivamente cai na conta de destino.
"2.49"
Moeda do saque.
Estado do pedido. Saque solicitado pela API nasce pending: entra na fila de análise em vez de sair automático. approved é o dinheiro já enviado; rejected devolve o valor ao saldo, com o motivo em reason; blocked exige contato com o suporte.
pending- pendingapproved- approvedrejected- rejectedblocked- blocked
pending, approved, rejected, blocked Motivo da recusa, quando houver — o mesmo texto que o produtor vê no painel. null enquanto o pedido não foi recusado.
Quando o saque foi solicitado.
Quando o dinheiro foi enviado. null enquanto o saque não foi pago.
Was this page helpful?