curl --request GET \
--url https://api-sandbox.rinne.com.br/core/v1/merchants \
--header 'x-api-key: <api-key>'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/merchants"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api-sandbox.rinne.com.br/core/v1/merchants', 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/merchants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.rinne.com.br/core/v1/merchants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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-sandbox.rinne.com.br/core/v1/merchants")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/merchants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"name": "Example Company",
"full_name": "Example Company LTDA",
"document_number": "16525269000121",
"document_type": "CNPJ",
"contact": {
"first_name": "John",
"last_name": "Silva",
"phone": "+551199999999",
"email": "[email protected]",
"mother_name": "Maria Silva",
"birth_date": "15-08-1990",
"document_number": "81146431023",
"politically_exposed": false,
"declared_income": 5000,
"occupation": "SOFTWARE_DEVELOPER",
"net_worth": 50000,
"role": "PARTNER",
"address": {
"street": "Contact Street",
"street_number": "456",
"complement": "Apt 201",
"neighborhood": "Contact Neighborhood",
"zipcode": "87654321",
"country": "076",
"state": "RJ",
"city": "Rio de Janeiro"
}
},
"status": "ACTIVE",
"address": {
"street": "Example Street",
"street_number": "123",
"complement": "Suite 101",
"neighborhood": "Downtown",
"zipcode": "12345678",
"country": "076",
"state": "SP",
"city": "São Paulo"
},
"transfer_configurations": {
"automatic_transfer_enabled": true,
"transfer_frequency": "DAILY",
"rail": "PIX",
"utc_hour_of_day": 12,
"day_of_week": 1,
"day_of_month": 1,
"min_balance": 1000
},
"created_at": "2023-01-01T00:00:00Z",
"updated_at": "2023-01-01T00:00:00Z",
"document_tax_type": "PJ",
"company_logo_url": "https://example.com/logo.png",
"website_url": "https://example.com",
"webhook_enabled": false,
"kyc_enabled": false,
"declared_revenue": 50000
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 50,
"totalPages": 3,
"hasNext": true,
"hasPrev": false
}
}{
"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"
}
}List merchants
Requires the merchant.company.list permission.
Returns a paginated list of merchants belonging to the authenticated organization with optional filters
curl --request GET \
--url https://api-sandbox.rinne.com.br/core/v1/merchants \
--header 'x-api-key: <api-key>'import requests
url = "https://api-sandbox.rinne.com.br/core/v1/merchants"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api-sandbox.rinne.com.br/core/v1/merchants', 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/merchants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.rinne.com.br/core/v1/merchants"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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-sandbox.rinne.com.br/core/v1/merchants")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.rinne.com.br/core/v1/merchants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "a3dbd0c2-9f79-4f86-8caa-47779b3f2793",
"name": "Example Company",
"full_name": "Example Company LTDA",
"document_number": "16525269000121",
"document_type": "CNPJ",
"contact": {
"first_name": "John",
"last_name": "Silva",
"phone": "+551199999999",
"email": "[email protected]",
"mother_name": "Maria Silva",
"birth_date": "15-08-1990",
"document_number": "81146431023",
"politically_exposed": false,
"declared_income": 5000,
"occupation": "SOFTWARE_DEVELOPER",
"net_worth": 50000,
"role": "PARTNER",
"address": {
"street": "Contact Street",
"street_number": "456",
"complement": "Apt 201",
"neighborhood": "Contact Neighborhood",
"zipcode": "87654321",
"country": "076",
"state": "RJ",
"city": "Rio de Janeiro"
}
},
"status": "ACTIVE",
"address": {
"street": "Example Street",
"street_number": "123",
"complement": "Suite 101",
"neighborhood": "Downtown",
"zipcode": "12345678",
"country": "076",
"state": "SP",
"city": "São Paulo"
},
"transfer_configurations": {
"automatic_transfer_enabled": true,
"transfer_frequency": "DAILY",
"rail": "PIX",
"utc_hour_of_day": 12,
"day_of_week": 1,
"day_of_month": 1,
"min_balance": 1000
},
"created_at": "2023-01-01T00:00:00Z",
"updated_at": "2023-01-01T00:00:00Z",
"document_tax_type": "PJ",
"company_logo_url": "https://example.com/logo.png",
"website_url": "https://example.com",
"webhook_enabled": false,
"kyc_enabled": false,
"declared_revenue": 50000
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 50,
"totalPages": 3,
"hasNext": true,
"hasPrev": false
}
}{
"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
Query Parameters
Page number for pagination
x >= 1Number of merchants per page
1 <= x <= 100Comma-separated list of statuses to filter by (e.g., inactive,blocked)
pending_activation, active, inactive, blocked Filter merchants created from this date (ISO 8601 format)
Filter merchants created up to this date (ISO 8601 format)
Filter by document type
cpf, cnpj Filter by document number (exact match)
Filter by merchant name (partial start match, case insensitive)
Filter by merchant full name (partial start match, case insensitive)
true returns only merchants with at least one active affiliation (status ACTIVE and enabled);
false returns only merchants without one. Omit to ignore affiliations.
Sort order (prefix with - for descending). Multiple fields separated by comma
created_at, name, full_name, -created_at, -name, -full_name 
