curl --request PUT \
--url https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'Trio-Version: <trio-version>' \
--data '
{
"amount": 10000
}
'import requests
url = "https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}"
payload = { "amount": 10000 }
headers = {
"Trio-Version": "<trio-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Trio-Version': '<trio-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: 10000})
};
fetch('https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{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.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}",
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([
'amount' => 10000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"Trio-Version: <trio-version>"
],
]);
$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.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}"
payload := strings.NewReader("{\n \"amount\": 10000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Trio-Version", "<trio-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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.put("https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}")
.header("Trio-Version", "<trio-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 10000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Trio-Version"] = '<trio-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 10000\n}"
response = http.request(request)
puts response.read_body{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}Update Collection
Update collection Amount by ID
curl --request PUT \
--url https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'Trio-Version: <trio-version>' \
--data '
{
"amount": 10000
}
'import requests
url = "https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}"
payload = { "amount": 10000 }
headers = {
"Trio-Version": "<trio-version>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'Trio-Version': '<trio-version>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: 10000})
};
fetch('https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{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.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}",
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([
'amount' => 10000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"Trio-Version: <trio-version>"
],
]);
$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.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}"
payload := strings.NewReader("{\n \"amount\": 10000\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Trio-Version", "<trio-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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.put("https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}")
.header("Trio-Version", "<trio-version>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 10000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.trio.com.br/v2/in/pix/recurrences/collections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Trio-Version"] = '<trio-version>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 10000\n}"
response = http.request(request)
puts response.read_body{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Headers
Version of the v2 contract the client is written against. Each breaking change publishes a new version.
2026-10-19.v2 ID of another org to act on instead of the API key's own org. The key's org must have been granted access to it, and the request is refused with 403 FORBIDDEN otherwise. When that access or the API key is read-only, only GET and HEAD requests may carry it. When the target org requires mTLS, so does the request. Leave it out to act on the key's own org.
Path Parameters
Collection ID Unique identifier
Body
The update attributes
Body params to update the amount of a collection
Updated amount in cents
x >= 1Response
No Content

