curl --request GET \
--url https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract"
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))
}const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"calendar": {
"from": "2025-01-01",
"nonBusinessDays": [
{
"date": "2026-11-02",
"description": "Finados"
}
],
"until": "2027-12-31",
"weekends": true
},
"datasets": [
{
"consolidation": {
"columns": {},
"key": [
"code"
],
"whenKeyRepeats": "combine"
},
"fields": [
{
"name": "saldo",
"required": true,
"type": "decimal",
"checkDigit": "cnpj",
"description": "<string>",
"domain": [
"<string>"
],
"expects": "<string>",
"format": {
"scaleDeclared": true,
"scaleIsExact": true,
"decimalSeparator": "<string>",
"groupSeparator": "<string>",
"pattern": "<string>",
"scale": 123
},
"identifiesInstitution": "true",
"length": 123,
"means": "<string>",
"normalize": "<string>",
"pattern": "<string>",
"prefixOf": "cnpj"
}
],
"grain": {
"singleton": true,
"keys": [
"<string>"
]
},
"name": "cosif_balances",
"childOf": {
"dataset": "<string>"
},
"description": "<string>",
"means": "<string>",
"rowSet": {
"columns": [
"<string>"
],
"key": "<string>",
"rows": [
{}
]
}
}
],
"filing": {
"period": [
"dataBase"
],
"remittance": {
"original": "I",
"parameter": "tipoRemessa",
"replacement": "S"
}
},
"knownGaps": [
{
"id": "<string>",
"description": "<string>"
}
],
"metadata": {
"appliesTo": {
"institutionTypes": [
"<string>"
]
},
"id": "br.bcb.cadoc-4010",
"country": "BR",
"document": "4010",
"family": "cadoc",
"layout": {
"mandatoryFrom": "2026-01-01",
"version": "<string>"
},
"output": "xml",
"periodicity": "monthly",
"regulator": "BCB",
"status": "stable",
"summary": "<string>",
"title": "Balancete Patrimonial Analítico",
"version": "1.0.0"
},
"parameters": [
{
"allowedMonths": [
"<string>"
],
"businessDay": true,
"closed": true,
"default": "<string>",
"domain": [
"<string>"
],
"name": "dataBase",
"required": true,
"type": "month",
"description": "<string>"
}
],
"reportTimezone": "America/Sao_Paulo",
"rules": [
{
"id": "<string>",
"appliesTo": "<string>",
"does": {
"kind": "negateWhen",
"equals": "debit",
"field": "saldo",
"fields": [
"cosifCode"
],
"key": "cosifCode",
"rowSet": "contas.yaml",
"table": "natureza",
"values": [
"<string>"
]
},
"message": "<string>",
"severity": "error",
"where": {
"equals": "<string>",
"field": "<string>",
"in": [
"<string>"
],
"notIn": [
"<string>"
],
"rowSet": "<string>"
}
}
],
"tables": [
{
"from": "natureza.yaml",
"match": "longestPrefix",
"name": "natureza"
}
],
"apiVersion": "reporter.lerian.io/v1alpha1",
"kind": "DocumentContract"
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Get the contract of the version this subscription files
Returns the contract of the version THIS subscription adopted — the same shape as the document’s contract route — read from this tenant’s own copy. A mapping is made for one subscription, and two institutions may file one document at different versions; the document’s route answers the newest active subscription of the document, whichever institution files it, so a client mapping a subscription reads this one. With version, it answers a version the subscription adopted earlier, which is how a filing is read against the version it was generated with.
curl --request GET \
--url https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract"
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))
}const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://reporter.sandbox.lerian.net/v1/regulatory/subscriptions/{subscriptionId}/contract"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"calendar": {
"from": "2025-01-01",
"nonBusinessDays": [
{
"date": "2026-11-02",
"description": "Finados"
}
],
"until": "2027-12-31",
"weekends": true
},
"datasets": [
{
"consolidation": {
"columns": {},
"key": [
"code"
],
"whenKeyRepeats": "combine"
},
"fields": [
{
"name": "saldo",
"required": true,
"type": "decimal",
"checkDigit": "cnpj",
"description": "<string>",
"domain": [
"<string>"
],
"expects": "<string>",
"format": {
"scaleDeclared": true,
"scaleIsExact": true,
"decimalSeparator": "<string>",
"groupSeparator": "<string>",
"pattern": "<string>",
"scale": 123
},
"identifiesInstitution": "true",
"length": 123,
"means": "<string>",
"normalize": "<string>",
"pattern": "<string>",
"prefixOf": "cnpj"
}
],
"grain": {
"singleton": true,
"keys": [
"<string>"
]
},
"name": "cosif_balances",
"childOf": {
"dataset": "<string>"
},
"description": "<string>",
"means": "<string>",
"rowSet": {
"columns": [
"<string>"
],
"key": "<string>",
"rows": [
{}
]
}
}
],
"filing": {
"period": [
"dataBase"
],
"remittance": {
"original": "I",
"parameter": "tipoRemessa",
"replacement": "S"
}
},
"knownGaps": [
{
"id": "<string>",
"description": "<string>"
}
],
"metadata": {
"appliesTo": {
"institutionTypes": [
"<string>"
]
},
"id": "br.bcb.cadoc-4010",
"country": "BR",
"document": "4010",
"family": "cadoc",
"layout": {
"mandatoryFrom": "2026-01-01",
"version": "<string>"
},
"output": "xml",
"periodicity": "monthly",
"regulator": "BCB",
"status": "stable",
"summary": "<string>",
"title": "Balancete Patrimonial Analítico",
"version": "1.0.0"
},
"parameters": [
{
"allowedMonths": [
"<string>"
],
"businessDay": true,
"closed": true,
"default": "<string>",
"domain": [
"<string>"
],
"name": "dataBase",
"required": true,
"type": "month",
"description": "<string>"
}
],
"reportTimezone": "America/Sao_Paulo",
"rules": [
{
"id": "<string>",
"appliesTo": "<string>",
"does": {
"kind": "negateWhen",
"equals": "debit",
"field": "saldo",
"fields": [
"cosifCode"
],
"key": "cosifCode",
"rowSet": "contas.yaml",
"table": "natureza",
"values": [
"<string>"
]
},
"message": "<string>",
"severity": "error",
"where": {
"equals": "<string>",
"field": "<string>",
"in": [
"<string>"
],
"notIn": [
"<string>"
],
"rowSet": "<string>"
}
}
],
"tables": [
{
"from": "natureza.yaml",
"match": "longestPrefix",
"name": "natureza"
}
],
"apiVersion": "reporter.lerian.io/v1alpha1",
"kind": "DocumentContract"
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}{
"code": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "body.templateId",
"message": "expected string to match 'uuid' format",
"value": "not-a-uuid"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upstream": {
"code": "E4001",
"message": "account not found at provider"
}
}Autorizaciones
JWT bearer token issued by the identity provider.
Parámetros de ruta
Unique subscription identifier.
Parámetros de consulta
A version this subscription adopted at some point — the one a filing was generated with. Absent: the version in force. One it never adopted answers 404.
Respuesta
OK
Business-day calendar the document is filed by, from the subscription's pinned copy. Null when the contract declares none.
Show child attributes
Show child attributes
Every set the file carries and every field of it.
Show child attributes
Show child attributes
What makes two generations the same filing and which remittance is the original, as the contract declares it. Null when the contract declares no filing block.
Show child attributes
Show child attributes
What this contract knowingly does not yet cover.
Show child attributes
Show child attributes
Which obligation this is, at which version.
Show child attributes
Show child attributes
What the generation must be told, answered per request.
Show child attributes
Show child attributes
IANA time zone whose calendar decides when a period has closed (REPORT_TIMEZONE).
"America/Sao_Paulo"
Every rule of the document: what the engine transforms and checks.
Show child attributes
Show child attributes
Lookup tables published beside the contract, which its rules read.
Show child attributes
Show child attributes
Format identifier of the contract document.
"reporter.lerian.io/v1alpha1"
Document kind; always DocumentContract.
"DocumentContract"
¿Esta página le ayudó?

