curl --request PATCH \
--url https://api-sandbox.rinne.com.br/core/v1/affiliations/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"anticipation_type": "SPOT",
"anticipation_days": 30
}
'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}"
payload = {
"anticipation_type": "SPOT",
"anticipation_days": 30
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({anticipation_type: 'SPOT', anticipation_days: 30})
};
fetch('https://api-sandbox.rinne.com.br/core/v1/affiliations/{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.rinne.com.br/core/v1/affiliations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'anticipation_type' => 'SPOT',
'anticipation_days' => 30
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.rinne.com.br/core/v1/affiliations/{id}"
payload := strings.NewReader("{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.patch("https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174002",
"provider": "CELCOIN",
"merchant_id": "12345678",
"status": "ACTIVE",
"enabled": true,
"company_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"allowed_capture_methods": [
"ECOMMERCE"
],
"allowed_payment_methods": [
"PIX"
],
"organization_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"gateway_mode": false,
"onboarding_documents": [
{
"id": "c5fdf2e4-1b9b-6108-aece-69991d5h4905",
"file_type": "CNH_FRONT",
"file_name": "CNH_FRONT_a1b2c3d4.pdf",
"created_at": "2023-06-15T14:30:00.000Z",
"content_type": "application/pdf",
"file_size_bytes": 125430
}
],
"created_at": "2023-01-01T12:00:00.000Z",
"updated_at": "2023-01-01T12:00:00.000Z",
"provider_id": "prov_123456",
"soft_descriptor": "MYSTORE",
"mcc": "5411",
"cost_policy_id": "123e4567-e89b-12d3-a456-426614174003",
"provider_status_code": "200",
"provider_status_message": "Merchant activated successfully",
"provider_metadata": {},
"onboarding_url": "https://provider.com/onboard/12345",
"bank_account": {
"id": "a2da4238-bdc2-47f9-b866-246cc87212d5",
"bank_code": "001",
"branch_number": "1234",
"account_number": "567890",
"account_holder_name": "John Doe",
"account_holder_document_number": "81146431023",
"ispb": "00000000",
"operational_status": "REGULAR",
"operational_status_occurred_at": "2025-06-26T17:07:31.495Z",
"created_at": "2025-06-26T17:07:31.495Z",
"updated_at": "2025-06-26T17:07:31.495Z"
},
"settlement_bank_accounts": [
{
"id": "b3eb5349-cec3-48fa-c977-357dd98323e6",
"branch_number": "1234",
"account_number": "567890",
"account_type": "CHECKING",
"account_holder_name": "John Doe",
"account_holder_document_number": "81146431023",
"ispb": "00000000",
"status": "ACTIVE",
"created_at": "2023-01-01T00:00:00Z",
"updated_at": "2023-01-01T00:00:00Z"
}
],
"anticipation_type": "AUTOMATIC",
"anticipation_days": 1,
"company_snapshot": {}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation error",
"status": 400,
"details": {
"issues": [
{
"field": "email",
"type": "REQUIRED",
"message": "Field 'email' is required",
"value": "invalid_value",
"constraints": {
"min": 18,
"max": 120
}
}
]
},
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Authentication required to access this resource",
"status": 401,
"details": {
"reason": "Invalid API key"
},
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHORIZATION_ERROR",
"message": "You need 'admin' permissions to access this resource",
"status": 403,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Company with ID '123' not found",
"status": 404,
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"status": 500,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}Update affiliation anticipation configuration
Requires the affiliation.edit permission.
Synchronously updates an affiliation’s anticipation configuration. The change is propagated to the underlying payment provider; if the provider doesn’t support this operation, returns a 400.
The affiliation must be ACTIVE and enabled.
curl --request PATCH \
--url https://api-sandbox.rinne.com.br/core/v1/affiliations/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"anticipation_type": "SPOT",
"anticipation_days": 30
}
'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}"
payload = {
"anticipation_type": "SPOT",
"anticipation_days": 30
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({anticipation_type: 'SPOT', anticipation_days: 30})
};
fetch('https://api-sandbox.rinne.com.br/core/v1/affiliations/{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.rinne.com.br/core/v1/affiliations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'anticipation_type' => 'SPOT',
'anticipation_days' => 30
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.rinne.com.br/core/v1/affiliations/{id}"
payload := strings.NewReader("{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.patch("https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/affiliations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"anticipation_type\": \"SPOT\",\n \"anticipation_days\": 30\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174002",
"provider": "CELCOIN",
"merchant_id": "12345678",
"status": "ACTIVE",
"enabled": true,
"company_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"allowed_capture_methods": [
"ECOMMERCE"
],
"allowed_payment_methods": [
"PIX"
],
"organization_id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"gateway_mode": false,
"onboarding_documents": [
{
"id": "c5fdf2e4-1b9b-6108-aece-69991d5h4905",
"file_type": "CNH_FRONT",
"file_name": "CNH_FRONT_a1b2c3d4.pdf",
"created_at": "2023-06-15T14:30:00.000Z",
"content_type": "application/pdf",
"file_size_bytes": 125430
}
],
"created_at": "2023-01-01T12:00:00.000Z",
"updated_at": "2023-01-01T12:00:00.000Z",
"provider_id": "prov_123456",
"soft_descriptor": "MYSTORE",
"mcc": "5411",
"cost_policy_id": "123e4567-e89b-12d3-a456-426614174003",
"provider_status_code": "200",
"provider_status_message": "Merchant activated successfully",
"provider_metadata": {},
"onboarding_url": "https://provider.com/onboard/12345",
"bank_account": {
"id": "a2da4238-bdc2-47f9-b866-246cc87212d5",
"bank_code": "001",
"branch_number": "1234",
"account_number": "567890",
"account_holder_name": "John Doe",
"account_holder_document_number": "81146431023",
"ispb": "00000000",
"operational_status": "REGULAR",
"operational_status_occurred_at": "2025-06-26T17:07:31.495Z",
"created_at": "2025-06-26T17:07:31.495Z",
"updated_at": "2025-06-26T17:07:31.495Z"
},
"settlement_bank_accounts": [
{
"id": "b3eb5349-cec3-48fa-c977-357dd98323e6",
"branch_number": "1234",
"account_number": "567890",
"account_type": "CHECKING",
"account_holder_name": "John Doe",
"account_holder_document_number": "81146431023",
"ispb": "00000000",
"status": "ACTIVE",
"created_at": "2023-01-01T00:00:00Z",
"updated_at": "2023-01-01T00:00:00Z"
}
],
"anticipation_type": "AUTOMATIC",
"anticipation_days": 1,
"company_snapshot": {}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation error",
"status": 400,
"details": {
"issues": [
{
"field": "email",
"type": "REQUIRED",
"message": "Field 'email' is required",
"value": "invalid_value",
"constraints": {
"min": 18,
"max": 120
}
}
]
},
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHENTICATION_ERROR",
"message": "Authentication required to access this resource",
"status": 401,
"details": {
"reason": "Invalid API key"
},
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "AUTHORIZATION_ERROR",
"message": "You need 'admin' permissions to access this resource",
"status": 403,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Company with ID '123' not found",
"status": 404,
"path": "/companies/me",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"status": 500,
"path": "/companies",
"timestamp": "2023-12-01T10:00:00.000Z",
"requestId": "req_123456789"
}
}Authorizations
Company API key for authentication
Path Parameters
The affiliation ID
Body
Update the anticipation configuration of an affiliation. At least
one of anticipation_type or anticipation_days must be provided.
The resulting (anticipation_type, anticipation_days) pair must be one enabled for
the affiliation; for SPOT the days are local metadata and any value >= 1 is accepted.
A pair that is not enabled answers 400 UNSUPPORTED_ERROR; contact support to enable it.
Response
Affiliation updated successfully
Transformed affiliation data returned by the API
"123e4567-e89b-12d3-a456-426614174002"
Payment provider name
CELCOIN, RINNE, CAPPTA "CELCOIN"
Merchant ID in provider
"12345678"
Current affiliation status
PENDING, ACTIVE, PROCESSING, BLOCKED, PENDING_APPROVAL, WAITING_DOCUMENTS, PROCESSING_DOCUMENTS, REJECTED, FAILED, INVALID_SETTLEMENT_BANK_ACCOUNT, CLOSED "ACTIVE"
Whether the affiliation is enabled
true
Associated company ID
"a3dbd0c2-9f79-4f86-8caa-47779b3f2793"
Allowed capture methods
EMV, MAGSTRIPE, ECOMMERCE, CONTACTLESS_ICC ["ECOMMERCE"]
Allowed payment methods
CREDIT_CARD, DEBIT_CARD, PIX, BOLEPIX ["PIX"]
Associated organization ID
"a3dbd0c2-9f79-4f86-8caa-47779b3f2793"
Whether this is a gateway-mode affiliation (Rinne acts as a pure capture gateway; no settlement, splits, or ledger entries)
false
List of onboarding documents associated with this affiliation
Show child attributes
Show child attributes
Creation timestamp in ISO 8601 format
"2023-01-01T12:00:00.000Z"
Last update timestamp in ISO 8601 format
"2023-01-01T12:00:00.000Z"
ID in provider system
"prov_123456"
Soft descriptor for transactions
"MYSTORE"
Merchant Category Code
"5411"
Associated cost policy ID
"123e4567-e89b-12d3-a456-426614174003"
Provider-specific status code
"200"
Provider-specific status message
"Merchant activated successfully"
Provider-specific metadata
{}
Onboarding URL (only shown when status is not ACTIVE)
"https://provider.com/onboard/12345"
Associated bank account information (created by provider)
Show child attributes
Show child attributes
Settlement bank accounts for this affiliation.
Show child attributes
Show child attributes
Anticipation type for the affiliation
AUTOMATIC, SPOT "AUTOMATIC"
Number of days for anticipation
x >= 11
Point-in-time snapshot of company data (with contact) at affiliation creation. Only included when include_company_snapshot=true query parameter is set.

