Dabra · Schema
NotaSubstituta
Corpo de POST /v1/notas/{id}/substituir: a nota nova inteira (como em POST /v1/notas) e o motivo (grupo `subst` da DPS; a chave da substituída, `chSubstda`, vem da própria nota).
DataBrazilKYCCompliance
Properties
| Name | Type | Description |
|---|---|---|
| emissor_id | integer | |
| competencia | string | dCompet: data do fato gerador (no nosso caso, a do pagamento) |
| valor | object | |
| servico | object | |
| tomador | object | |
| referencia_externa | object | Id do pagamento/pedido no sistema de quem chama (só para consulta) |
| cMotivo | string | 01 desenquadramento do Simples, 02 enquadramento no Simples, 03 inclusão retroativa de imunidade/isenção, 04 exclusão retroativa de imunidade/isenção, 05 rejeição pelo tomador ou intermediário, 99 out |
| xMotivo | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/dabradata-com/json-schema/dabradata-com-nfse-nota-substituta-schema.json",
"title": "NotaSubstituta",
"description": "Corpo de POST /v1/notas/{id}/substituir: a nota nova inteira (como em POST /v1/notas) e o motivo (grupo `subst`\nda DPS; a chave da substituída, `chSubstda`, vem da própria nota).",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/dabradata-com-openapi.yaml#/components/schemas/NfseNotaSubstituta",
"properties": {
"emissor_id": {
"type": "integer",
"title": "Emissor Id"
},
"competencia": {
"type": "string",
"format": "date",
"title": "Competencia",
"description": "dCompet: data do fato gerador (no nosso caso, a do pagamento)"
},
"valor": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0.0
},
{
"type": "string"
}
],
"title": "Valor"
},
"servico": {
"$ref": "#/$defs/NfseServico"
},
"tomador": {
"anyOf": [
{
"$ref": "#/$defs/NfseTomador"
},
{
"type": "null"
}
]
},
"referencia_externa": {
"anyOf": [
{
"type": "string",
"maxLength": 160,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Referencia Externa",
"description": "Id do pagamento/pedido no sistema de quem chama (só para consulta)"
},
"cMotivo": {
"type": "string",
"enum": [
"01",
"02",
"03",
"04",
"05",
"99"
],
"title": "Cmotivo",
"description": "01 desenquadramento do Simples, 02 enquadramento no Simples, 03 inclusão retroativa de imunidade/isenção, 04 exclusão retroativa de imunidade/isenção, 05 rejeição pelo tomador ou intermediário, 99 outros"
},
"xMotivo": {
"anyOf": [
{
"type": "string",
"maxLength": 255,
"minLength": 15
},
{
"type": "null"
}
],
"title": "Xmotivo"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"emissor_id",
"competencia",
"valor",
"servico",
"cMotivo"
],
"$defs": {
"NfseAjusteBC": {
"properties": {
"pAjusteBCISSQN": {
"anyOf": [
{
"type": "number",
"exclusiveMaximum": 1000.0,
"exclusiveMinimum": 0.0
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pajustebcissqn"
},
"vAjusteBCISSQN": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0.0
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vajustebcissqn"
}
},
"additionalProperties": false,
"type": "object",
"title": "AjusteBC"
},
"NfseComExt": {
"properties": {
"mdPrestacao": {
"anyOf": [
{
"type": "integer",
"enum": [
0,
1,
2,
3,
4
]
},
{
"type": "null"
}
],
"title": "Mdprestacao"
},
"vincPrest": {
"anyOf": [
{
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
9
]
},
{
"type": "null"
}
],
"title": "Vincprest"
},
"tpMoeda": {
"type": "string",
"pattern": "^[0-9]{3}$",
"title": "Tpmoeda"
},
"vServMoeda": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0.0
},
{
"type": "string"
}
],
"title": "Vservmoeda"
},
"mecAFComexP": {
"anyOf": [
{
"type": "string",
"pattern": "^0[0-8]$"
},
{
"type": "null"
}
],
"title": "Mecafcomexp"
},
"mecAFComexT": {
"anyOf": [
{
"type": "string",
"pattern": "^(0[0-9]|1[0-9]|2[0-6])$"
},
{
"type": "null"
}
],
"title": "Mecafcomext"
},
"movTempBens": {
"anyOf": [
{
"type": "integer",
"enum": [
0,
1,
2,
3
]
},
{
"type": "null"
}
],
"title": "Movtempbens"
},
"nDI": {
"anyOf": [
{
"type": "string",
"maxLength": 12,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Ndi"
},
"nRE": {
"anyOf": [
{
"type": "string",
"maxLength": 12,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Nre"
},
"mdic": {
"anyOf": [
{
"type": "integer",
"enum": [
0,
1
]
},
{
"type": "null"
}
],
"title": "Mdic"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tpMoeda",
"vServMoeda"
],
"title": "ComExt",
"description": "Grupo comExt da DPS (tomador no exterior). Campos ausentes vêm do padrão do emissor (`com_ext_padrao`); `tpMoeda` e\n`vServMoeda` são sempre da nota."
},
"NfseEndereco": {
"properties": {
"endNac": {
"anyOf": [
{
"$ref": "#/$defs/NfseEnderecoNacional"
},
{
"type": "null"
}
]
},
"endExt": {
"anyOf": [
{
"$ref": "#/$defs/NfseEnderecoExterior"
},
{
"type": "null"
}
]
},
"xLgr": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Xlgr"
},
"nro": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"title": "Nro"
},
"xCpl": {
"anyOf": [
{
"type": "string",
"maxLength": 156,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Xcpl"
},
"xBairro": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"title": "Xbairro"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"xLgr",
"nro",
"xBairro"
],
"title": "Endereco"
},
"NfseEnderecoExterior": {
"properties": {
"cPais": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"title": "Cpais"
},
"cEndPost": {
"type": "string",
"maxLength": 11,
"minLength": 1,
"title": "Cendpost"
},
"xCidade": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"title": "Xcidade"
},
"xEstProvReg": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"title": "Xestprovreg"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"cPais",
"cEndPost",
"xCidade",
"xEstProvReg"
],
"title": "EnderecoExterior"
},
"NfseEnderecoNacional": {
"properties": {
"cMun": {
"type": "string",
"pattern": "^[0-9]{7}$",
"title": "Cmun"
},
"CEP": {
"type": "string",
"pattern": "^[0-9]{8}$",
"title": "Cep"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"cMun",
"CEP"
],
"title": "EnderecoNacional"
},
"NfseServico": {
"properties": {
"xDescServ": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"title": "Xdescserv"
},
"cTribNac": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{6}$"
},
{
"type": "null"
}
],
"title": "Ctribnac"
},
"cTribMun": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{3}$"
},
{
"type": "null"
}
],
"title": "Ctribmun"
},
"cNBS": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{9}$"
},
{
"type": "null"
}
],
"title": "Cnbs"
},
"cIntContrib": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,20}$"
},
{
"type": "null"
}
],
"title": "Cintcontrib"
},
"cLocPrestacao": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{7}$"
},
{
"type": "null"
}
],
"title": "Clocprestacao"
},
"cPaisPrestacao": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{2}$"
},
{
"type": "null"
}
],
"title": "Cpaisprestacao"
},
"tribISSQN": {
"type": "integer",
"enum": [
1,
2,
3,
4
],
"title": "Tribissqn",
"default": 1
},
"cPaisResult": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Z]{2}$"
},
{
"type": "null"
}
],
"title": "Cpaisresult"
},
"tpImunidade": {
"anyOf": [
{
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5
]
},
{
"type": "null"
}
],
"title": "Tpimunidade"
},
"tpRetISSQN": {
"type": "integer",
"enum": [
1,
2,
3
],
"title": "Tpretissqn",
"default": 1
},
"pAliq": {
"anyOf": [
{
"type": "number",
"exclusiveMaximum": 100.0,
"exclusiveMinimum": 0.0
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Paliq"
},
"comExt": {
"anyOf": [
{
"$ref": "#/$defs/NfseComExt"
},
{
"type": "null"
}
]
},
"vAjusteBC": {
"anyOf": [
{
"$ref": "#/$defs/NfseAjusteBC"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"type": "object",
"required": [
"xDescServ"
],
"title": "Servico"
},
"NfseTomador": {
"properties": {
"CNPJ": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9A-Z]{12}[0-9]{2}$"
},
{
"type": "null"
}
],
"title": "Cnpj"
},
"CPF": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{11}$"
},
{
"type": "null"
}
],
"title": "Cpf"
},
"NIF": {
"anyOf": [
{
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Nif"
},
"cNaoNIF": {
"anyOf": [
{
"type": "integer",
"enum": [
1,
2
]
},
{
"type": "null"
}
],
"title": "Cnaonif"
},
"IM": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9A-Za-z]{1,15}$"
},
{
"type": "null"
}
],
"title": "Im"
},
"xNome": {
"anyOf": [
{
"type": "string",
"maxLength": 300,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Xnome"
},
"end": {
"anyOf": [
{
"$ref": "#/$defs/NfseEndereco"
},
{
"type": "null"
}
]
},
"fone": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]{6,20}$"
},
{
"type": "null"
}
],
"title": "Fone"
},
"email": {
"anyOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Email"
}
},
"additionalProperties": false,
"type": "object",
"title": "Tomador",
"description": "Basta o documento (CNPJ/CPF): nome e endereço o serviço resolve pela API da Dabra. O que vier aqui prevalece; o\ntomador completo é conferido antes da fila (sem nome/endereço válido, a nota vai para `quarentena`)."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/dabradata-com-nfse-nota-substituta"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.