{"openapi":"3.1.0","info":{"title":"AlvoCertim API","version":"v1 (4.94.1-beta.0)","description":"API de documentos e assinaturas. Autenticação: Authorization: Bearer <chave>. POST aceita Idempotency-Key. Limite padrão: 120 req/min por chave. Webhooks assinados com X-AlvoCertim-Signature: t=<unix>,v1=<HMAC-SHA256 hex de \"t.corpo\">."},"servers":[{"url":"https://certim.alvosst.com.br/api/v1"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}}},"Signer":{"type":"object","required":["name","email"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"order":{"type":"integer","minimum":1},"role":{"type":"string","enum":["SIGNER","APPROVER","WITNESS","PARTY","CONTRACTOR","CONTRACTED"]},"authLevel":{"type":"string","enum":["EMAIL_OTP","EMAIL_LINK"]},"document":{"type":"string","description":"CPF/CNPJ"}}},"DocumentSummary":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SENT","IN_PROGRESS","SIGNED","COMPLETED","CANCELLED","DECLINED","EXPIRED"]},"createdAt":{"type":"string","format":"date-time"}}}}},"paths":{"/documents":{"get":{"summary":"Listar documentos","parameters":[{"name":"status","in":"query","schema":{"type":"string"}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Criar documento (PDF) e opcionalmente enviar","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary"},"title":{"type":"string"},"message":{"type":"string"},"deadline":{"type":"string","format":"date"},"sequential":{"type":"string","enum":["true","false"]},"signers":{"type":"string","description":"JSON: lista de Signer"},"send":{"type":"string","enum":["true","false"]}}}}}},"responses":{"201":{"description":"Criado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/documents/{id}":{"get":{"summary":"Consultar documento e signatários","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/documents/{id}/signers":{"post":{"summary":"Adicionar signatário (rascunho)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signer"}}}},"responses":{"201":{"description":"Criado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/documents/{id}/send":{"post":{"summary":"Enviar para assinatura","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Enviado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/imoveis":{"get":{"summary":"Imóveis (realestate:read)","parameters":[{"name":"status","in":"query","schema":{"type":"string"}},{"name":"ownerId","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer"}},{"name":"offset","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Cadastrar imóvel (realestate:write; aceita Idempotency-Key)","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"Criado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/imoveis/{id}":{"get":{"summary":"Imóvel com proprietários e procurações","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/proprietarios":{"get":{"summary":"Proprietários (realestate:read)","responses":{"200":{"description":"OK"}}},"post":{"summary":"Cadastrar proprietário (realestate:write)","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"Criado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/proprietarios/{id}":{"get":{"summary":"Proprietário e imóveis","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/locatarios":{"get":{"summary":"Locatários (realestate:read)","responses":{"200":{"description":"OK"}}},"post":{"summary":"Cadastrar locatário (realestate:write)","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"201":{"description":"Criado"},"400":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/locatarios/{id}":{"get":{"summary":"Locatário e contratos","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/procuracoes":{"get":{"summary":"Procurações","responses":{"200":{"description":"OK"}}}},"/imob/procuracoes/{id}":{"get":{"summary":"Procuração com poderes vigentes e verificação","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/poderes":{"get":{"summary":"Catálogo de poderes","responses":{"200":{"description":"OK"}}}},"/imob/contratos":{"get":{"summary":"Contratos de locação","responses":{"200":{"description":"OK"}}}},"/imob/contratos/{id}":{"get":{"summary":"Contrato com assinaturas e representação","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Erro","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/imob/pagamentos":{"get":{"summary":"Parcelas e situação de pagamento","responses":{"200":{"description":"OK"}}}},"/imob/prazos":{"get":{"summary":"Prazos de procurações e contratos","responses":{"200":{"description":"OK"}}}},"/imob/indicadores":{"get":{"summary":"Indicadores agregados do painel","responses":{"200":{"description":"OK"}}}}},"webhooks":{"document.completed":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"createdAt":{"type":"string"},"data":{"type":"object","properties":{"documentId":{"type":"string"},"title":{"type":"string"},"finalSha256":{"type":"string"},"completedAt":{"type":"string"}}}}}}}},"responses":{"200":{"description":"Recebido"}}}}}}