{ "components": { "schemas": { "Body_upload_certificate_endpoint_v1_certificados_post": { "properties": { "cnpj": { "maxLength": 14, "minLength": 14, "title": "Cnpj", "type": "string" }, "file": { "contentMediaType": "application/octet-stream", "title": "File", "type": "string" }, "password": { "title": "Password", "type": "string" } }, "required": [ "cnpj", "file", "password" ], "title": "Body_upload_certificate_endpoint_v1_certificados_post", "type": "object" }, "DestinatarioDataPayload": { "description": "`None` no `EmissaoRequest.destinatario` == consumidor final n\u00e3o\nidentificado -- espelha `sowai_fiscal.xml_builder.DestinatarioData`.", "properties": { "address_city": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address City" }, "address_city_ibge_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address City Ibge Code" }, "address_complement": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Complement" }, "address_district": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address District" }, "address_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Number" }, "address_state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address State" }, "address_street": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Street" }, "address_zip": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Zip" }, "cnpj": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cnpj" }, "cpf": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cpf" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "ie": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Ie" }, "indicador_ie": { "title": "Indicador Ie", "type": "string" }, "nome": { "title": "Nome", "type": "string" } }, "required": [ "nome", "indicador_ie" ], "title": "DestinatarioDataPayload", "type": "object" }, "EmissaoRequest": { "properties": { "ambiente": { "enum": [ "homologacao", "producao" ], "title": "Ambiente", "type": "string" }, "branch_ref": { "maxLength": 64, "title": "Branch Ref", "type": "string" }, "destinatario": { "anyOf": [ { "$ref": "#/components/schemas/DestinatarioDataPayload" }, { "type": "null" } ] }, "document_model": { "const": "55", "default": "55", "title": "Document Model", "type": "string" }, "emitente": { "$ref": "#/components/schemas/EmitenteDataPayload" }, "fin_nfe": { "default": "1", "maxLength": 1, "minLength": 1, "title": "Fin Nfe", "type": "string" }, "ind_final": { "default": "1", "maxLength": 1, "minLength": 1, "title": "Ind Final", "type": "string" }, "ind_pres": { "default": "1", "maxLength": 1, "minLength": 1, "title": "Ind Pres", "type": "string" }, "itens": { "items": { "$ref": "#/components/schemas/ItemDataPayload" }, "minItems": 1, "title": "Itens", "type": "array" }, "nat_op": { "default": "Venda", "title": "Nat Op", "type": "string" }, "pagamento": { "$ref": "#/components/schemas/PagamentoDataPayload" }, "serie": { "minimum": 0.0, "title": "Serie", "type": "integer" }, "tenant_ref": { "maxLength": 64, "title": "Tenant Ref", "type": "string" }, "tp_emis": { "default": "1", "maxLength": 1, "minLength": 1, "title": "Tp Emis", "type": "string" }, "uf_destino_tipo": { "enum": [ "interna", "interestadual" ], "title": "Uf Destino Tipo", "type": "string" }, "ver_proc": { "maxLength": 20, "minLength": 1, "title": "Ver Proc", "type": "string" } }, "required": [ "tenant_ref", "branch_ref", "serie", "emitente", "itens", "pagamento", "ambiente", "uf_destino_tipo", "ver_proc" ], "title": "EmissaoRequest", "type": "object" }, "EmitenteDataPayload": { "properties": { "address_city": { "title": "Address City", "type": "string" }, "address_city_ibge_code": { "title": "Address City Ibge Code", "type": "string" }, "address_complement": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Complement" }, "address_district": { "title": "Address District", "type": "string" }, "address_number": { "title": "Address Number", "type": "string" }, "address_state": { "maxLength": 2, "minLength": 2, "title": "Address State", "type": "string" }, "address_street": { "title": "Address Street", "type": "string" }, "address_zip": { "title": "Address Zip", "type": "string" }, "cnpj": { "maxLength": 14, "minLength": 14, "title": "Cnpj", "type": "string" }, "crt": { "maxLength": 1, "minLength": 1, "title": "Crt", "type": "string" }, "fone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Fone" }, "ie": { "title": "Ie", "type": "string" }, "nome_fantasia": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Nome Fantasia" }, "razao_social": { "title": "Razao Social", "type": "string" } }, "required": [ "cnpj", "razao_social", "ie", "crt", "address_street", "address_number", "address_district", "address_city", "address_state", "address_zip", "address_city_ibge_code" ], "title": "EmitenteDataPayload", "type": "object" }, "FiscalCertificateRead": { "description": "Metadados do A1 -- NUNCA o bin\u00e1rio (`pfx_encrypted`/\n`password_encrypted` ficam de fora de prop\u00f3sito; ver\n`certificates.router.read_certificate_endpoint`'s docstring).", "properties": { "branch_ref": { "title": "Branch Ref", "type": "string" }, "cnpj": { "title": "Cnpj", "type": "string" }, "cnpj_certificado": { "title": "Cnpj Certificado", "type": "string" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "not_valid_after": { "format": "date-time", "title": "Not Valid After", "type": "string" }, "not_valid_before": { "format": "date-time", "title": "Not Valid Before", "type": "string" }, "product_id": { "format": "uuid", "title": "Product Id", "type": "string" }, "subject_cn": { "title": "Subject Cn", "type": "string" }, "tenant_ref": { "title": "Tenant Ref", "type": "string" } }, "required": [ "id", "product_id", "tenant_ref", "branch_ref", "cnpj", "subject_cn", "cnpj_certificado", "not_valid_before", "not_valid_after", "created_at" ], "title": "FiscalCertificateRead", "type": "object" }, "FiscalDocumentRead": { "description": "NUNCA inclui `xml_assinado` -- o XML sai s\u00f3 por `GET /v1/documentos/\n{id}/xml` (`Response(media_type=\"application/xml\")`), mesmo racional de\n`FiscalCertificateRead` nunca incluir o bin\u00e1rio do certificado. Sem\n`sale_id`/`service_order_id` (porte table: este servi\u00e7o n\u00e3o conhece o\ndom\u00ednio do produto chamador).", "properties": { "ambiente": { "title": "Ambiente", "type": "string" }, "autorizada_em": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Autorizada Em" }, "branch_ref": { "title": "Branch Ref", "type": "string" }, "chave_acesso": { "title": "Chave Acesso", "type": "string" }, "codigo_numerico": { "title": "Codigo Numerico", "type": "string" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "document_model": { "title": "Document Model", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "numero": { "title": "Numero", "type": "integer" }, "product_id": { "format": "uuid", "title": "Product Id", "type": "string" }, "protocolo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Protocolo" }, "rejeicao_codigo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rejeicao Codigo" }, "rejeicao_motivo": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Rejeicao Motivo" }, "serie": { "title": "Serie", "type": "integer" }, "series_id": { "format": "uuid", "title": "Series Id", "type": "string" }, "status": { "title": "Status", "type": "string" }, "tenant_ref": { "title": "Tenant Ref", "type": "string" } }, "required": [ "id", "product_id", "tenant_ref", "branch_ref", "series_id", "document_model", "serie", "numero", "chave_acesso", "codigo_numerico", "status", "ambiente", "rejeicao_codigo", "rejeicao_motivo", "protocolo", "autorizada_em", "created_at" ], "title": "FiscalDocumentRead", "type": "object" }, "FiscalResultPayload": { "properties": { "cfop": { "title": "Cfop", "type": "string" }, "consumidor_final": { "title": "Consumidor Final", "type": "boolean" }, "csosn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Csosn" }, "cst": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cst" }, "indicador_ie": { "title": "Indicador Ie", "type": "string" }, "origem": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Origem" }, "tributos": { "items": { "$ref": "#/components/schemas/TributoLinhaPayload" }, "title": "Tributos", "type": "array" } }, "required": [ "cfop", "consumidor_final", "indicador_ie" ], "title": "FiscalResultPayload", "type": "object" }, "FiscalSeriesCreate": { "description": "POST /v1/series body. `serie` allows `0` (SEFAZ convention for\n\"s\u00e9rie \u00fanica\"/sem s\u00e9rie formal) -- `ge=0`, unlike `next_number` which\nmust start at 1 (`ge=1`, a document numbering never starts at 0). Only\n`\"55\"` is accepted for now (Global Constraints/spec: F2 covers NF-e 55\nemission only -- `xml_builder.build_nfe` itself hardcodes `mod=\"55\"`;\naccepting `\"65\"` here would create a series nothing can ever allocate\nagainst without silently wrong output).", "properties": { "branch_ref": { "maxLength": 64, "title": "Branch Ref", "type": "string" }, "document_model": { "const": "55", "default": "55", "title": "Document Model", "type": "string" }, "next_number": { "minimum": 1.0, "title": "Next Number", "type": "integer" }, "serie": { "minimum": 0.0, "title": "Serie", "type": "integer" }, "tenant_ref": { "maxLength": 64, "title": "Tenant Ref", "type": "string" } }, "required": [ "tenant_ref", "branch_ref", "serie", "next_number" ], "title": "FiscalSeriesCreate", "type": "object" }, "FiscalSeriesPatch": { "additionalProperties": false, "description": "PATCH /v1/series/{series_id} body -- ONLY `next_number` is editable\n(a manual correction, e.g. realigning the counter after a migration\nfrom another emissor). `tenant_ref`/`branch_ref`/`document_model`/\n`serie` are immutable once created -- delete and recreate the series\ninstead if it was set up wrong (no DELETE endpoint exists yet for this\nresource per the F2 API contract; ported convention documented here for\nwhen it does). `next_number` maps to a NOT NULL column, so explicit\n`null` is rejected with 422, same convention as the auto's\n`FiscalDocumentSeriesPatch`.", "properties": { "next_number": { "anyOf": [ { "minimum": 1.0, "type": "integer" }, { "type": "null" } ], "title": "Next Number" } }, "title": "FiscalSeriesPatch", "type": "object" }, "FiscalSeriesRead": { "properties": { "branch_ref": { "title": "Branch Ref", "type": "string" }, "document_model": { "title": "Document Model", "type": "string" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "next_number": { "title": "Next Number", "type": "integer" }, "product_id": { "format": "uuid", "title": "Product Id", "type": "string" }, "serie": { "title": "Serie", "type": "integer" }, "tenant_ref": { "title": "Tenant Ref", "type": "string" } }, "required": [ "id", "product_id", "tenant_ref", "branch_ref", "document_model", "serie", "next_number" ], "title": "FiscalSeriesRead", "type": "object" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "title": "Detail", "type": "array" } }, "title": "HTTPValidationError", "type": "object" }, "ItemDataPayload": { "properties": { "cest": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cest" }, "cfop": { "title": "Cfop", "type": "string" }, "codigo": { "title": "Codigo", "type": "string" }, "descricao": { "title": "Descricao", "type": "string" }, "fiscal_result": { "$ref": "#/components/schemas/FiscalResultPayload" }, "gtin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Gtin" }, "ncm": { "title": "Ncm", "type": "string" }, "peso_bruto_kg": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Peso Bruto Kg" }, "peso_liquido_kg": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Peso Liquido Kg" }, "quantidade": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Quantidade" }, "unidade_comercial": { "title": "Unidade Comercial", "type": "string" }, "unidade_tributavel": { "title": "Unidade Tributavel", "type": "string" }, "valor_unitario": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Valor Unitario" } }, "required": [ "codigo", "descricao", "ncm", "cfop", "unidade_comercial", "unidade_tributavel", "quantidade", "valor_unitario", "fiscal_result" ], "title": "ItemDataPayload", "type": "object" }, "PagamentoDataPayload": { "properties": { "indpag": { "default": "0", "title": "Indpag", "type": "string" }, "tpag": { "title": "Tpag", "type": "string" }, "valor": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Valor" } }, "required": [ "tpag", "valor" ], "title": "PagamentoDataPayload", "type": "object" }, "TributoLinhaPayload": { "properties": { "aliquota": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Aliquota" }, "aliquota_st": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Aliquota St" }, "base_calc": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Base Calc" }, "base_calc_percent": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Base Calc Percent" }, "codigo_beneficio": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Codigo Beneficio" }, "csosn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Csosn" }, "cst": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cst" }, "fcp_percent": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Fcp Percent" }, "mva": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" }, { "type": "null" } ], "title": "Mva" }, "rule_id": { "format": "uuid", "title": "Rule Id", "type": "string" }, "tax_domain": { "title": "Tax Domain", "type": "string" }, "valor": { "anyOf": [ { "type": "number" }, { "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$", "type": "string" } ], "title": "Valor" } }, "required": [ "tax_domain", "base_calc", "base_calc_percent", "valor", "rule_id" ], "title": "TributoLinhaPayload", "type": "object" }, "ValidationError": { "properties": { "ctx": { "title": "Context", "type": "object" }, "input": { "title": "Input" }, "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "title": "Location", "type": "array" }, "msg": { "title": "Message", "type": "string" }, "type": { "title": "Error Type", "type": "string" } }, "required": [ "loc", "msg", "type" ], "title": "ValidationError", "type": "object" } } }, "info": { "title": "sowai-fiscal-svc", "version": "0.1.0" }, "openapi": "3.1.0", "paths": { "/v1/certificados": { "delete": { "operationId": "deactivate_certificate_endpoint_v1_certificados_delete", "parameters": [ { "in": "query", "name": "tenant_ref", "required": true, "schema": { "maxLength": 64, "title": "Tenant Ref", "type": "string" } }, { "in": "query", "name": "branch_ref", "required": true, "schema": { "maxLength": 64, "title": "Branch Ref", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Deactivate Certificate Endpoint", "tags": [ "certificados" ] }, "get": { "description": "Metadados do certificado VIVO -- NUNCA o bin\u00e1rio (o .pfx/senha\ncifrados nunca saem do banco por esta rota; s\u00f3 `certificates.crypto.\nload_private_key_and_cert`, uso interno da emiss\u00e3o, Task 5, os\ndescriptografa, e s\u00f3 em mem\u00f3ria).", "operationId": "read_certificate_endpoint_v1_certificados_get", "parameters": [ { "in": "query", "name": "tenant_ref", "required": true, "schema": { "maxLength": 64, "title": "Tenant Ref", "type": "string" } }, { "in": "query", "name": "branch_ref", "required": true, "schema": { "maxLength": 64, "title": "Branch Ref", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalCertificateRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Read Certificate Endpoint", "tags": [ "certificados" ] }, "post": { "operationId": "upload_certificate_endpoint_v1_certificados_post", "parameters": [ { "in": "query", "name": "tenant_ref", "required": true, "schema": { "maxLength": 64, "title": "Tenant Ref", "type": "string" } }, { "in": "query", "name": "branch_ref", "required": true, "schema": { "maxLength": 64, "title": "Branch Ref", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_upload_certificate_endpoint_v1_certificados_post" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalCertificateRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Upload Certificate Endpoint", "tags": [ "certificados" ] } }, "/v1/documentos": { "get": { "operationId": "list_fiscal_documents_endpoint_v1_documentos_get", "parameters": [ { "in": "query", "name": "tenant_ref", "required": false, "schema": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ], "title": "Tenant Ref" } }, { "in": "query", "name": "branch_ref", "required": false, "schema": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ], "title": "Branch Ref" } }, { "in": "query", "name": "status", "required": false, "schema": { "anyOf": [ { "maxLength": 20, "type": "string" }, { "type": "null" } ], "title": "Status" } }, { "in": "query", "name": "limit", "required": false, "schema": { "default": 50, "maximum": 200, "minimum": 1, "title": "Limit", "type": "integer" } }, { "in": "query", "name": "offset", "required": false, "schema": { "default": 0, "minimum": 0, "title": "Offset", "type": "integer" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FiscalDocumentRead" }, "title": "Response List Fiscal Documents Endpoint V1 Documentos Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "List Fiscal Documents Endpoint", "tags": [ "emissao" ] } }, "/v1/documentos/{document_id}": { "get": { "operationId": "get_fiscal_document_endpoint_v1_documentos__document_id__get", "parameters": [ { "in": "path", "name": "document_id", "required": true, "schema": { "format": "uuid", "title": "Document Id", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalDocumentRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Get Fiscal Document Endpoint", "tags": [ "emissao" ] } }, "/v1/documentos/{document_id}/xml": { "get": { "operationId": "get_fiscal_document_xml_endpoint_v1_documentos__document_id__xml_get", "parameters": [ { "in": "path", "name": "document_id", "required": true, "schema": { "format": "uuid", "title": "Document Id", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "content": { "application/json": { "schema": {} } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Get Fiscal Document Xml Endpoint", "tags": [ "emissao" ] } }, "/v1/emissoes": { "post": { "description": "`Idempotency-Key` OBRIGAT\u00d3RIO (design spec decis\u00e3o #6) -- ausente\nvira 422 na borda do FastAPI (`Header(...)`, sem default), antes de\nqualquer l\u00f3gica rodar. Repetida com a MESMA `product_id` -> 200 com o\ndocumento j\u00e1 existente (`created=False`); nova -> 201 (`created=True`).\nVer `emission.service.emitir_documento`'s docstring para o padr\u00e3o de\nduas camadas que garante isto mesmo sob duas requisi\u00e7\u00f5es concorrentes\ncom a mesma chave.", "operationId": "emitir_documento_endpoint_v1_emissoes_post", "parameters": [ { "in": "header", "name": "Idempotency-Key", "required": true, "schema": { "maxLength": 255, "minLength": 1, "title": "Idempotency-Key", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmissaoRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalDocumentRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Emitir Documento Endpoint", "tags": [ "emissao" ] } }, "/v1/health": { "get": { "operationId": "health_check_v1_health_get", "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "title": "Response Health Check V1 Health Get", "type": "object" } } }, "description": "Successful Response" } }, "summary": "Health Check" } }, "/v1/series": { "get": { "operationId": "list_fiscal_series_endpoint_v1_series_get", "parameters": [ { "in": "query", "name": "tenant_ref", "required": true, "schema": { "maxLength": 64, "title": "Tenant Ref", "type": "string" } }, { "in": "query", "name": "branch_ref", "required": true, "schema": { "maxLength": 64, "title": "Branch Ref", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/FiscalSeriesRead" }, "title": "Response List Fiscal Series Endpoint V1 Series Get", "type": "array" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "List Fiscal Series Endpoint", "tags": [ "series" ] }, "post": { "operationId": "create_fiscal_series_endpoint_v1_series_post", "parameters": [ { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalSeriesCreate" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalSeriesRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Create Fiscal Series Endpoint", "tags": [ "series" ] } }, "/v1/series/{series_id}": { "patch": { "operationId": "update_fiscal_series_endpoint_v1_series__series_id__patch", "parameters": [ { "in": "path", "name": "series_id", "required": true, "schema": { "format": "uuid", "title": "Series Id", "type": "string" } }, { "in": "header", "name": "X-Api-Key", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "X-Api-Key" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalSeriesPatch" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiscalSeriesRead" } } }, "description": "Successful Response" }, "422": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } }, "description": "Validation Error" } }, "summary": "Update Fiscal Series Endpoint", "tags": [ "series" ] } } } }