curl --request POST \
--url https://api.example.com/api/v1/ops/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 50000
}
'import requests
url = "https://api.example.com/api/v1/ops/transfers"
payload = { "amount": 50000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 50000})
};
fetch('https://api.example.com/api/v1/ops/transfers', 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/api/v1/ops/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 50000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.example.com/api/v1/ops/transfers"
payload := strings.NewReader("{\n \"amount\": 50000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/ops/transfers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 50000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/ops/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 50000\n}"
response = http.request(request)
puts response.read_body{
"transferId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
},
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
}
},
"externalProvider": "mock",
"externalProviderId": "tr_a1b2c3d4",
"amount": 50000,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdBy": null,
"updatedBy": null,
"transferredAt": "2026-01-01T00:00:00.000Z"
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Insufficient permissions",
"statusCode": 403
}{
"message": "Internal Server Error",
"statusCode": 500
}Create Transfer
Creates a transfer.
curl --request POST \
--url https://api.example.com/api/v1/ops/transfers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 50000
}
'import requests
url = "https://api.example.com/api/v1/ops/transfers"
payload = { "amount": 50000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 50000})
};
fetch('https://api.example.com/api/v1/ops/transfers', 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/api/v1/ops/transfers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 50000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.example.com/api/v1/ops/transfers"
payload := strings.NewReader("{\n \"amount\": 50000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/ops/transfers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 50000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/ops/transfers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 50000\n}"
response = http.request(request)
puts response.read_body{
"transferId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
},
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b",
"cooperative": {
"cooperativeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"organization": {
"document": "45.723.174/0001-10",
"documentType": "CNPJ",
"name": "Cooperativa Metropolitana",
"organizationId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a",
"type": "COOPERATIVE",
"email": "contato@estrela.com",
"legalName": "Cooperativa Metropolitana de Transporte Ltda.",
"logo": "organizations/0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a/logo/0195e7b2-4a3c-7d3e-9f4a-2c6b8d0e1f3b.png",
"tradeName": "Metropolitana"
}
},
"externalProvider": "mock",
"externalProviderId": "tr_a1b2c3d4",
"amount": 50000,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdBy": null,
"updatedBy": null,
"transferredAt": "2026-01-01T00:00:00.000Z"
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Insufficient permissions",
"statusCode": 403
}{
"message": "Internal Server Error",
"statusCode": 500
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.
Body
Transfer amount in cents
50000
Response
Created
Transfer
Transfer identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a"
Organization identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b"
Organization
Show child attributes
Show child attributes
Cooperative identifier
"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b"
Cooperative
Show child attributes
Show child attributes
External provider name
"mock"
External provider transfer identifier
"tr_a1b2c3d4"
Transfer amount in cents
50000
Transfer status
CANCELED, FAILED, PAID, PENDING, PROCESSING "PENDING"
Created at
"2026-01-01T00:00:00.000Z"
Updated at
"2026-01-01T00:00:00.000Z"
Created by
null
Updated by
null
Transferred at
"2026-01-01T00:00:00.000Z"