curl --request GET 'https://gyra-core.gyramais.com.br/v1/registry' \
--header 'Authorization: Bearer <token>'const resposta = await fetch("https://gyra-core.gyramais.com.br/v1/registry", {
method: "GET",
headers: { Authorization: `Bearer ${token}` },
});
const dados = await resposta.json();
import requests
resposta = requests.get(
"https://gyra-core.gyramais.com.br/v1/registry",
headers={"Authorization": f"Bearer {token}"},
)
dados = resposta.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gyra-core.gyramais.com.br/v1/registry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://gyra-core.gyramais.com.br/v1/registry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gyra-core.gyramais.com.br/v1/registry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gyra-core.gyramais.com.br/v1/registry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "6612a7f30000000000000001",
"document": "11444777000161",
"entityType": "COMPANY",
"name": "AURORA COMPONENTES INDUSTRIAIS LTDA",
"tradeName": "AURORA",
"legalNature": "Sociedade Empresária Limitada",
"kycStatus": "ATTENTION",
"kycRenewalDue": "2027-03-31T00:00:00.000Z",
"completeness": 0.66,
"documentsCount": 4,
"pendingCount": 1,
"reportId": null,
"basicDataSyncedAt": "2026-09-05T12:58:10.000Z",
"crossDocument": null,
"createdAt": "2026-09-05T12:58:10.000Z",
"updatedAt": "2026-09-05T13:07:44.000Z"
}
],
"total": 1
}{
"code": 400,
"message": "each value in kycStatus must be one of the following values: PENDING, PROCESSING, UP_TO_DATE, ATTENTION, EXPIRED, RENEWING"
}{
"code": 401,
"message": "Token de acesso inválido."
}{
"code": 403,
"message": "Você não tem permissão para acessar este recurso."
}{
"code": 404,
"message": "Recurso não encontrado."
}{
"code": 500,
"message": "Internal server error"
}Listar Cadastros
Para varrer a carteira por situação: quem está com pendência, quem venceu, quem está em renovação.
curl --request GET 'https://gyra-core.gyramais.com.br/v1/registry' \
--header 'Authorization: Bearer <token>'const resposta = await fetch("https://gyra-core.gyramais.com.br/v1/registry", {
method: "GET",
headers: { Authorization: `Bearer ${token}` },
});
const dados = await resposta.json();
import requests
resposta = requests.get(
"https://gyra-core.gyramais.com.br/v1/registry",
headers={"Authorization": f"Bearer {token}"},
)
dados = resposta.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gyra-core.gyramais.com.br/v1/registry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://gyra-core.gyramais.com.br/v1/registry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gyra-core.gyramais.com.br/v1/registry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gyra-core.gyramais.com.br/v1/registry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "6612a7f30000000000000001",
"document": "11444777000161",
"entityType": "COMPANY",
"name": "AURORA COMPONENTES INDUSTRIAIS LTDA",
"tradeName": "AURORA",
"legalNature": "Sociedade Empresária Limitada",
"kycStatus": "ATTENTION",
"kycRenewalDue": "2027-03-31T00:00:00.000Z",
"completeness": 0.66,
"documentsCount": 4,
"pendingCount": 1,
"reportId": null,
"basicDataSyncedAt": "2026-09-05T12:58:10.000Z",
"crossDocument": null,
"createdAt": "2026-09-05T12:58:10.000Z",
"updatedAt": "2026-09-05T13:07:44.000Z"
}
],
"total": 1
}{
"code": 400,
"message": "each value in kycStatus must be one of the following values: PENDING, PROCESSING, UP_TO_DATE, ATTENTION, EXPIRED, RENEWING"
}{
"code": 401,
"message": "Token de acesso inválido."
}{
"code": 403,
"message": "Você não tem permissão para acessar este recurso."
}{
"code": 404,
"message": "Recurso não encontrado."
}{
"code": 500,
"message": "Internal server error"
}Quando usar
Para varrer a carteira por situação: quem está com pendência, quem venceu, quem está em renovação. Filtre porkycStatus (repita o parâmetro para mais de uma situação), por entityType ou com search, que casa razão social, nome fantasia ou parte do CNPJ/CPF. A página tem 20 cadastros por padrão e até 50 com take.
kycStatus fora da lista responde 400. O reportId hoje vem sempre null.Authorizations
Enter JWT token
Query Parameters
Casa por razao social, nome fantasia ou parte do CNPJ/CPF (mascara e ignorada).
COMPANY (pessoa juridica) ou PERSON (pessoa fisica).
COMPANY, PERSON Uma ou mais situacoes. Repita o parametro para varias.
PENDING, PROCESSING, UP_TO_DATE, ATTENTION, EXPIRED, RENEWING Quantos pular. Padrao 0.
x >= 0Tamanho da pagina. Padrao 20, maximo 50.
1 <= x <= 50Response
Pagina de cadastros com situacao e completude.
Hide child attributes
Hide child attributes
CNPJ (14) ou CPF (11), so digitos.
COMPANY, PERSON Razao social ou nome.
PENDING, PROCESSING, UP_TO_DATE, ATTENTION, EXPIRED, RENEWING Quando a renovacao vence.
0 a 1.
A cesta de completude aberta. So no detalhe: na listagem seria N+1.
Hide child attributes
Hide child attributes
Primeiro tipo do grupo, usado como rotulo da exigencia.
Tipos equivalentes que preenchem a mesma exigencia.
CONTRATO_SOCIAL, ALTERACAO_CONTRATUAL, ESTATUTO_SOCIAL, REQUERIMENTO_EMPRESARIO, ATA_ASSEMBLEIA, PROCURACAO_PJ, CERTIDAO_JUNTA, CERTIDAO_QSA, IRPJ_ECF, DECLARACAO_FATURAMENTO, CERTIFICADO_SIMPLES_NACIONAL, DEMONSTRACOES_FINANCEIRAS, EXTRATO_BANCARIO, CERTIDAO_PGFN_PJ, CERTIDAO_FGTS, CADIN_FEDERAL, CADIN_ESTADUAL, ESOCIAL_PJ, DOC_IDENTIDADE, COMPROVANTE_RESIDENCIA, DIRPF, COMPROVANTE_RENDA, CERTIDAO_PF, PROCURACAO_PF, COMPROVACAO_ESTADO_CIVIL, FORA_DE_ESCOPO, NAO_IDENTIFICADO Qual documento cobre a exigencia.
Quem pode assinar pela empresa, ja achatado (sem a tripla value/confidence/page). null quando o cadastro nao tem documento societario validado com clausula de administracao legivel. So vem no DETALHE do cadastro.
Hide child attributes
Hide child attributes
ISOLADA, CONJUNTA, MISTA, INDETERMINADO, null Quantas assinaturas a regra geral exige.
true quando ao menos um administrador assina sozinho.
Hide child attributes
Hide child attributes
CPF em digitos. null quando o documento societario nao o repete, o que e comum.
YYYY-MM-DD.
De qual documento a leitura saiu.
Hide child attributes
Hide child attributes
CONTRATO_SOCIAL, ALTERACAO_CONTRATUAL, ESTATUTO_SOCIAL, REQUERIMENTO_EMPRESARIO, ATA_ASSEMBLEIA, PROCURACAO_PJ, CERTIDAO_JUNTA, CERTIDAO_QSA, IRPJ_ECF, DECLARACAO_FATURAMENTO, CERTIFICADO_SIMPLES_NACIONAL, DEMONSTRACOES_FINANCEIRAS, EXTRATO_BANCARIO, CERTIDAO_PGFN_PJ, CERTIDAO_FGTS, CADIN_FEDERAL, CADIN_ESTADUAL, ESOCIAL_PJ, DOC_IDENTIDADE, COMPROVANTE_RESIDENCIA, DIRPF, COMPROVANTE_RENDA, CERTIDAO_PF, PROCURACAO_PF, COMPROVACAO_ESTADO_CIVIL, FORA_DE_ESCOPO, NAO_IDENTIFICADO Reservado para o relatorio mais recente do mesmo documento. Hoje vem null.
Ultima conferencia cruzada entre os documentos do cadastro. null quando nunca houve o que cruzar, o que e diferente de conferido e consistente.
Hide child attributes
Hide child attributes
CONSISTENTE, DIVERGENTE, NAO_CONFERIDO Total que casa o filtro, nao o tamanho da pagina.

