{"openapi":"3.0.1","info":{"title":"SDK de Assinatura Digital — API","description":"Motor de assinatura digital self-hosted multi-jurisdição (ICP-Brasil + eIDAS).\n\n## Módulos Implementados\n\n### 📝 Assinatura Digital (PAdES-B)\n- `POST /api/v1/sign` — Assina PDF com certificado digital (PAdES-B)\n\n### 🪪 Assinatura Eletrônica (SES/AES)\n- `POST /api/v1/sign-electronic` — Assina PDF sem certificado (SES ou AES com OTP)\n- `POST /api/v1/otp/send` — Solicita OTP via e-mail, SMS ou WhatsApp (adaptador de entrega configurável)\n- `POST /api/v1/otp/verify` — Verifica código OTP\n\n### ✅ Validação de Assinaturas\n- `POST /api/v1/validate` — Validação completa PAdES/CAdES/XAdES/ASiC com relatório detalhado\n\n### 🕐 Carimbo de Tempo (RFC 3161)\n- `POST /api/v1/timestamp` — Solicita TimeStampToken à TSA configurada\n\n### 🔐 Trust Anchors (LOTL eIDAS + ICP-Brasil)\n- `GET /api/v1/trust-anchors` — Lista trust anchors ativos\n- `POST /api/v1/trust-anchors/refresh` — Força refresh da LOTL europeia\n- `POST /api/v1/trust-anchors/icp-brasil` — Importa raízes ITI (Base64 DER/PEM)\n\n### 🗝️ Gestão de Certificados (Keystore)\n- `GET /api/v1/keystore` — Lista aliases registrados\n- `POST /api/v1/keystore/pkcs12` — Importa PKCS#12 (A1)\n- `POST /api/v1/keystore/pkcs11` — Configura HSM/PKCS#11 (A3)\n- `DELETE /api/v1/keystore/{alias}` — Remove entrada\n- `GET /api/v1/keystore/{alias}` — Detalhes do certificado\n\n### 📋 Solicitações de Assinatura (Workflow Multi-signatário)\n- `POST /api/v1/sign-requests` — Cria solicitação com múltiplos signatários\n- `GET /api/v1/sign-requests` — Lista solicitações\n- `GET /api/v1/sign-requests/{id}` — Detalhes da solicitação\n- `POST /api/v1/sign-requests/{id}/sign` — Signatário assina\n- `DELETE /api/v1/sign-requests/{id}` — Cancela solicitação\n\n### 🧩 Modelos e geração documental\n- `GET|POST /api/v1/templates` — Lista e cria modelos tipados\n- `GET|PATCH|DELETE /api/v1/templates/{id}` — Consulta, versiona e exclui\n- `POST /api/v1/templates/{id}/sign-requests` — Gera o PDF e inicia assinatura\n\n### 📑 Gestão de contratos (CLM)\n- `GET|POST /api/v1/contracts` — Pesquisa e cria contratos\n- `GET|PUT /api/v1/contracts/{id}` — Consulta e atualiza com ETag\n- `GET /api/v1/contracts/renewals` — Agenda de renovação/vencimento\n- `GET /api/v1/contracts/obligations/due` — Obrigações abertas por prazo\n\n### 📊 Trilha de Auditoria (Hash-chain SHA-256)\n- `GET /api/v1/audit` — Lista eventos com filtros\n- `GET /api/v1/audit/verify` — Verifica integridade da hash-chain\n\n### 🏢 Plataforma multiempresa\n- `GET /api/v1/platform/overview` — Resumo do tenant autenticado\n- `POST /api/v1/platform/tenants` — Cadastra empresa (somente PLATFORM_ADMIN)\n- `GET|POST|DELETE /api/v1/platform/api-keys` — Gerencia credenciais do tenant\n\n## Autenticação\nRotas `/api/**` requerem header `X-API-Key`. Links públicos de assinatura em `/sign/**`\nsão acessados pelo token opaco do signatário, sem chave de API.\n","version":"1.0.0"},"servers":[{"url":"https://api.venuesign.tech","description":"Generated server url"}],"security":[{"ApiKey":[]}],"tags":[{"name":"contract-collaboration","description":"Redlines, comentários e decisões de revisão"},{"name":"timestamp","description":"Carimbo de tempo RFC 3161 (Time Stamping Authority)"},{"name":"sign","description":"Assinatura Digital PAdES-B com certificado digital"},{"name":"sign-requests","description":"Gerenciamento de solicitações de assinatura e fluxo de signatários"},{"name":"onboarding","description":"Criação inicial de ambiente empresarial"},{"name":"keystore","description":"Gestão segura de certificados da plataforma"},{"name":"electronic-sign","description":"Assinatura Eletrônica SES/AES (sem certificado, com OTP)"},{"name":"approvals","description":"Aprovações em estágios sequenciais com aprovadores paralelos"},{"name":"timestamp","description":"Carimbo de Tempo RFC 3161 (Time Stamping Authority)"},{"name":"trust-anchors","description":"Gestão de âncoras de confiança: LOTL eIDAS + raízes ITI ICP-Brasil"},{"name":"biometric-verifications","description":"Provas faciais minimizadas e revisão humana"},{"name":"seal","description":"Estado do selo organizacional usado em SES/AES"},{"name":"trust-anchors","description":"Gestão de âncoras de confiança (LOTL eIDAS + raízes ITI ICP-Brasil)"},{"name":"templates","description":"Modelos versionados, variáveis tipadas e geração documental"},{"name":"contracts","description":"Gestão do ciclo de vida, renovações e obrigações contratuais"},{"name":"platform","description":"Portal multiempresa, empresas e credenciais de integração"},{"name":"sign-requests","description":"Workflow de solicitações de assinatura multi-signatário"},{"name":"multi-document-envelopes","description":"Envelopes de assinatura coordenados com dois ou mais documentos"},{"name":"sign","description":"Geração de assinaturas digitais"},{"name":"templates","description":"Modelos versionados, variáveis tipadas e geração de documentos"},{"name":"validate","description":"Validação completa de assinaturas digitais (PAdES, CAdES, XAdES, ASiC)"},{"name":"otp","description":"Envio e verificação de OTP para autenticação AES"},{"name":"audit","description":"Trilha de auditoria imutável com hash-chain SHA-256"},{"name":"contracts","description":"Ciclo de vida, renovações, obrigações e timeline de contratos"},{"name":"validate","description":"Validação completa de assinaturas digitais via dss-validation"},{"name":"keystore","description":"Gestão de keystores: PKCS#12 (A1) + PKCS#11/HSM (A3)"},{"name":"clauses","description":"Biblioteca versionada de cláusulas e inserções em contratos/modelos"},{"name":"platform","description":"Empresas, papéis de chave, portal e credenciais de integração"},{"name":"otp","description":"Verificação OTP (fator de controle exclusivo para AES)"},{"name":"templates-docx","description":"Importação e exportação DOCX local de modelos versionados"},{"name":"commercial","description":"Planos, trial, assinatura, quotas, uso e faturamento provider-neutral"},{"name":"sign-electronic","description":"Assinatura eletrônica SES/AES (sem certificado digital)"},{"name":"audit","description":"Trilha de auditoria encadeada por hash"}],"paths":{"/api/v1/platform/tenants/{tenantId}":{"get":{"tags":["platform"],"summary":"Consulta uma empresa por identificador","operationId":"getTenant","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["platform"],"summary":"Atualiza nome e e-mail de contato de uma empresa","operationId":"updateTenant","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"patch":{"tags":["platform"],"summary":"Atualiza nome e e-mail de contato de uma empresa","operationId":"updateTenant_1","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/reviews/{reviewId}/comments/{commentId}/resolution":{"put":{"tags":["contract-collaboration"],"operationId":"resolveComment","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}},{"name":"commentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}}}}},"/api/v1/identity/sso/providers/{providerId}":{"put":{"tags":["human-identity-controller"],"operationId":"updateOidcProvider","parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveOidcProviderRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OidcProviderView"}}}}}},"delete":{"tags":["human-identity-controller"],"operationId":"deleteOidcProvider","parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/contracts/{contractId}":{"get":{"tags":["contracts"],"operationId":"get_4","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["contracts"],"operationId":"update","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/obligations/{obligationId}":{"get":{"tags":["contracts"],"operationId":"getObligation","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"obligationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["contracts"],"operationId":"updateObligation","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"obligationId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteObligationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"delete":{"tags":["contracts"],"operationId":"deleteObligation","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"obligationId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/admin/tenants/{tenantId}/subscription":{"get":{"tags":["commercial"],"summary":"Consulta a assinatura de um tenant","description":"Exclusivo de PLATFORM_ADMIN","operationId":"adminSubscription","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"put":{"tags":["commercial"],"summary":"Atribui trial ou assinatura a um tenant","description":"Exclusivo de PLATFORM_ADMIN","operationId":"assignSubscription","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionWriteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/admin/plans/{planId}":{"put":{"tags":["commercial"],"summary":"Cria ou atualiza plano e entitlements","description":"Exclusivo de PLATFORM_ADMIN","operationId":"upsertPlan","parameters":[{"name":"planId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanWriteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/clauses/{clauseId}":{"get":{"tags":["clauses"],"operationId":"get_5","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClauseResponse"}}}}}},"put":{"tags":["clauses"],"operationId":"update_1","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClauseRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClauseResponse"}}}}}},"delete":{"tags":["clauses"],"operationId":"archive_1","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/verify/{signatureId}/check":{"post":{"tags":["public-verification-controller"],"operationId":"check","parameters":[{"name":"signatureId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVerificationCheckRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/qualified/prepare":{"post":{"tags":["public-signing-controller"],"operationId":"prepareQualified","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicQualifiedPrepareRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/qualified/complete":{"post":{"tags":["public-signing-controller"],"operationId":"completeQualified","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicQualifiedCompleteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/otp":{"post":{"tags":["public-signing-controller"],"operationId":"startOtp","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/delegate":{"post":{"tags":["public-signing-controller"],"operationId":"delegate","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/decline":{"post":{"tags":["public-signing-controller"],"operationId":"decline","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeclineRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/complete":{"post":{"tags":["public-signing-controller"],"operationId":"complete","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCompleteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/biometric":{"post":{"tags":["public-signing-controller"],"operationId":"verifyBiometric","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}},{"name":"consentAccepted","in":"query","required":true,"schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["liveImage","referenceImage"],"type":"object","properties":{"referenceImage":{"type":"string","format":"binary"},"liveImage":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/action":{"post":{"tags":["public-signing-controller"],"operationId":"participantAction","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicParticipantActionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/validate":{"post":{"tags":["validate"],"summary":"Valida um documento assinado digitalmente","description":"Validação completa de assinaturas PAdES, CAdES, XAdES ou ASiC. Retorna relatório detalhado com status de cada assinatura, cadeia de confiança, validade do carimbo de tempo e erros encontrados.","operationId":"validate","requestBody":{"description":"Documento assinado em Base64 com opções de validação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ValidateResponse"}}}}}}},"/api/v1/trust-anchors/refresh":{"post":{"tags":["trust-anchors"],"summary":"Força refresh da LOTL europeia","description":"Força download e atualização da LOTL europeia (eIDAS). Exclusivo de PLATFORM_ADMIN.","operationId":"refreshLotl","responses":{"500":{"description":"Erro ao atualizar LOTL","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"Refresh concluído","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Credencial sem papel PLATFORM_ADMIN","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/trust-anchors/icp-brasil":{"post":{"tags":["trust-anchors"],"summary":"Importa raízes ICP-Brasil","description":"Importa certificados raiz do ITI (DER/PEM em Base64) para trust anchors. Exclusivo de PLATFORM_ADMIN.","operationId":"importIcpBrasilRoots","requestBody":{"description":"Certificados raiz em Base64 (DER/PEM)","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"required":true},"responses":{"400":{"description":"Certificado inválido","content":{"*/*":{"schema":{"type":"object"}}}},"403":{"description":"Credencial sem papel PLATFORM_ADMIN","content":{"*/*":{"schema":{"type":"object"}}}},"500":{"description":"Erro interno","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"Importado","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/timestamp":{"post":{"tags":["timestamp"],"summary":"Solicita carimbo de tempo para um hash/documento","description":"Recebe um hash (ou documento completo) e solicita carimbo de tempo à TSA configurada. Retorna o TimeStampToken RFC 3161 em Base64.","operationId":"timestamp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimestampRequest"}}},"required":true},"responses":{"502":{"description":"A TSA recusou ou não concluiu a solicitação","content":{"*/*":{"schema":{"type":"object"}}}},"400":{"description":"Requisição inválida","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Erro interno no processamento","content":{"*/*":{"schema":{"type":"object"}}}},"200":{"description":"Carimbo de tempo gerado com sucesso","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TimestampResponse"}}}},"503":{"description":"TSA ICP-Brasil não configurada","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/templates":{"get":{"tags":["templates"],"operationId":"list_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["templates"],"operationId":"create","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/{templateId}/sign-requests":{"post":{"tags":["templates"],"operationId":"createSignRequest","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFromTemplateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/{templateId}/render":{"post":{"tags":["templates"],"operationId":"render","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/pdf":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/{templateId}/export-docx":{"post":{"tags":["templates-docx"],"operationId":"exportDocx","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/{templateId}/clone":{"post":{"tags":["templates"],"operationId":"cloneTemplate","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloneTemplateRequest"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/import-docx":{"post":{"tags":["templates-docx"],"operationId":"importDocx","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","required":false,"schema":{"type":"string"}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}},{"name":"defaultLevel","in":"query","required":false,"schema":{"type":"string","default":"AES"}},{"name":"defaultChannel","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/sign":{"post":{"tags":["sign"],"summary":"Assina um documento","description":"Aplica uma assinatura PAdES/CAdES/XAdES sobre o documento fornecido em Base64. Apenas PAdES-B está implementado nesta etapa.","operationId":"sign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignRequest"}}},"required":true},"responses":{"501":{"description":"Formato/nível não suportado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Documento assinado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignResponse"}}}}}}},"/api/v1/sign-requests":{"get":{"tags":["sign-requests"],"summary":"Lista solicitações recentes do tenant","description":"Retorna no máximo as 100 solicitações mais recentes do tenant autenticado, sem expor links de assinatura.","operationId":"list_2","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusResponse"}}}}}}},"post":{"tags":["sign-requests"],"summary":"Cria uma solicitação de assinatura eletrônica","description":"Registra um documento e seus participantes com roteamento sequencial, paralelo ou misto por etapas. Suporta papéis de assinatura, aprovação, aceite, ciência, preenchimento, cópia e observação; SES/AES ou assinatura qualificada; autenticação multifator por participante; campos normalizados; lembretes; TTL; metadados; webhook de conclusão e segredo HMAC.","operationId":"create_1","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequest"}}},"required":true},"responses":{"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Solicitação criada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResponse"}}}}}}},"/api/v1/sign-requests/{requestId}/signatories/{signatoryId}/biometric":{"post":{"tags":["sign-requests"],"summary":"Cria prova biométrica para um signatário da solicitação","description":"As imagens são encaminhadas ao serviço interno em memória e descartadas; somente hashes, scores e decisão ficam persistidos.","operationId":"verifyBiometric_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"signatoryId","in":"path","required":true,"schema":{"type":"string"}},{"name":"consentAccepted","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"consentId","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["liveImage","referenceImage"],"type":"object","properties":{"referenceImage":{"type":"string","format":"binary"},"liveImage":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/sign":{"post":{"tags":["sign-requests"],"summary":"Assina um documento em uma solicitação existente","description":"O signatário informa seu ID e, para AES, o código OTP. O documento é assinado sobre o PDF atual da solicitação e o estado do signatário é atualizado.","operationId":"sign_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignActionRequest"}}},"required":true},"responses":{"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Assinatura aplicada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignResultResponse"}}}},"404":{"description":"Solicitação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sign-requests/{requestId}/qualified/prepare":{"post":{"tags":["sign-requests"],"summary":"Prepara assinatura qualificada com certificado local","description":"Recebe somente o certificado público, congela a revisão do PDF e devolve os bytes a serem assinados pelo Web PKI, agente local ou provedor em nuvem. PIN e chave privada não transitam pela API.","operationId":"prepareQualified_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualifiedPrepareRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/qualified/complete":{"post":{"tags":["sign-requests"],"summary":"Conclui assinatura qualificada com certificado local","description":"Valida o valor criptográfico retornado pelo dispositivo contra a operação preparada e incorpora a assinatura PAdES ao PDF.","operationId":"completeQualified_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualifiedCompleteRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/qualified/cloud/sign":{"post":{"tags":["sign-requests"],"summary":"Assina com certificado ICP-Brasil em nuvem","description":"Executa prepare e complete no servidor usando um PSC (BirdID, ViDaaS, NeoID, RemoteID, SafeID). O accessToken é a autorização OAuth concedida pelo próprio titular e não é persistido. O documento não sai da plataforma: o PSC recebe apenas o resumo criptográfico.","operationId":"signQualifiedWithCloud","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualifiedCloudSignRequest"}}},"required":true},"responses":{"200":{"description":"Documento assinado","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Falha no provedor de nuvem","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sign-requests/{requestId}/participants/{signatoryId}/resend":{"post":{"tags":["sign-requests"],"summary":"Revoga links antigos e reenvia um novo convite","operationId":"resend","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"signatoryId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/participants/{signatoryId}/decline":{"post":{"tags":["sign-requests"],"summary":"Recusa uma solicitação com motivo auditável","operationId":"decline_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"signatoryId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeclineRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/participants/action":{"post":{"tags":["sign-requests"],"summary":"Conclui aprovação, aceite, ciência ou preenchimento de formulário","operationId":"participantAction_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantActionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/bulk":{"post":{"tags":["sign-requests"],"summary":"Cria até 100 solicitações em lote","operationId":"createBulk","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCreateRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-electronic":{"post":{"tags":["sign-electronic"],"summary":"Assina um documento eletronicamente (SES/AES)","description":"Aplica uma assinatura eletrônica sem exigir certificado digital do signatário. A identidade é comprovada por fatores de autenticação; o documento é selado com o certificado organizacional em PAdES-B e a trilha de evidências é embutida como anexo PDF. Para AES, inclua otp.proof de uma transação verificada.","operationId":"sign_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectronicSignRequest"}}},"required":true},"responses":{"200":{"description":"Documento assinado eletronicamente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectronicSignResponse"}}}},"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/reviews":{"get":{"tags":["contract-collaboration"],"operationId":"list_3","parameters":[{"name":"targetType","in":"query","required":true,"schema":{"type":"string","enum":["CONTRACT","TEMPLATE"]}},{"name":"targetId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["contract-collaboration"],"operationId":"create_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReviewRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewResponse"}}}}}}},"/api/v1/reviews/{reviewId}/submit":{"post":{"tags":["contract-collaboration"],"operationId":"submit","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewResponse"}}}}}}},"/api/v1/reviews/{reviewId}/decision":{"post":{"tags":["contract-collaboration"],"operationId":"decide","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewDecisionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewResponse"}}}}}}},"/api/v1/reviews/{reviewId}/comments":{"post":{"tags":["contract-collaboration"],"operationId":"comment","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCommentRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}}}}},"/api/v1/platform/tenants":{"get":{"tags":["platform"],"summary":"Lista empresas cadastradas","description":"Exclusivo da chave PLATFORM_ADMIN.","operationId":"listTenants","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["platform"],"summary":"Cadastra uma empresa e emite a chave administrativa inicial uma única vez","operationId":"registerTenant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenantRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/platform/api-keys":{"get":{"tags":["platform"],"summary":"Lista metadados das chaves da empresa autenticada","operationId":"listApiKeys","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["platform"],"summary":"Gera uma chave de integração da empresa autenticada uma única vez","operationId":"createApiKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/otp/verify":{"post":{"tags":["otp"],"summary":"Verifica o código OTP submetido","description":"Marca a transação como verificada em caso de sucesso. O timestamp retornado deve ser repassado como otp.proof.verifiedAt na chamada posterior a /sign-electronic com nível AES.","operationId":"verify","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpVerifyRequest"}}},"required":true},"responses":{"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Resultado da verificação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpVerifyResponse"}}}}}}},"/api/v1/otp/send":{"post":{"tags":["otp"],"summary":"Envia um OTP para o destino informado","description":"Em modo de teste, expõe o código aceito para fins de exercício do fluxo AES. Em produção, dispara a entrega real (SMS/WhatsApp) e NÃO retorna o código.","operationId":"send","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpSendRequest"}}},"required":true},"responses":{"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OTP enviado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OtpSendResponse"}}}},"429":{"description":"Limite de emissão por destino ou IP atingido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Limitador OTP sem segredo configurado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboarding/organizations":{"post":{"tags":["onboarding"],"summary":"Cria uma empresa e retorna sua chave administrativa uma única vez","operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/keystore/pkcs12":{"post":{"tags":["keystore"],"summary":"Registra PKCS#12","description":"Desativado por segurança: use volume de segredos ou HSM.","operationId":"registerPkcs12","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/keystore/pkcs11":{"post":{"tags":["keystore"],"summary":"Registra PKCS#11","description":"Requer adaptador DSS específico do HSM configurado.","operationId":"registerPkcs11","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/identity/sso/providers":{"get":{"tags":["human-identity-controller"],"operationId":"oidcProviders","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OidcProviderView"}}}}}}},"post":{"tags":["human-identity-controller"],"operationId":"createOidcProvider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveOidcProviderRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OidcProviderView"}}}}}}},"/api/v1/identity/invitations":{"get":{"tags":["human-identity-controller"],"operationId":"invitations","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvitationView"}}}}}}},"post":{"tags":["human-identity-controller"],"operationId":"invite","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInvitationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InvitationIssued"}}}}}}},"/api/v1/envelopes":{"get":{"tags":["multi-document-envelopes"],"operationId":"list_5","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["multi-document-envelopes"],"operationId":"create_3","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEnvelopeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/envelopes/{envelopeId}/cancel":{"post":{"tags":["multi-document-envelopes"],"operationId":"cancel","parameters":[{"name":"envelopeId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/documents/upload":{"post":{"tags":["document-controller"],"operationId":"uploadDocument","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts":{"get":{"tags":["contracts"],"operationId":"list_6","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["DRAFT","IN_REVIEW","SENT_FOR_SIGNATURE","ACTIVE","EXPIRED","TERMINATED"]}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["contracts"],"operationId":"create_4","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteContractRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/transitions":{"post":{"tags":["contracts"],"operationId":"transition","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/sync-signing-status":{"post":{"tags":["contracts"],"operationId":"synchronizeSigningStatus","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/restore":{"post":{"tags":["contracts"],"operationId":"restore","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/obligations":{"get":{"tags":["contracts"],"operationId":"listObligations","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["OPEN","IN_PROGRESS","COMPLETED","WAIVED"]}},{"name":"dueBefore","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["contracts"],"operationId":"createObligation","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteObligationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/archive":{"post":{"tags":["contracts"],"operationId":"archive","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/portal":{"post":{"tags":["commercial"],"summary":"Cria sessão no portal do cliente do provedor configurado","operationId":"portal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/checkout":{"post":{"tags":["commercial"],"summary":"Cria checkout somente quando existe adaptador homologado e configurado","operationId":"checkout","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/clauses":{"get":{"tags":["clauses"],"operationId":"list_7","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"}},{"name":"tag","in":"query","required":false,"schema":{"type":"string"}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["clauses"],"operationId":"create_5","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClauseRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClauseResponse"}}}}}}},"/api/v1/clauses/{clauseId}/references":{"post":{"tags":["clauses"],"operationId":"reference","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClauseReferenceRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ClauseReferenceResponse"}}}}}}},"/api/v1/biometric/verifications":{"get":{"tags":["biometric-verifications"],"summary":"Lista até 100 verificações pendentes de revisão da própria empresa","operationId":"pendingReview","parameters":[{"name":"decision","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}},"post":{"tags":["biometric-verifications"],"summary":"Compara uma captura viva com uma referência sem armazenar as imagens","operationId":"verify_1","parameters":[{"name":"subjectDocumentId","in":"query","required":true,"schema":{"type":"string"}},{"name":"documentSha256","in":"query","required":true,"schema":{"type":"string"}},{"name":"consentId","in":"query","required":false,"schema":{"type":"string"}},{"name":"consentAccepted","in":"query","required":true,"schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["liveImage","referenceImage"],"type":"object","properties":{"referenceImage":{"type":"string","format":"binary"},"liveImage":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/biometric/verifications/{verificationId}/review":{"post":{"tags":["biometric-verifications"],"summary":"Rejeita manualmente uma decisão automática REVIEW; aprovação exige nova captura","operationId":"review","parameters":[{"name":"verificationId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/biometric/verifications/references":{"post":{"tags":["biometric-verifications"],"summary":"Cadastra ou substitui a referência facial confiável de um titular","operationId":"enrollReference","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollReferenceRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/biometric/verifications/references/revoke":{"post":{"tags":["biometric-verifications"],"summary":"Revoga a referência facial confiável de um titular","operationId":"revokeReference","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeReferenceRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/auth/session/rotate":{"post":{"tags":["human-auth-controller"],"operationId":"rotate","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}}}}},"/api/v1/auth/mfa/totp/enroll":{"post":{"tags":["human-auth-controller"],"operationId":"enrollTotp","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpEnrollment"}}}}}}},"/api/v1/auth/mfa/totp/confirm":{"post":{"tags":["human-auth-controller"],"operationId":"confirmTotp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmTotpRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RecoveryCodes"}}}}}}},"/api/v1/auth/mfa/challenge":{"post":{"tags":["human-auth-controller"],"operationId":"completeMfa","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["human-auth-controller"],"operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/v1/auth/login":{"post":{"tags":["human-auth-controller"],"operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}}}},"/api/v1/auth/invitations/accept":{"post":{"tags":["human-auth-controller"],"operationId":"acceptInvitation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInvitationRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}}}}},"/api/v1/approval-workflows":{"get":{"tags":["approvals"],"operationId":"list_9","parameters":[{"name":"targetType","in":"query","required":true,"schema":{"type":"string","enum":["CONTRACT","TEMPLATE"]}},{"name":"targetId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"post":{"tags":["approvals"],"operationId":"create_6","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApprovalWorkflowRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApprovalWorkflowResponse"}}}}}}},"/api/v1/approval-workflows/{workflowId}/start":{"post":{"tags":["approvals"],"operationId":"start","parameters":[{"name":"workflowId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApprovalWorkflowResponse"}}}}}}},"/api/v1/approval-workflows/{workflowId}/decisions":{"post":{"tags":["approvals"],"operationId":"decide_1","parameters":[{"name":"workflowId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApprovalWorkflowResponse"}}}}}}},"/api/v1/approval-workflows/{workflowId}/cancel":{"post":{"tags":["approvals"],"operationId":"cancel_1","parameters":[{"name":"workflowId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApprovalWorkflowResponse"}}}}}}},"/api/v1/templates/{templateId}":{"get":{"tags":["templates"],"operationId":"get","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"delete":{"tags":["templates"],"operationId":"delete","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}},"patch":{"tags":["templates"],"operationId":"update_2","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentTemplatePatchRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}/participants/{signatoryId}":{"patch":{"tags":["sign-requests"],"summary":"Corrige os dados de um participante pendente","description":"Revoga links anteriores. Um novo link é emitido imediatamente apenas se a etapa do participante já estiver elegível; em etapas futuras, url/sentAt permanecem nulos.","operationId":"correctParticipant","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"signatoryId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrectParticipantRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/platform/tenants/{tenantId}/status":{"patch":{"tags":["platform"],"summary":"Habilita ou desabilita uma empresa sem excluir seus dados","description":"Exclusivo da chave PLATFORM_ADMIN.","operationId":"updateTenantStatus","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantStatusRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/identity/members/{membershipId}":{"patch":{"tags":["human-identity-controller"],"operationId":"updateMember","parameters":[{"name":"membershipId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMembershipRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MemberView"}}}}}}},"/verify/{signatureId}":{"get":{"tags":["public-verification-controller"],"operationId":"page","parameters":[{"name":"signatureId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/verify/{signatureId}/report":{"get":{"tags":["public-verification-controller"],"operationId":"report","parameters":[{"name":"signatureId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}":{"get":{"tags":["public-signing-controller"],"operationId":"page_1","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/sign/{token}/qualified/config":{"get":{"tags":["public-signing-controller"],"operationId":"qualifiedConfig","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/sign/{token}/document":{"get":{"tags":["public-signing-controller"],"operationId":"document","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/sign/{token}/biometric/{verificationId}":{"get":{"tags":["public-signing-controller"],"operationId":"biometricStatus","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}},{"name":"verificationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/trust-anchors":{"get":{"tags":["trust-anchors"],"summary":"Lista âncoras de confiança ativas","description":"Retorna lista de âncoras de confiança configuradas: LOTL europeia + raízes ITI ICP-Brasil","operationId":"list","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/templates/{templateId}/versions":{"get":{"tags":["templates"],"operationId":"versions","parameters":[{"name":"templateId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/sign-requests/{requestId}":{"get":{"tags":["sign-requests"],"summary":"Consulta o status de uma solicitação de assinatura","description":"Retorna o estado da solicitação, data de expiração e o status de cada signatário.","operationId":"getStatus","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Status da solicitação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"400":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Solicitação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["sign-requests"],"summary":"Cancela uma solicitação de assinatura pendente","description":"Cancela uma solicitação que ainda não foi concluída. Não é possível cancelar solicitações já concluídas, canceladas ou expiradas.","operationId":"cancel_2","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Solicitação cancelada com sucesso","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Solicitação não pode ser cancelada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Solicitação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sign-requests/{requestId}/signed-document":{"get":{"tags":["sign-requests"],"summary":"Baixa o PDF assinado","description":"Disponível somente ao tenant da solicitação após a conclusão.","operationId":"downloadSignedDocument","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/seal":{"get":{"tags":["seal"],"summary":"Estado do selo organizacional","description":"Subject, emissor, validade, dias até expirar e se a cadeia encadeia na ICP-Brasil. Use após provisionar o certificado para confirmar que o selo correto está em uso.","operationId":"seal","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SealStatus"}}}}}}},"/api/v1/reviews/{reviewId}":{"get":{"tags":["contract-collaboration"],"operationId":"get_1","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReviewResponse"}}}}}}},"/api/v1/reviews/{reviewId}/timeline":{"get":{"tags":["contract-collaboration"],"operationId":"timeline","parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/platform/overview":{"get":{"tags":["platform"],"summary":"Resumo do tenant autenticado para o dashboard","operationId":"overview","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/platform/deliveries":{"get":{"tags":["platform"],"summary":"Lista as entregas de e-mail, webhook e mensageria do tenant","operationId":"listDeliveries","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/keystore":{"get":{"tags":["keystore"],"summary":"Lista entradas de certificado","description":"Disponível após configurar um KeyEntryProvider de produção.","operationId":"list_4","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/keystore/{alias}":{"get":{"tags":["keystore"],"operationId":"get_2","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["keystore"],"operationId":"remove","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/identity/members":{"get":{"tags":["human-identity-controller"],"operationId":"members","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberView"}}}}}}}},"/api/v1/envelopes/{envelopeId}":{"get":{"tags":["multi-document-envelopes"],"operationId":"get_3","parameters":[{"name":"envelopeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/envelopes/{envelopeId}/download":{"get":{"tags":["multi-document-envelopes"],"operationId":"download","parameters":[{"name":"envelopeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/zip":{"schema":{"type":"object"}}}}}}},"/api/v1/documents":{"get":{"tags":["document-controller"],"operationId":"listDocuments","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/documents/{documentId}":{"get":{"tags":["document-controller"],"operationId":"getDocument","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/documents/{documentId}/status":{"get":{"tags":["document-controller"],"operationId":"getDocumentStatus","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/documents/{documentId}/download":{"get":{"tags":["document-controller"],"operationId":"downloadDocument","parameters":[{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/{contractId}/timeline":{"get":{"tags":["contracts"],"operationId":"timeline_1","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/renewals":{"get":{"tags":["contracts"],"operationId":"renewals","parameters":[{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/contracts/obligations/due":{"get":{"tags":["contracts"],"operationId":"dueObligations","parameters":[{"name":"until","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":25}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/usage":{"get":{"tags":["commercial"],"summary":"Consulta consumo e saldo de quotas do período atual","operationId":"usage","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/subscription":{"get":{"tags":["commercial"],"summary":"Consulta plano e assinatura do tenant atual","operationId":"subscription","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/plans":{"get":{"tags":["commercial"],"summary":"Lista o catálogo público para tenants autenticados","operationId":"catalog","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/invoices":{"get":{"tags":["commercial"],"summary":"Lista invoices normalizados do tenant","operationId":"invoices","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/admin/tenants/{tenantId}/usage":{"get":{"tags":["commercial"],"summary":"Consulta as quotas de um tenant","description":"Exclusivo de PLATFORM_ADMIN","operationId":"adminUsage","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/admin/tenants/{tenantId}/invoices":{"get":{"tags":["commercial"],"summary":"Consulta invoices de um tenant","description":"Exclusivo de PLATFORM_ADMIN","operationId":"adminInvoices","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/commercial/admin/plans":{"get":{"tags":["commercial"],"summary":"Lista planos ativos e inativos","description":"Exclusivo de PLATFORM_ADMIN","operationId":"allPlans","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/clauses/{clauseId}/versions":{"get":{"tags":["clauses"],"operationId":"versions_1","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/clauses/{clauseId}/timeline":{"get":{"tags":["clauses"],"operationId":"timeline_2","parameters":[{"name":"clauseId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/clauses/references":{"get":{"tags":["clauses"],"operationId":"references","parameters":[{"name":"targetType","in":"query","required":true,"schema":{"type":"string","enum":["CONTRACT","TEMPLATE"]}},{"name":"targetId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/biometric/verifications/{verificationId}":{"get":{"tags":["biometric-verifications"],"summary":"Consulta uma prova direta vinculada ao titular","operationId":"status","parameters":[{"name":"verificationId","in":"path","required":true,"schema":{"type":"string"}},{"name":"subjectDocumentId","in":"query","required":true,"schema":{"type":"string"}},{"name":"documentSha256","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/auth/sso/providers":{"get":{"tags":["human-auth-controller"],"operationId":"discoverSso","parameters":[{"name":"tenant","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicOidcProviderView"}}}}}}}},"/api/v1/auth/sessions":{"get":{"tags":["human-auth-controller"],"operationId":"sessions","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SessionView"}}}}}}},"delete":{"tags":["human-auth-controller"],"operationId":"revokeAll","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RevokedSessionsResponse"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["human-auth-controller"],"operationId":"me","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}}}}},"/api/v1/audit":{"get":{"tags":["audit"],"summary":"Lista eventos de auditoria do tenant","description":"Devolve os eventos mais recentes com o hash encadeado de cada um e o veredito de integridade da cadeia. Limitado a 200 eventos por consulta.","operationId":"list_8","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditResponse"}}}}}}},"/api/v1/approval-workflows/{workflowId}":{"get":{"tags":["approvals"],"operationId":"get_6","parameters":[{"name":"workflowId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApprovalWorkflowResponse"}}}}}}},"/api/v1/approval-workflows/{workflowId}/timeline":{"get":{"tags":["approvals"],"operationId":"timeline_3","parameters":[{"name":"workflowId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/platform/api-keys/{credentialId}":{"delete":{"tags":["platform"],"summary":"Revoga uma chave de integração","operationId":"revokeApiKey","parameters":[{"name":"credentialId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/v1/identity/invitations/{invitationId}":{"delete":{"tags":["human-identity-controller"],"operationId":"revokeInvitation","parameters":[{"name":"invitationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/clauses/references/{referenceId}":{"delete":{"tags":["clauses"],"operationId":"removeReference","parameters":[{"name":"referenceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/auth/mfa/totp":{"delete":{"tags":["human-auth-controller"],"operationId":"disableTotp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableTotpRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"UpdateTenantRequest":{"type":"object","properties":{"name":{"maxLength":160,"minLength":0,"type":"string"},"contactEmail":{"maxLength":254,"minLength":0,"type":"string"}}},"CommentResponse":{"type":"object","properties":{"id":{"type":"string"},"reviewId":{"type":"string"},"body":{"type":"string"},"authorCredentialId":{"type":"string"},"resolvedBy":{"type":"string"},"resolvedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"}}},"SaveOidcProviderRequest":{"required":["clientId","displayName","issuerUri"],"type":"object","properties":{"displayName":{"maxLength":120,"minLength":0,"type":"string"},"issuerUri":{"maxLength":1000,"minLength":0,"type":"string"},"clientId":{"maxLength":255,"minLength":0,"type":"string"},"clientSecret":{"maxLength":2000,"minLength":0,"type":"string"},"scopes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"enforceSso":{"type":"boolean"}}},"OidcProviderView":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"issuerUri":{"type":"string"},"clientId":{"type":"string"},"scopes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"hasClientSecret":{"type":"boolean"},"enabled":{"type":"boolean"},"enforceSso":{"type":"boolean"},"authorizationAvailable":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"WriteContractRequest":{"required":["title"],"type":"object","properties":{"title":{"maxLength":255,"minLength":0,"type":"string"},"counterpartyName":{"maxLength":255,"minLength":0,"type":"string"},"counterpartyDocument":{"maxLength":256,"minLength":0,"type":"string"},"documentId":{"pattern":"[0-9a-fA-F-]{36}","type":"string"},"signRequestId":{"pattern":"[0-9a-fA-F-]{36}","type":"string"},"effectiveAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"autoRenewal":{"type":"boolean"},"renewalNoticeDays":{"maximum":3650,"minimum":1,"type":"integer","format":"int32"},"ownerEmail":{"maxLength":320,"minLength":0,"type":"string"},"valueMinor":{"type":"integer","format":"int64"},"currency":{"pattern":"[A-Za-z]{3}","type":"string"},"tags":{"maxItems":30,"minItems":0,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","additionalProperties":{"type":"object"}}}},"WriteObligationRequest":{"required":["title"],"type":"object","properties":{"title":{"maxLength":255,"minLength":0,"type":"string"},"description":{"maxLength":10000,"minLength":0,"type":"string"},"ownerEmail":{"maxLength":320,"minLength":0,"type":"string"},"dueAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["OPEN","IN_PROGRESS","COMPLETED","WAIVED"]}}},"SubscriptionWriteRequest":{"required":["planId","status"],"type":"object","properties":{"planId":{"maxLength":64,"minLength":0,"type":"string"},"status":{"type":"string","enum":["TRIALING","ACTIVE","PAST_DUE","PAUSED","INCOMPLETE","CANCELED","EXPIRED"]},"billingProvider":{"maxLength":64,"minLength":0,"type":"string"},"providerCustomerRef":{"maxLength":255,"minLength":0,"type":"string"},"providerSubscriptionRef":{"maxLength":255,"minLength":0,"type":"string"},"currentPeriodStart":{"type":"string","format":"date-time"},"currentPeriodEnd":{"type":"string","format":"date-time"},"trialEndsAt":{"type":"string","format":"date-time"},"cancelAtPeriodEnd":{"type":"boolean"}}},"EntitlementWriteRequest":{"required":["metric"],"type":"object","properties":{"metric":{"type":"string","enum":["API_CALLS","DOCUMENTS","SIGNATURE_REQUESTS","TEMPLATE_GENERATIONS","CONTRACTS","USERS","STORAGE_BYTES"]},"hardLimit":{"minimum":0,"type":"integer","format":"int64"}}},"PlanWriteRequest":{"required":["billingInterval","currency","displayName","entitlements","id"],"type":"object","properties":{"id":{"pattern":"[a-z0-9][a-z0-9_-]{1,63}","type":"string"},"displayName":{"maxLength":160,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string"},"currency":{"pattern":"[A-Za-z]{3}","type":"string"},"priceMinor":{"minimum":0,"type":"integer","format":"int64"},"billingInterval":{"type":"string","enum":["MONTHLY","YEARLY"]},"trialDays":{"maximum":365,"minimum":0,"type":"integer","format":"int32"},"active":{"type":"boolean"},"entitlements":{"maxItems":32,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/EntitlementWriteRequest"}}}},"UpdateClauseRequest":{"required":["bodyText","title"],"type":"object","properties":{"title":{"maxLength":255,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string"},"bodyText":{"maxLength":200000,"minLength":0,"type":"string"},"tags":{"maxItems":50,"minItems":0,"type":"array","items":{"type":"string"}},"changeSummary":{"maxLength":500,"minLength":0,"type":"string"}}},"ClauseResponse":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"currentVersionNumber":{"type":"integer","format":"int32"},"bodyText":{"type":"string"},"archivedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"}}},"PublicVerificationCheckRequest":{"required":["documentSha256"],"type":"object","properties":{"documentSha256":{"pattern":"(?i)[0-9a-f]{64}","type":"string"}}},"PublicQualifiedPrepareRequest":{"required":["certificateBase64","termText"],"type":"object","properties":{"certificateBase64":{"type":"string"},"certificateChainBase64":{"type":"array","items":{"type":"string"}},"consentAccepted":{"type":"boolean"},"termText":{"type":"string"},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"PublicQualifiedCompleteRequest":{"required":["operationId","signatureBase64","termText"],"type":"object","properties":{"operationId":{"type":"string"},"signatureBase64":{"type":"string"},"termText":{"type":"string"}}},"BiometricProof":{"required":["verificationId"],"type":"object","properties":{"verificationId":{"type":"string"}}},"DelegateRequest":{"required":["destination","documentId","name","termText"],"type":"object","properties":{"name":{"maxLength":200,"minLength":0,"type":"string"},"documentId":{"maxLength":64,"minLength":0,"type":"string"},"destination":{"maxLength":320,"minLength":0,"type":"string"},"dateOfBirth":{"maxLength":10,"minLength":0,"type":"string"},"identityVerificationConsent":{"type":"boolean"},"biometricReferenceSha256":{"pattern":"(?i)[0-9a-f]{64}","type":"string"},"termText":{"maxLength":12000,"minLength":0,"type":"string"},"otpProof":{"$ref":"#/components/schemas/OtpProof"},"biometricProof":{"$ref":"#/components/schemas/BiometricProof"}}},"OtpProof":{"required":["code","transactionId"],"type":"object","properties":{"transactionId":{"type":"string"},"code":{"type":"string"}}},"PublicDeclineRequest":{"required":["reason","termText"],"type":"object","properties":{"reason":{"type":"string"},"termText":{"type":"string"}}},"GeolocationEvidence":{"type":"object","properties":{"consentGranted":{"type":"boolean"},"latitude":{"type":"number","format":"double"},"longitude":{"type":"number","format":"double"},"accuracyMeters":{"type":"number","format":"double"},"capturedAt":{"type":"string","format":"date-time"}}},"PublicCompleteRequest":{"type":"object","properties":{"transactionId":{"type":"string"},"code":{"type":"string"},"consentAccepted":{"type":"boolean"},"signingContext":{"$ref":"#/components/schemas/SigningContext"},"termText":{"type":"string"},"biometricVerificationId":{"type":"string"},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"SigningContext":{"type":"object","properties":{"geolocation":{"$ref":"#/components/schemas/GeolocationEvidence"}}},"PublicParticipantActionRequest":{"required":["action","termText"],"type":"object","properties":{"action":{"type":"string"},"consentAccepted":{"type":"boolean"},"termText":{"type":"string"},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"ValidateRequest":{"required":["documentBase64"],"type":"object","properties":{"documentBase64":{"type":"string","description":"Documento assinado em Base64 (PAdES, CAdES, XAdES ou ASiC)"},"validationLevel":{"type":"string","description":"Nível de validação desejado (B, T, LT, LTA)"},"jurisdiction":{"type":"string","description":"Jurisdição para validação (ICP_BRASIL, EIDAS)"},"validationPolicy":{"type":"string","description":"Política de validação personalizada (opcional)"}}},"SignatureValidationDetail":{"type":"object","properties":{"signatureId":{"type":"string","description":"ID único da assinatura"},"format":{"type":"string","description":"Formato da assinatura (PAdES, CAdES, XAdES, ASiC)"},"level":{"type":"string","description":"Nível de assinatura (B, T, LT, LTA)"},"valid":{"type":"boolean","description":"Se a assinatura é válida"},"signerName":{"type":"string","description":"Nome do signatário"},"issuer":{"type":"string","description":"Emissor do certificado"},"signingTime":{"type":"string","description":"Timestamp da assinatura","format":"date-time"},"subFilter":{"type":"string","description":"SubFilter/algoritmo de assinatura"},"certificateChainPem":{"type":"array","description":"Cadeia de certificados em PEM","items":{"type":"string","description":"Cadeia de certificados em PEM"}},"icpBrasil":{"type":"boolean","description":"Se a cadeia encadeia numa autoridade ICP-Brasil credenciada (critério do VALIDAR do ITI)"},"icpBrasilAnchor":{"type":"string","description":"DN da autoridade ICP-Brasil que ancorou a cadeia"},"platformSeal":{"type":"boolean","description":"Se o documento foi selado pelo selo organizacional desta plataforma (SES/AES marca própria)"}},"description":"Detalhes de cada assinatura encontrada no documento"},"ValidateResponse":{"type":"object","properties":{"valid":{"type":"boolean","description":"Se a validação passou (true) ou falhou (false)"},"signatures":{"type":"array","description":"Detalhes de cada assinatura encontrada no documento","items":{"$ref":"#/components/schemas/SignatureValidationDetail"}},"documentHashSha256":{"type":"string","description":"Hash SHA-256 do documento original (hex)"},"validationPolicy":{"type":"string","description":"Política de validação utilizada"},"timestamp":{"type":"string","description":"Timestamp da validação (ISO-8601)","format":"date-time"},"error":{"type":"string","description":"Motivo da falha quando a validação não pôde ser concluída"}}},"TimestampRequest":{"type":"object","properties":{"hash":{"type":"string","description":"Hash do documento em Base64 (SHA-256, 32 bytes)"},"documentBase64":{"type":"string","description":"Documento completo em Base64 (hash será calculado SHA-256)"},"hashAlgorithm":{"type":"string","description":"Algoritmo de hash (padrão: SHA-256)"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":{"type":"string"}}}},"TimestampResponse":{"type":"object","properties":{"timeStampTokenBase64":{"type":"string","description":"TimeStampToken RFC 3161 em Base64 (DER/ASN.1)"},"timestamp":{"type":"string","description":"Timestamp da geração do carimbo (ISO-8601)","format":"date-time"}}},"ConditionalBlock":{"type":"object","properties":{"id":{"type":"string"},"placement":{"type":"string","enum":["BEFORE_BODY","AFTER_BODY"]},"order":{"type":"integer","format":"int32"},"condition":{"$ref":"#/components/schemas/TemplateCondition"},"content":{"type":"string"}}},"CreateTemplateRequest":{"required":["bodyTemplate","defaultLevel","name","titleTemplate"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"titleTemplate":{"type":"string"},"bodyTemplate":{"type":"string"},"defaultLevel":{"type":"string"},"defaultChannel":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/VariableDefinition"}},"conditionalBlocks":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalBlock"}}}},"JsonNode":{"type":"object"},"TemplateCondition":{"type":"object","properties":{"variable":{"type":"string"},"operator":{"type":"string","enum":["EQUALS","NOT_EQUALS","PRESENT","ABSENT","IN"]},"value":{"$ref":"#/components/schemas/JsonNode"}}},"VariableDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["STRING","NUMBER","BOOLEAN","DATE"]},"required":{"type":"boolean"},"defaultValue":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string"}}},"ConsentDto":{"required":["termHash","termId","termText"],"type":"object","properties":{"termId":{"maxLength":128,"minLength":0,"type":"string"},"termHash":{"pattern":"(?i)[0-9a-f]{64}","type":"string"},"termText":{"maxLength":12000,"minLength":0,"type":"string"}}},"CreateFromTemplateRequest":{"required":["jurisdiction","signatories"],"type":"object","properties":{"variables":{"type":"object","additionalProperties":{"type":"object"}},"level":{"type":"string"},"jurisdiction":{"type":"string"},"signatories":{"type":"array","items":{"$ref":"#/components/schemas/SignatoryDto"}},"ttl":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"webhookUrl":{"type":"string"},"webhookSecret":{"type":"string"}}},"SignatoryDto":{"required":["name"],"type":"object","properties":{"name":{"maxLength":200,"minLength":0,"type":"string"},"documentId":{"maxLength":64,"minLength":0,"type":"string"},"destination":{"maxLength":320,"minLength":0,"type":"string"},"authFactors":{"maxItems":8,"minItems":0,"type":"array","items":{"type":"string"}},"consent":{"$ref":"#/components/schemas/ConsentDto"},"userIp":{"maxLength":64,"minLength":0,"type":"string"},"userAgent":{"maxLength":1000,"minLength":0,"type":"string"},"dateOfBirth":{"maxLength":10,"minLength":0,"type":"string"},"identityVerificationConsent":{"type":"boolean"},"biometricReferenceSha256":{"pattern":"(?i)[0-9a-f]{64}","type":"string"},"role":{"maxLength":32,"minLength":0,"type":"string"},"routingOrder":{"type":"integer","format":"int32"},"allowDelegation":{"type":"boolean"},"privateMessage":{"maxLength":1000,"minLength":0,"type":"string"}}},"RenderRequest":{"type":"object","properties":{"variables":{"type":"object","additionalProperties":{"type":"object"}}}},"ExportRequest":{"type":"object","properties":{"variables":{"type":"object","additionalProperties":{"type":"object"}}}},"CloneTemplateRequest":{"type":"object","properties":{"name":{"type":"string"},"expectedVersion":{"type":"integer","format":"int64"}}},"SignRequest":{"required":["documentBase64","format","jurisdiction","keystoreRef","level"],"type":"object","properties":{"documentBase64":{"type":"string"},"format":{"type":"string"},"level":{"type":"string"},"jurisdiction":{"type":"string"},"keystoreRef":{"type":"string"},"signerInfo":{"type":"object","additionalProperties":{"type":"string"}}}},"SignResponse":{"type":"object","properties":{"signatureId":{"type":"string"},"signedDocumentBase64":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"certificateChain":{"type":"array","items":{"type":"string"}},"validationStatus":{"type":"string"}}},"CreateRequest":{"required":["documentBase64","jurisdiction","level","signatories","title"],"type":"object","properties":{"title":{"maxLength":255,"minLength":0,"type":"string"},"documentBase64":{"maxLength":8388608,"minLength":0,"type":"string"},"level":{"maxLength":16,"minLength":0,"type":"string"},"jurisdiction":{"maxLength":32,"minLength":0,"type":"string"},"signatories":{"maxItems":100,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/SignatoryDto"}},"ttl":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"webhookUrl":{"maxLength":2048,"minLength":0,"type":"string"},"webhookSecret":{"maxLength":512,"minLength":0,"type":"string"},"routingMode":{"maxLength":32,"minLength":0,"type":"string"},"fields":{"maxItems":200,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/DocumentFieldDto"}},"reminders":{"$ref":"#/components/schemas/ReminderPolicyDto"},"tags":{"maxItems":20,"minItems":0,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"allowDecline":{"type":"boolean"},"locale":{"maxLength":35,"minLength":0,"type":"string"}}},"DocumentFieldDto":{"required":["height","label","page","recipientIndex","type","width","x","y"],"type":"object","properties":{"id":{"maxLength":80,"minLength":0,"type":"string"},"type":{"maxLength":32,"minLength":0,"type":"string"},"label":{"maxLength":160,"minLength":0,"type":"string"},"recipientIndex":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"width":{"type":"number","format":"double"},"height":{"type":"number","format":"double"},"required":{"type":"boolean"},"readOnly":{"type":"boolean"},"defaultValue":{"maxLength":4000,"minLength":0,"type":"string"},"validationPattern":{"maxLength":200,"minLength":0,"type":"string"},"options":{"maxItems":50,"minItems":0,"type":"array","items":{"type":"string"}}}},"ReminderPolicyDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"firstAfterHours":{"type":"integer","format":"int32"},"intervalHours":{"type":"integer","format":"int32"},"maxReminders":{"type":"integer","format":"int32"}}},"CreateResponse":{"type":"object","properties":{"requestId":{"type":"string"},"signatories":{"type":"array","items":{"$ref":"#/components/schemas/SignatoryStatus"}},"status":{"type":"string"},"expiresAt":{"type":"string"},"signingLinks":{"type":"array","items":{"$ref":"#/components/schemas/SigningLink"}}}},"SignatoryStatus":{"type":"object","properties":{"signatoryId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"destination":{"type":"string"},"signedAt":{"type":"string"},"identityAssurance":{"type":"string"},"signatureId":{"type":"string"},"role":{"type":"string"},"routingOrder":{"type":"integer","format":"int32"},"allowDelegation":{"type":"boolean"},"completedAt":{"type":"string"},"declineReason":{"type":"string"},"reminderCount":{"type":"integer","format":"int32"}}},"SigningLink":{"type":"object","properties":{"signatoryId":{"type":"string"},"url":{"type":"string"}}},"SignActionRequest":{"required":["signatoryId"],"type":"object","properties":{"signatoryId":{"maxLength":80,"minLength":0,"type":"string"},"otpProof":{"$ref":"#/components/schemas/OtpProof"},"biometricProof":{"$ref":"#/components/schemas/BiometricProof"},"signingContext":{"$ref":"#/components/schemas/SigningContext"},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"SignResultResponse":{"type":"object","properties":{"requestId":{"type":"string"},"signatoryId":{"type":"string"},"signatureId":{"type":"string"},"signedDocumentBase64":{"type":"string"},"timestamp":{"type":"string"},"status":{"type":"string"},"certificateChain":{"type":"string"}}},"QualifiedPrepareRequest":{"required":["certificateBase64","signatoryId"],"type":"object","properties":{"signatoryId":{"type":"string"},"certificateBase64":{"type":"string"},"certificateChainBase64":{"type":"array","items":{"type":"string"}},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"QualifiedCompleteRequest":{"required":["operationId","signatoryId","signatureBase64"],"type":"object","properties":{"signatoryId":{"type":"string"},"operationId":{"type":"string"},"signatureBase64":{"type":"string"}}},"QualifiedCloudSignRequest":{"required":["accessToken","signatoryId"],"type":"object","properties":{"signatoryId":{"type":"string"},"accessToken":{"type":"string"},"provider":{"type":"string"}}},"DeclineRequest":{"required":["reason"],"type":"object","properties":{"reason":{"maxLength":1000,"minLength":0,"type":"string"}}},"ParticipantActionRequest":{"required":["action","signatoryId"],"type":"object","properties":{"signatoryId":{"maxLength":80,"minLength":0,"type":"string"},"action":{"maxLength":32,"minLength":0,"type":"string"},"fieldValues":{"type":"object","additionalProperties":{"type":"string"}}}},"BulkCreateRequest":{"required":["requests"],"type":"object","properties":{"requests":{"maxItems":100,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/CreateRequest"}}}},"ElectronicSignRequest":{"required":["authFactors","documentBase64","jurisdiction","level","signerDocumentId","signerName"],"type":"object","properties":{"documentBase64":{"maxLength":8388608,"minLength":0,"type":"string"},"level":{"maxLength":16,"minLength":0,"type":"string"},"jurisdiction":{"maxLength":32,"minLength":0,"type":"string"},"authFactors":{"maxItems":8,"minItems":0,"type":"array","items":{"type":"string"}},"signerName":{"maxLength":200,"minLength":0,"type":"string"},"signerDocumentId":{"maxLength":64,"minLength":0,"type":"string"},"consent":{"$ref":"#/components/schemas/ConsentDto"},"otp":{"$ref":"#/components/schemas/OtpProof"},"userIp":{"maxLength":64,"minLength":0,"type":"string"},"userAgent":{"maxLength":1000,"minLength":0,"type":"string"},"dateOfBirth":{"maxLength":10,"minLength":0,"type":"string"},"identityVerificationConsent":{"type":"boolean"},"signingContext":{"$ref":"#/components/schemas/SigningContext"},"biometricVerificationId":{"maxLength":128,"minLength":0,"type":"string"}}},"ElectronicSignResponse":{"type":"object","properties":{"signatureId":{"type":"string"},"signedDocumentBase64":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"requestedLevel":{"type":"string"},"attainedLevel":{"type":"string"},"jurisdiction":{"type":"string"},"validationStatus":{"type":"string"},"certificateChain":{"type":"array","items":{"type":"string"}},"evidenceJsonBase64":{"type":"string"}}},"CreateReviewRequest":{"required":["originalText","proposedText","targetId","targetType","title"],"type":"object","properties":{"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"maxLength":36,"minLength":0,"type":"string"},"baseTargetVersion":{"type":"integer","format":"int64"},"title":{"maxLength":255,"minLength":0,"type":"string"},"originalText":{"maxLength":200000,"minLength":0,"type":"string"},"proposedText":{"maxLength":200000,"minLength":0,"type":"string"}}},"ReviewResponse":{"type":"object","properties":{"id":{"type":"string"},"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"type":"string"},"baseTargetVersion":{"type":"integer","format":"int64"},"title":{"type":"string"},"originalText":{"type":"string"},"proposedText":{"type":"string"},"diff":{"$ref":"#/components/schemas/JsonNode"},"state":{"type":"string","enum":["DRAFT","OPEN","APPROVED","REJECTED","CHANGES_REQUESTED"]},"createdBy":{"type":"string"},"decidedBy":{"type":"string"},"decisionComment":{"type":"string"},"submittedAt":{"type":"string","format":"date-time"},"decidedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/CommentResponse"}}}},"ReviewDecisionRequest":{"required":["decision"],"type":"object","properties":{"decision":{"type":"string","enum":["APPROVE","REJECT","REQUEST_CHANGES"]},"comment":{"maxLength":2000,"minLength":0,"type":"string"}}},"CreateCommentRequest":{"required":["body"],"type":"object","properties":{"body":{"maxLength":10000,"minLength":0,"type":"string"}}},"CreateTenantRequest":{"required":["adminKeyLabel","contactEmail","name","slug"],"type":"object","properties":{"slug":{"maxLength":80,"minLength":0,"type":"string"},"name":{"maxLength":160,"minLength":0,"type":"string"},"contactEmail":{"maxLength":254,"minLength":0,"type":"string"},"adminKeyLabel":{"maxLength":120,"minLength":0,"type":"string"}}},"CreateApiKeyRequest":{"required":["label"],"type":"object","properties":{"label":{"maxLength":120,"minLength":0,"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"OtpVerifyRequest":{"required":["channel","code","documentSha256","signerDocumentId","transactionId"],"type":"object","properties":{"transactionId":{"type":"string"},"code":{"type":"string"},"channel":{"type":"string"},"signerDocumentId":{"type":"string"},"documentSha256":{"pattern":"(?i)^[0-9a-f]{64}$","type":"string"}}},"OtpVerifyResponse":{"type":"object","properties":{"verified":{"type":"boolean"},"verifiedAt":{"type":"string","format":"date-time"},"failureReason":{"type":"string"}}},"OtpSendRequest":{"required":["destination","documentSha256","signerDocumentId"],"type":"object","properties":{"destination":{"type":"string"},"channel":{"type":"string"},"signerDocumentId":{"type":"string"},"documentSha256":{"pattern":"(?i)^[0-9a-f]{64}$","type":"string"}}},"OtpSendResponse":{"type":"object","properties":{"transactionId":{"type":"string"},"channel":{"type":"string"},"testCode":{"type":"string"}}},"RegisterOrganizationRequest":{"required":["adminKeyLabel","contactEmail","name","slug"],"type":"object","properties":{"slug":{"maxLength":80,"minLength":2,"type":"string"},"name":{"maxLength":160,"minLength":2,"type":"string"},"contactEmail":{"maxLength":254,"minLength":0,"type":"string"},"adminKeyLabel":{"maxLength":120,"minLength":2,"type":"string"},"acceptedTerms":{"type":"boolean"}}},"CreateInvitationRequest":{"required":["email","role"],"type":"object","properties":{"email":{"maxLength":254,"minLength":0,"type":"string"},"role":{"type":"string","enum":["OWNER","ADMIN","MANAGER","MEMBER","VIEWER"]},"permissions":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["TENANT_READ","TENANT_MANAGE","MEMBERS_READ","MEMBERS_MANAGE","SECURITY_MANAGE","API_KEYS_MANAGE","DOCUMENTS_READ","DOCUMENTS_WRITE","CONTRACTS_READ","CONTRACTS_WRITE","APPROVALS_READ","APPROVALS_WRITE","BILLING_READ","BILLING_MANAGE"]}}}},"InvitationIssued":{"type":"object","properties":{"invitation":{"$ref":"#/components/schemas/InvitationView"},"token":{"type":"string"},"deliveryQueued":{"type":"boolean"}}},"InvitationView":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["OWNER","ADMIN","MANAGER","MEMBER","VIEWER"]},"permissions":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["TENANT_READ","TENANT_MANAGE","MEMBERS_READ","MEMBERS_MANAGE","SECURITY_MANAGE","API_KEYS_MANAGE","DOCUMENTS_READ","DOCUMENTS_WRITE","CONTRACTS_READ","CONTRACTS_WRITE","APPROVALS_READ","APPROVALS_WRITE","BILLING_READ","BILLING_MANAGE"]}},"state":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"}}},"CreateEnvelopeRequest":{"required":["documents","jurisdiction","level","signatories","title"],"type":"object","properties":{"title":{"maxLength":255,"minLength":0,"type":"string"},"documents":{"maxItems":20,"minItems":2,"type":"array","items":{"$ref":"#/components/schemas/EnvelopeDocumentRequest"}},"level":{"maxLength":16,"minLength":0,"type":"string"},"jurisdiction":{"maxLength":32,"minLength":0,"type":"string"},"signatories":{"maxItems":100,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/SignatoryDto"}},"ttl":{"type":"object","properties":{"seconds":{"type":"integer","format":"int64"},"zero":{"type":"boolean"},"nano":{"type":"integer","format":"int32"},"negative":{"type":"boolean"},"units":{"type":"array","items":{"type":"object","properties":{"durationEstimated":{"type":"boolean"},"timeBased":{"type":"boolean"},"dateBased":{"type":"boolean"}}}}}},"webhookUrl":{"maxLength":2048,"minLength":0,"type":"string"},"webhookSecret":{"maxLength":512,"minLength":0,"type":"string"},"routingMode":{"maxLength":32,"minLength":0,"type":"string"},"reminders":{"$ref":"#/components/schemas/ReminderPolicyDto"},"tags":{"maxItems":20,"minItems":0,"type":"array","items":{"type":"string"}},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"allowDecline":{"type":"boolean"},"locale":{"maxLength":35,"minLength":0,"type":"string"}}},"EnvelopeDocumentRequest":{"required":["documentId"],"type":"object","properties":{"documentId":{"maxLength":36,"minLength":0,"type":"string"},"title":{"maxLength":255,"minLength":0,"type":"string"},"fields":{"maxItems":200,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/DocumentFieldDto"}}}},"TransitionRequest":{"required":["targetStatus"],"type":"object","properties":{"targetStatus":{"type":"string","enum":["DRAFT","IN_REVIEW","SENT_FOR_SIGNATURE","ACTIVE","EXPIRED","TERMINATED"]},"reason":{"maxLength":500,"minLength":0,"type":"string"}}},"PortalRequest":{"required":["returnUrl"],"type":"object","properties":{"provider":{"maxLength":64,"minLength":0,"type":"string"},"returnUrl":{"maxLength":2048,"minLength":0,"type":"string"}}},"CheckoutRequest":{"required":["cancelUrl","planId","successUrl"],"type":"object","properties":{"planId":{"maxLength":64,"minLength":0,"type":"string"},"provider":{"maxLength":64,"minLength":0,"type":"string"},"successUrl":{"maxLength":2048,"minLength":0,"type":"string"},"cancelUrl":{"maxLength":2048,"minLength":0,"type":"string"}}},"CreateClauseRequest":{"required":["bodyText","slug","title"],"type":"object","properties":{"slug":{"maxLength":120,"minLength":0,"type":"string"},"title":{"maxLength":255,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string"},"bodyText":{"maxLength":200000,"minLength":0,"type":"string"},"tags":{"maxItems":50,"minItems":0,"type":"array","items":{"type":"string"}},"changeSummary":{"maxLength":500,"minLength":0,"type":"string"}}},"CreateClauseReferenceRequest":{"required":["targetId","targetType"],"type":"object","properties":{"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"maxLength":36,"minLength":0,"type":"string"},"clauseVersionNumber":{"type":"integer","format":"int32"},"insertionKey":{"maxLength":160,"minLength":0,"type":"string"}}},"ClauseReferenceResponse":{"type":"object","properties":{"id":{"type":"string"},"clauseId":{"type":"string"},"clauseVersionId":{"type":"string"},"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"type":"string"},"targetVersion":{"type":"integer","format":"int64"},"insertionKey":{"type":"string"},"insertedText":{"type":"string"},"createdBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"}}},"ReviewRequest":{"required":["decision","reason","reviewBasis"],"type":"object","properties":{"decision":{"type":"string"},"reviewBasis":{"type":"string"},"reason":{"maxLength":1000,"minLength":10,"type":"string"}}},"EnrollReferenceRequest":{"required":["consentAccepted","consentId","expiresAt","provenance","referenceSha256","subjectDocumentId"],"type":"object","properties":{"subjectDocumentId":{"maxLength":160,"minLength":0,"type":"string"},"referenceSha256":{"pattern":"(?i)[0-9a-f]{64}","type":"string"},"consentId":{"pattern":"(?i)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}","type":"string"},"consentAccepted":{"type":"boolean"},"provenance":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}},"RevokeReferenceRequest":{"required":["subjectDocumentId"],"type":"object","properties":{"subjectDocumentId":{"maxLength":160,"minLength":0,"type":"string"}}},"SessionResponse":{"type":"object","properties":{"tokenType":{"type":"string"},"accessToken":{"type":"string"},"sessionId":{"type":"string"},"idleExpiresAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"mfaVerified":{"type":"boolean"}}},"TotpEnrollment":{"type":"object","properties":{"secret":{"type":"string"},"provisioningUri":{"type":"string"}}},"ConfirmTotpRequest":{"required":["code"],"type":"object","properties":{"code":{"maxLength":6,"minLength":6,"type":"string"}}},"RecoveryCodes":{"type":"object","properties":{"recoveryCodes":{"type":"array","items":{"type":"string"}}}},"MfaChallengeRequest":{"required":["challengeToken"],"type":"object","properties":{"challengeToken":{"maxLength":128,"minLength":0,"type":"string"},"code":{"maxLength":8,"minLength":0,"type":"string"},"recoveryCode":{"maxLength":32,"minLength":0,"type":"string"}}},"LoginRequest":{"required":["email","password","tenant"],"type":"object","properties":{"tenant":{"maxLength":80,"minLength":0,"type":"string"},"email":{"maxLength":254,"minLength":0,"type":"string"},"password":{"maxLength":128,"minLength":0,"type":"string"}}},"LoginResponse":{"type":"object","properties":{"mfaRequired":{"type":"boolean"},"challengeToken":{"type":"string"},"challengeExpiresAt":{"type":"string","format":"date-time"},"session":{"$ref":"#/components/schemas/SessionResponse"}}},"AcceptInvitationRequest":{"required":["displayName","password","token"],"type":"object","properties":{"token":{"maxLength":128,"minLength":0,"type":"string"},"displayName":{"maxLength":160,"minLength":0,"type":"string"},"password":{"maxLength":128,"minLength":12,"type":"string"}}},"ApprovalStageRequest":{"required":["approverIds","completionRule","name"],"type":"object","properties":{"name":{"maxLength":160,"minLength":0,"type":"string"},"completionRule":{"type":"string","enum":["ALL","ANY"]},"approverIds":{"maxItems":50,"minItems":0,"type":"array","items":{"type":"string"}}}},"CreateApprovalWorkflowRequest":{"required":["name","stages","targetId","targetType"],"type":"object","properties":{"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"maxLength":36,"minLength":0,"type":"string"},"targetVersion":{"type":"integer","format":"int64"},"name":{"maxLength":255,"minLength":0,"type":"string"},"stages":{"maxItems":20,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/ApprovalStageRequest"}}}},"ApprovalAssignmentResponse":{"type":"object","properties":{"id":{"type":"string"},"approverId":{"type":"string"},"state":{"type":"string","enum":["PENDING","APPROVED","REJECTED","CHANGES_REQUESTED","SKIPPED"]},"decisionComment":{"type":"string"},"decidedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"}}},"ApprovalStageResponse":{"type":"object","properties":{"id":{"type":"string"},"stageOrder":{"type":"integer","format":"int32"},"name":{"type":"string"},"completionRule":{"type":"string","enum":["ALL","ANY"]},"approvers":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalAssignmentResponse"}}}},"ApprovalWorkflowResponse":{"type":"object","properties":{"id":{"type":"string"},"targetType":{"type":"string","enum":["CONTRACT","TEMPLATE"]},"targetId":{"type":"string"},"targetVersion":{"type":"integer","format":"int64"},"name":{"type":"string"},"state":{"type":"string","enum":["DRAFT","IN_PROGRESS","APPROVED","REJECTED","CHANGES_REQUESTED","CANCELLED"]},"currentStageOrder":{"type":"integer","format":"int32"},"createdBy":{"type":"string"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"version":{"type":"integer","format":"int64"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalStageResponse"}}}},"ApprovalDecisionRequest":{"required":["decision"],"type":"object","properties":{"decision":{"type":"string","enum":["APPROVE","REJECT","REQUEST_CHANGES"]},"comment":{"maxLength":2000,"minLength":0,"type":"string"}}},"DocumentTemplatePatchRequest":{"type":"object","properties":{"expectedVersion":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"titleTemplate":{"type":"string"},"bodyTemplate":{"type":"string"},"defaultLevel":{"type":"string"},"defaultChannel":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/VariableDefinition"}},"conditionalBlocks":{"type":"array","items":{"$ref":"#/components/schemas/ConditionalBlock"}}}},"CorrectParticipantRequest":{"required":["destination","documentId","name"],"type":"object","properties":{"name":{"maxLength":200,"minLength":0,"type":"string"},"documentId":{"maxLength":64,"minLength":0,"type":"string"},"destination":{"maxLength":320,"minLength":0,"type":"string"},"dateOfBirth":{"maxLength":10,"minLength":0,"type":"string"},"identityVerificationConsent":{"type":"boolean"},"biometricReferenceSha256":{"pattern":"(?i)[0-9a-f]{64}","type":"string"}}},"UpdateTenantStatusRequest":{"required":["enabled"],"type":"object","properties":{"enabled":{"type":"boolean"}}},"UpdateMembershipRequest":{"type":"object","properties":{"role":{"type":"string","enum":["OWNER","ADMIN","MANAGER","MEMBER","VIEWER"]},"permissions":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["TENANT_READ","TENANT_MANAGE","MEMBERS_READ","MEMBERS_MANAGE","SECURITY_MANAGE","API_KEYS_MANAGE","DOCUMENTS_READ","DOCUMENTS_WRITE","CONTRACTS_READ","CONTRACTS_WRITE","APPROVALS_READ","APPROVALS_WRITE","BILLING_READ","BILLING_MANAGE"]}},"enabled":{"type":"boolean"}}},"MemberView":{"type":"object","properties":{"membershipId":{"type":"string"},"userId":{"type":"string"},"email":{"type":"string"},"displayName":{"type":"string"},"userStatus":{"type":"string"},"role":{"type":"string","enum":["OWNER","ADMIN","MANAGER","MEMBER","VIEWER"]},"permissions":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["TENANT_READ","TENANT_MANAGE","MEMBERS_READ","MEMBERS_MANAGE","SECURITY_MANAGE","API_KEYS_MANAGE","DOCUMENTS_READ","DOCUMENTS_WRITE","CONTRACTS_READ","CONTRACTS_WRITE","APPROVALS_READ","APPROVALS_WRITE","BILLING_READ","BILLING_MANAGE"]}},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"FieldStatus":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"label":{"type":"string"},"signatoryId":{"type":"string"},"page":{"type":"integer","format":"int32"},"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"width":{"type":"number","format":"double"},"height":{"type":"number","format":"double"},"required":{"type":"boolean"},"readOnly":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"completed":{"type":"boolean"},"completedAt":{"type":"string"}}},"StatusResponse":{"type":"object","properties":{"requestId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"expiresAt":{"type":"string"},"signatories":{"type":"array","items":{"$ref":"#/components/schemas/SignatoryStatus"}},"routingMode":{"type":"string"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FieldStatus"}},"reminders":{"$ref":"#/components/schemas/ReminderPolicyDto"},"tags":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"allowDecline":{"type":"boolean"},"locale":{"type":"string"}}},"SealStatus":{"type":"object","properties":{"configured":{"type":"boolean"},"keystoreRef":{"type":"string"},"subject":{"type":"string"},"issuer":{"type":"string"},"serialNumber":{"type":"string"},"validFrom":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"},"daysUntilExpiry":{"type":"integer","format":"int64"},"expired":{"type":"boolean"},"icpBrasil":{"type":"boolean"},"chainLength":{"type":"integer","format":"int32"},"message":{"type":"string"}}},"PublicOidcProviderView":{"type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"issuerUri":{"type":"string"},"scopes":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"authorizationAvailable":{"type":"boolean"}}},"SessionView":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"lastUsedAt":{"type":"string","format":"date-time"},"idleExpiresAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"revokedAt":{"type":"string","format":"date-time"},"mfaVerified":{"type":"boolean"},"current":{"type":"boolean"}}},"MeResponse":{"type":"object","properties":{"userId":{"type":"string"},"tenantId":{"type":"string"},"sessionId":{"type":"string"},"permissions":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}},"AuditEvent":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"operation":{"type":"string"},"documentHash":{"type":"string"},"operationData":{"type":"string"},"signatureLevel":{"type":"string"},"validationResult":{"type":"string"},"certificateDn":{"type":"string"},"eventHash":{"type":"string"},"previousHash":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"AuditResponse":{"type":"object","properties":{"chainIntact":{"type":"boolean"},"count":{"type":"integer","format":"int32"},"events":{"type":"array","items":{"$ref":"#/components/schemas/AuditEvent"}}}},"RevokedSessionsResponse":{"type":"object","properties":{"revokedSessions":{"type":"integer","format":"int32"}}},"DisableTotpRequest":{"required":["password"],"type":"object","properties":{"password":{"maxLength":128,"minLength":0,"type":"string"},"code":{"maxLength":8,"minLength":0,"type":"string"},"recoveryCode":{"maxLength":32,"minLength":0,"type":"string"}}}},"securitySchemes":{"ApiKey":{"type":"apiKey","description":"API Key para autenticação. Incluir no header: X-API-Key: sua-chave","name":"X-API-Key","in":"header"},"BearerAuth":{"type":"http","description":"JWT Bearer token (opcional, para futuras integrações)","scheme":"bearer","bearerFormat":"JWT"}}}}