List suppliers
curl --request GET \
--url https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliersimport requests
url = "https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers', 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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers"
req, _ := http.NewRequest("GET", url, nil)
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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "5f0c7d2a-91b4-4e6f-8a13-c2d4e6f80b17",
"realm": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organization": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"name": "Transportadora Boa Viagem Ltda",
"document": "11222333000181",
"documentType": "CNPJ",
"email": "financeiro@boaviagem.example.com",
"phoneNumber": "+5534984325252",
"status": "ACTIVE",
"tradingName": "Boa Viagem Transportes",
"address": {
"street": "Rua das Flores",
"number": "100",
"neighborhood": "Centro",
"city": "Uberlândia",
"state": "MG",
"postalCode": "38400-000",
"complement": "Sala 2"
},
"pixKey": "financeiro@boaviagem.example.com",
"pixKeyType": "EMAIL",
"createdBy": "e3553bc1-5e20-4e17-b22a-a796fda0aa99",
"createdAt": "2026-10-02T14:03:11.000Z",
"updatedAt": "2026-10-05T09:30:00.000Z"
}
],
"next": "NjcxMWI0YzBkOGUxYTMwMDEyYjdjOWYy"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "FORBIDDEN_SUPPLIER",
"origin": "REGISTRY",
"message": "You do not have permission to perform this action on supplier"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "REGISTRY",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "name",
"message": "Too big: expected string to have <=50 characters",
"code": "NAME_MAX"
}
]
}List suppliers
Lists the organization’s suppliers, newest first.
GET
/
realms
/
{realmId}
/
organizations
/
{organizationId}
/
suppliers
List suppliers
curl --request GET \
--url https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliersimport requests
url = "https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers', 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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers"
req, _ := http.NewRequest("GET", url, nil)
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.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.registry.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/suppliers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "5f0c7d2a-91b4-4e6f-8a13-c2d4e6f80b17",
"realm": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organization": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"name": "Transportadora Boa Viagem Ltda",
"document": "11222333000181",
"documentType": "CNPJ",
"email": "financeiro@boaviagem.example.com",
"phoneNumber": "+5534984325252",
"status": "ACTIVE",
"tradingName": "Boa Viagem Transportes",
"address": {
"street": "Rua das Flores",
"number": "100",
"neighborhood": "Centro",
"city": "Uberlândia",
"state": "MG",
"postalCode": "38400-000",
"complement": "Sala 2"
},
"pixKey": "financeiro@boaviagem.example.com",
"pixKeyType": "EMAIL",
"createdBy": "e3553bc1-5e20-4e17-b22a-a796fda0aa99",
"createdAt": "2026-10-02T14:03:11.000Z",
"updatedAt": "2026-10-05T09:30:00.000Z"
}
],
"next": "NjcxMWI0YzBkOGUxYTMwMDEyYjdjOWYy"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "FORBIDDEN_SUPPLIER",
"origin": "REGISTRY",
"message": "You do not have permission to perform this action on supplier"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "REGISTRY",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "name",
"message": "Too big: expected string to have <=50 characters",
"code": "NAME_MAX"
}
]
}Only organization admins can list suppliers. Narrow the list with
name, document and status, sort it with orderBy and order, and page through it with limit (25 by default) and next: each page answers the cursor of the following one as next, which is null on the last page.
name matches the suppliers whose name or trade name contains the text, ignoring case, and document those whose document contains the characters. status is an exact match.Path Parameters
ID of your realm.
Format: UUID
ID of the organization whose suppliers you want to list.
Format: UUID
Query Parameters
Only suppliers whose name or trade name contains this text (case-insensitive).
Required string length:
1 - 50Only suppliers whose document contains these letters and digits (case-insensitive). Send it with no dots, slashes or hyphens.
Pattern:
^[A-Za-z0-9]+$Only suppliers in this status.
Available options:
ACTIVE, DEACTIVATED Page size. Defaults to 25.
Cursor returned as next by the previous page. Omit it for the first page.
Sort direction. Defaults to DESC: newest first when sorting by createdAt.
Available options:
ASC, DESC Field to sort by. Defaults to createdAt.
Available options:
createdAt, updatedAt, name, tradingName, document