{
  "info": {
    "name": "V1 Partners API",
    "description": "Coleção gerada pela própria API a partir do documento OpenAPI https://api.letssign.com.br/docs/partners-v1/openapi.json. O mesmo contrato está em https://api.letssign.com.br/docs/partners/v1 (referência navegável) e em https://api.letssign.com.br/docs/partners/v1.md (Markdown).\n\nAntes de usar, preencha as variáveis da coleção: `apiKey` com a chave de integração do parceiro (a autenticação da coleção a envia no header `Authorization`, sem prefixo) e `accountId` com o identificador da conta (obtido em `partners_v1_accounts_list`). `baseUrl` já aponta para o ambiente que serviu este arquivo. A pasta de webhooks envia o payload de exemplo de cada evento a `webhookUrl`, para testar o seu receptor.\n\n---\n\nA Partners API permite que sistemas parceiros operem contas do LetsSign: enviar documentos para\nassinatura eletrônica, acompanhar o andamento, baixar os arquivos assinados, manter contatos,\npastas, categorias e usuários, e receber notificações por webhook.\n\nEsta é a **v1**, que concentra a maior parte dos endpoints. Quatro deles estão obsoletos (as\nlistagens paginadas de documentos, categorias e usuários e o download com anexos) e têm\nsubstitutos na [Partners API v2](https://api.letssign.com.br/docs/partners/v2), que compartilha autenticação, contas e formato de\nerro com esta. Use a v2 sempre que o endpoint existir lá, e a v1 para o restante.\n\n## Ambiente\n\n| | |\n|---|---|\n| URL base | `https://api.letssign.com.br/` |\n| Documento OpenAPI (v1) | `https://api.letssign.com.br/docs/partners-v1/openapi.json` |\n| Documento OpenAPI (v2) | `https://api.letssign.com.br/docs/partners-v2/openapi.json` |\n| Coleção Postman (v1) | `https://api.letssign.com.br/docs/partners/v1.postman_collection.json` |\n| Coleção Postman (v2) | `https://api.letssign.com.br/docs/partners/v2.postman_collection.json` |\n\nSandbox e produção têm hosts e chaves distintos. A URL base acima é a do ambiente que serviu este documento.\n\n## Guias\n\nPara começar, leia o [Quickstart](https://api.letssign.com.br/docs/guides/quickstart). Os demais guias cobrem\n[autenticação e contas](https://api.letssign.com.br/docs/guides/autenticacao-e-contas), [webhooks](https://api.letssign.com.br/docs/guides/webhooks),\n[erros](https://api.letssign.com.br/docs/guides/erros), [paginação e filtros](https://api.letssign.com.br/docs/guides/paginacao-e-filtros),\n[limites e features](https://api.letssign.com.br/docs/guides/limites-e-features),\n[ferramentas e agentes de IA](https://api.letssign.com.br/docs/guides/ferramentas-e-agentes) (Postman, MCP e sandbox), a\n[migração da v1 para a v2](https://api.letssign.com.br/docs/guides/migracao-v1-para-v2) e o [changelog](https://api.letssign.com.br/docs/guides/changelog).\nCada guia também existe em Markdown, na mesma URL com `.md` no fim.\n\n## Autenticação\n\nToda requisição leva a chave de integração do parceiro no header `Authorization`, **sem prefixo**\n(não use `Bearer`):\n\n```http\nGET /partners/v1/accounts HTTP/1.1\nHost: api.letssign.com.br\nAuthorization: 3f9c0a1b2c3d4e5f6a7b8c9d0e1f2a3b\n```\n\n- A chave é emitida no cadastro do parceiro pela equipe LetsSign ou gerada pela própria conta na\n  área de integrações do aplicativo (https://app.letssign.com.br/). Regenerar a chave invalida a anterior na hora.\n- A chave identifica o **parceiro**; a **conta** vem no caminho da rota (`accountId`). Um parceiro\n  pode operar várias contas: comece por `GET /partners/v1/accounts` (`partners_v1_accounts_list`)\n  para descobrir os identificadores.\n- `401`: chave ausente ou inválida, conta não vinculada ao parceiro, período de teste da conta\n  expirado ou grupo de faturamento da conta sem plano ativo. Nos dois últimos casos o corpo é um\n  Problem Details com o motivo em `detail`.\n- `403`: o plano da conta não inclui uma feature exigida pela operação. Cada operação lista as\n  features exigidas na descrição e na extensão `x-required-features`; consulte\n  `GET /partners/v1/accounts/{accountId}/features` (`partners_v1_features_list`) para saber o que a\n  conta tem.\n\n## Conceitos\n\n- **Conta**: espaço de uma empresa ou pessoa no LetsSign. Documentos, contatos, pastas,\n  categorias, usuários e webhooks pertencem a uma conta.\n- **Documento**: arquivo PDF, DOC ou DOCX enviado para assinatura, com status do documento\n  (`EDocumentStatus`) e status de assinatura (`EDocumentSignatureStatus`).\n- **Signatário**: quem assina, identificado por e-mail, com método de autenticação\n  (`EAuthenticationMethod`: e-mail, SMS, WhatsApp, certificado digital, entre outros) e métodos\n  adicionais opcionais (`EAdditionalAuthenticationMethod`). O link de assinatura pode ir por e-mail,\n  SMS ou WhatsApp (`ESignatureLinkMethod`).\n- **Áreas de assinatura**: página e coordenadas onde assinatura e rubrica são carimbadas no PDF.\n- **Campos de informação**: dados adicionais gravados no documento, como um número de contrato.\n- **Modelos de formulário**: modelos que geram documentos a partir de campos preenchidos.\n- **Webhook**: URL da conta que recebe um `POST` a cada evento (documento enviado, signatário\n  assinou, assinaturas concluídas, status alterado, documento removido, formulário preenchido).\n\n## Fluxo típico\n\n1. Liste as contas do parceiro e escolha o `accountId`.\n2. Confira as features da conta.\n3. Crie o documento e solicite as assinaturas em uma única chamada\n   (`POST /partners/v1/accounts/{accountId}/document-signatures`,\n   `partners_v1_document_signatures_create_from_file`): o arquivo vai em base64 no campo\n   `contentFile`, junto da lista de signatários. A resposta traz o `id` do documento.\n4. Acompanhe por webhook (recomendado) ou por\n   `GET /partners/v1/accounts/{accountId}/document-signatures/{documentId}/status`.\n5. Ao concluir, obtenha a URL de download do arquivo assinado\n   (`GET /partners/v1/accounts/{accountId}/documents/{id}/download/signed`) ou com anexos\n   (`partners_v2_documents_download_with_attachments`). A resposta traz `name` e `url`; a URL é\n   temporária, então baixe logo após obtê-la.\n\n## Convenções\n\n- **Formato**: JSON em UTF-8, propriedades em `camelCase`. Enums são strings com os nomes exatos do\n  schema (ex.: `\"Email\"`, `\"WhatsApp\"`). Propriedades nulas são omitidas nas respostas.\n- **Datas**: ISO 8601 em UTC (`2026-09-03T14:05:00Z`). Envie sempre o fuso explícito.\n- **Identificadores**: UUID.\n- **Arquivos**: enviados como string base64 dentro do JSON; downloads devolvem uma URL temporária,\n  não o binário.\n- **Paginação (v2)**: parâmetros `page` (a partir de 1), `perPage`, `sortField` e `sortDirection`\n  (`Asc` ou `Desc`); cada listagem declara os campos de ordenação aceitos e o padrão. A resposta\n  traz `items`, `page`, `perPage`, `count` (total de registros), `totalPages`, `hasPreviousPage`,\n  `hasNextPage`, `previousPage` e `nextPage`. As listagens obsoletas da v1 usam `pageIndex`,\n  `pageSize`, `sortField` e `sortType`, e respondem `totalRecords`, `totalPages` e `pageSize`.\n- **Idioma**: mensagens de erro e comunicações com signatários em português do Brasil.\n- **Limites**: não há limite de requisições por chave hoje. Prefira webhooks a consultas repetidas.\n  O corpo de uma requisição aceita até 70 MB.\n- **Cache**: as listagens de pastas, grupos e modelos de formulário podem responder de um cache de\n  até 3 horas; criar uma pasta pela API invalida o cache de pastas da conta.\n\n## Erros\n\nErros seguem o padrão Problem Details (RFC 9457), com `Content-Type: application/problem+json`.\n\n| Status | Quando acontece |\n|---|---|\n| 400 | Regra de negócio não satisfeita: recurso inexistente na conta, documento em estado que não permite a operação, recurso do plano ausente, cota atingida. `errors` lista as mensagens. |\n| 401 | Ver Autenticação. Corpo vazio, exceto trial expirado e grupo sem plano ativo. |\n| 403 | Plano da conta sem a feature exigida. Corpo vazio. |\n| 404 | Recurso não encontrado, nas consultas por identificador que declaram 404. |\n| 422 | Payload rejeitado: JSON malformado ou campos que não passaram na validação (obrigatórios, tamanhos, formatos, combinações). `errors` lista as mensagens e `problems` aponta o campo de cada uma. |\n| 500 | Erro interno. Informe `requestId` e `traceId` ao suporte. |\n\nO corpo de erro (`ProblemDetailsResult`) tem `title`, `status`, `detail`, `instance` (método e\ncaminho), `errors` (lista de mensagens), `problems` (mensagem e `propertyName`) e os campos de\nrastreio `traceId`, `spanId` e `requestId`. Trate 400 e 422 como definitivos: repetir a mesma\nrequisição produz o mesmo erro.\n\n## Webhooks\n\nCadastre URLs em `POST /partners/v1/accounts/{accountId}/webhooks` (`partners_v1_webhooks_create`).\nCada evento é um `POST` JSON com `event`, `accountId`, `occurredAt` e `entity`. Os dez eventos,\ncom schema, exemplo e o que dispara cada um, estão no objeto `webhooks` deste documento e na\n[página inicial da documentação](https://api.letssign.com.br/docs).\n\n- Sem cabeçalho de assinatura: valide a origem pelo `accountId` e, se preciso, por um segredo na\n  própria URL.\n- Responda 2xx (200 ou 202) em até 20 segundos; falhas são repetidas em seguida, até 5\n  tentativas.\n- `occurredAt` é o instante da tentativa de envio e não há identificador de entrega: trate\n  repetições pelo conteúdo de `entity`. Não há garantia de ordem entre eventos.\n- No cadastro, um evento `Test` é enviado de imediato; o resultado fica em `available`.\n\n## Versões e obsolescência\n\nEndpoints obsoletos continuam respondendo, aparecem marcados como `deprecated` e indicam o\nsubstituto na descrição. Consulte a [Partners API v1](https://api.letssign.com.br/docs/partners/v1) e a\n[Partners API v2](https://api.letssign.com.br/docs/partners/v2).\n\n",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "Authorization",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.letssign.com.br",
      "type": "string",
      "description": "URL base do ambiente que serviu esta coleção, sem barra final."
    },
    {
      "key": "apiKey",
      "value": "",
      "type": "string",
      "description": "Chave de integração do parceiro. Vai no header Authorization, sem prefixo, pela autenticação da coleção."
    },
    {
      "key": "accountId",
      "value": "",
      "type": "string",
      "description": "Identificador da conta operada (accountId). Obtenha em partners_v1_accounts_list."
    },
    {
      "key": "webhookUrl",
      "value": "",
      "type": "string",
      "description": "URL do seu receptor de webhooks, usada só pela pasta de eventos de webhook."
    }
  ],
  "item": [
    {
      "name": "Accounts",
      "description": "Contas operadas pelo parceiro. Todo o restante da API é escopado por `accountId`; comece aqui para obter os identificadores.",
      "item": [
        {
          "name": "Lista de contas do parceiro",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts"
              ]
            },
            "description": "`operationId`: `partners_v1_accounts_list`\n\nLista as contas ativas que o parceiro pode operar com esta chave. É o ponto de partida da\nintegração: o `id` de cada conta é o `accountId` exigido nas demais rotas.\n\n- Só entram contas ativas e vinculadas ao parceiro; a ordem é alfabética por `name`.\n- Não há paginação: a lista vem completa.\n- Não exige feature de plano, apenas a chave válida.\n- Somente leitura, sem efeitos colaterais."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n    \"name\": \"Imobiliária Horizonte\",\r\n    \"companyName\": \"Horizonte Negócios Imobiliários Ltda\",\r\n    \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n    \"isTrial\": false,\r\n    \"initDate\": \"2025-03-12T00:00:00Z\",\r\n    \"personType\": \"Company\",\r\n    \"documentNumber\": \"12345678000195\",\r\n    \"active\": true\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Alterar logo da conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/:id/change-logo",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                ":id",
                "change-logo"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador da conta. Obtenha a lista em `partners_v1_accounts_list`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_accounts_change_logo`\n\nSubstitui o logotipo da conta, exibido nos e-mails enviados aos signatários e na página de\nassinatura. A imagem vai em base64 no campo `contentFile`, com o tipo MIME em `contentType`.\n\n- Formatos aceitos: PNG, JPG e JPEG. Não há limite próprio de tamanho além dos 70 MB do corpo.\n- Sobrescreve o logotipo anterior; repetir a chamada com a mesma imagem não tem efeito extra.\n- A URL devolvida em `logo` traz um parâmetro `q` que muda a cada troca, para invalidar caches.\n- A troca fica registrada na auditoria da conta. Não exige feature de plano.\n- Erros `400`: `Conta não existe`, `Parceiro não pode realizar operações na conta solicitada`,\n  `Não foi possível armazenar o logo`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"contentType\": \"image/png\",\r\n  \"contentFile\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/:id/change-logo",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    ":id",
                    "change-logo"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador da conta. Obtenha a lista em `partners_v1_accounts_list`."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"contentType\": \"image/png\",\r\n  \"contentFile\": \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==\"\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"logo\": \"https://storage.exemplo.com.br/logos/0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f.png?q=638923456789012345\"\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Features",
      "description": "Funcionalidades liberadas pelo plano de cada conta. Operações exigem features específicas e respondem 403 sem elas.",
      "item": [
        {
          "name": "Lista de features da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/features",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "features"
              ]
            },
            "description": "`operationId`: `partners_v1_features_list`\n\nLista as features do plano vigente da conta. Cada item traz o `id` (o código que aparece em\n`x-required-features` e na descrição das operações) e uma descrição legível.\n\n- Consulte antes de chamar operações que exigem features: sem elas a resposta é `403`.\n- As features vêm do plano do grupo de faturamento da conta; a lista muda quando o plano muda.\n- Ordem alfabética por `description`. Não há paginação.\n- Somente leitura, sem efeitos colaterais."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/features",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "features"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"categories\",\r\n    \"description\": \"Categorias\"\r\n  },\r\n  {\r\n    \"id\": \"contacts\",\r\n    \"description\": \"Contatos\"\r\n  },\r\n  {\r\n    \"id\": \"documents\",\r\n    \"description\": \"Documentos\"\r\n  },\r\n  {\r\n    \"id\": \"documents_signatures\",\r\n    \"description\": \"Assinatura de documentos\"\r\n  },\r\n  {\r\n    \"id\": \"integrations\",\r\n    \"description\": \"Integrações\"\r\n  }\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "DocumentSignatures",
      "description": "Fluxo de assinatura: criar documento a partir de arquivo e solicitar assinaturas, acompanhar o status, adicionar, editar, remover e reenviar signatários, cancelar.",
      "item": [
        {
          "name": "Status das assinaturas do documento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "status"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_status`\n\nSituação atual das assinaturas de um documento: o status geral em `signatureStatusId` e um item\npor signatário em `signatures`, com `signed`, `signedAt` e os dados informados no ato da\nassinatura (`name`, `documentNumber`, `birthDate`).\n\n- `signatures[].id` é o `signatureId` usado para editar, remover e reenviar a solicitação.\n- `order` mostra a posição na ordenação quando o documento é ordenado.\n- Responde `404` quando o documento não pertence à conta.\n- Prefira os webhooks `DocumentSignatureMember` e `DocumentSignatureFinished` para acompanhar;\n  use esta consulta para conferir ou quando não houver webhook.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/status",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "document-signatures",
                    ":documentId",
                    "status"
                  ],
                  "variable": [
                    {
                      "key": "documentId",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"signatureStatusId\": \"WaitingSignatures\",\r\n  \"signatureStatus\": \"Aguardando assinaturas\",\r\n  \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n  \"signatures\": [\r\n    {\r\n      \"id\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"signed\": true,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"signatureLinkMethod\": \"Email\",\r\n      \"telephone\": {\r\n        \"countryCode\": \"55\",\r\n        \"number\": \"11987654321\",\r\n        \"value\": \"5511987654321\",\r\n        \"formatted\": \"+55 (11) 9-8765-4321\"\r\n      },\r\n      \"name\": \"Maria da Silva\",\r\n      \"documentNumberType\": \"Cpf\",\r\n      \"documentNumber\": \"11144477735\",\r\n      \"birthDate\": \"1988-05-17T00:00:00Z\",\r\n      \"handwritten\": true,\r\n      \"order\": 1,\r\n      \"signedAt\": \"2026-08-21T10:12:45Z\",\r\n      \"requireDocumentNumber\": true\r\n    },\r\n    {\r\n      \"id\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"role\": \"Testemunha\",\r\n      \"signed\": false,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"handwritten\": true,\r\n      \"order\": 2,\r\n      \"requireDocumentNumber\": true\r\n    }\r\n  ]\r\n}"
            }
          ]
        },
        {
          "name": "Criação de documento e envio de solicitação de assinaturas",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures"
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_create_from_file`\n\nCria um documento a partir de um arquivo e envia a solicitação de assinatura a todos os\nsignatários em uma única chamada. É a operação principal da API.\n\n**Como montar a requisição**\n\n- `contentFile` leva o arquivo em base64 e `contentType` o tipo MIME correspondente. PDF é usado\n  como está; DOC e DOCX são convertidos para PDF. PDF com senha ou com edição bloqueada é recusado.\n- `signers` precisa de ao menos um item com `email` e `role`. Cada signatário pode ter método de\n  autenticação, canal do link, telefone, evidências adicionais, suplentes e idioma próprios.\n- `signatureAreas` posiciona assinatura e rubrica no PDF por página e coordenadas em percentual;\n  cada área aponta para um signatário por `email`, `role` e `authenticationMethod`. A página deve\n  existir no arquivo. Contas configuradas para exigir posicionamento recusam a chamada sem áreas.\n- `order` nos signatários cria a assinatura sequencial: informe para todos ou para nenhum.\n- `scheduledTo` agenda o envio; `deadlineForSignature` define o prazo; `reminderFrequency` liga\n  os lembretes automáticos por e-mail (até 3 por signatário).\n- `categories` desconhecidas são ignoradas; `folderId` inexistente responde `400`.\n- `groups` define quais grupos de acesso da conta veem o documento (`partners_v1_groups_list`).\n  Diferente de `categories`, id desconhecido não é ignorado: grupo inexistente, inativo ou de\n  outra conta responde `422` citando os ids recusados. Grupos do documento e da pasta são\n  condições cumulativas — só vê o documento quem está nos dois. Sem `groups`, o acesso é\n  decidido pelos grupos da pasta; fora de pasta, o documento fica visível para toda a conta.\n  Depois da criação, use `partners_v1_documents_update_groups`.\n\n**O que acontece**\n\n- O documento nasce com status `Finished` e status de assinatura `WaitingSignatures` (ou\n  `SignaturesDeliveryScheduled` quando agendado).\n- O webhook `DocumentSentToSignature` é disparado na criação, mesmo com agendamento.\n- Os signatários recebem o link pelo canal configurado (e-mail, SMS ou WhatsApp); com ordenação,\n  só a primeira posição é notificada. Observadores recebem o documento assinado ao final.\n- Signatários com `saveAsContact` verdadeiro, nome e CPF válido viram contatos da conta quando o\n  plano tem a feature `contacts`.\n- Consome um documento da cota do plano e, quando há SMS ou WhatsApp, a cota desses canais.\n\n**Regras que respondem `400`**\n\n- Papel inexistente na conta: `Um ou mais papéis (...) não existe(m)`. Consulte\n  `partners_v1_document_signature_roles_list`.\n- Conta sem o recurso de SMS, WhatsApp, biometria facial, informações do documento ou grupos de acesso.\n- Cota de documentos, SMS ou WhatsApp esgotada.\n- Áreas em páginas que o arquivo não tem; pasta inexistente.\n\nNão há chave de idempotência: cada chamada cria um documento novo. A resposta traz o `id` do\ndocumento e a URL da página dele no aplicativo.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"documentName\": \"Contrato de locação - Apto 501\",\r\n  \"contentType\": \"application/pdf\",\r\n  \"contentFile\": \"JVBERi0xLjcKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgPj4KZW5kb2JqCg==\",\r\n  \"folderId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n  \"categories\": [\r\n    \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\"\r\n  ],\r\n  \"groups\": [\r\n    \"0199143d-3f40-7b5c-8d6e-7f8a9b0c1d2e\"\r\n  ],\r\n  \"customMessage\": \"Olá! Segue o contrato de locação do apartamento 501 para assinatura até 30/09.\",\r\n  \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n  \"reminderFrequency\": \"ThreeDays\",\r\n  \"observers\": [\r\n    \"financeiro@exemplo.com.br\"\r\n  ],\r\n  \"signers\": [\r\n    {\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"name\": \"Maria da Silva\",\r\n      \"documentNumber\": \"11144477735\",\r\n      \"role\": \"Parte\",\r\n      \"order\": 1,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"telephoneCountryCode\": \"55\",\r\n      \"telephone\": \"11987654321\",\r\n      \"additionalAuthenticationMethods\": [\r\n        \"DocumentIdWithPhoto\"\r\n      ],\r\n      \"language\": \"Portuguese\",\r\n      \"saveAsContact\": true\r\n    },\r\n    {\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"name\": \"João de Souza\",\r\n      \"role\": \"Testemunha\",\r\n      \"order\": 2,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"substitutes\": [\r\n        {\r\n          \"email\": \"carla.mendes@exemplo.com.br\",\r\n          \"name\": \"Carla Mendes\"\r\n        }\r\n      ]\r\n    }\r\n  ],\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 12.5,\r\n      \"y\": 78,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"type\": \"Initials\",\r\n      \"page\": 1,\r\n      \"x\": 85,\r\n      \"y\": 92,\r\n      \"width\": 6,\r\n      \"height\": 4,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 55,\r\n      \"y\": 78,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"role\": \"Testemunha\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ],\r\n  \"informations\": [\r\n    {\r\n      \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n      \"value\": \"CT-2026-0451\"\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "document-signatures"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"documentName\": \"Contrato de locação - Apto 501\",\r\n  \"contentType\": \"application/pdf\",\r\n  \"contentFile\": \"JVBERi0xLjcKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgPj4KZW5kb2JqCg==\",\r\n  \"folderId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n  \"categories\": [\r\n    \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\"\r\n  ],\r\n  \"groups\": [\r\n    \"0199143d-3f40-7b5c-8d6e-7f8a9b0c1d2e\"\r\n  ],\r\n  \"customMessage\": \"Olá! Segue o contrato de locação do apartamento 501 para assinatura até 30/09.\",\r\n  \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n  \"reminderFrequency\": \"ThreeDays\",\r\n  \"observers\": [\r\n    \"financeiro@exemplo.com.br\"\r\n  ],\r\n  \"signers\": [\r\n    {\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"name\": \"Maria da Silva\",\r\n      \"documentNumber\": \"11144477735\",\r\n      \"role\": \"Parte\",\r\n      \"order\": 1,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"telephoneCountryCode\": \"55\",\r\n      \"telephone\": \"11987654321\",\r\n      \"additionalAuthenticationMethods\": [\r\n        \"DocumentIdWithPhoto\"\r\n      ],\r\n      \"language\": \"Portuguese\",\r\n      \"saveAsContact\": true\r\n    },\r\n    {\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"name\": \"João de Souza\",\r\n      \"role\": \"Testemunha\",\r\n      \"order\": 2,\r\n      \"authenticationMethod\": \"Email\",\r\n      \"substitutes\": [\r\n        {\r\n          \"email\": \"carla.mendes@exemplo.com.br\",\r\n          \"name\": \"Carla Mendes\"\r\n        }\r\n      ]\r\n    }\r\n  ],\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 12.5,\r\n      \"y\": 78,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"type\": \"Initials\",\r\n      \"page\": 1,\r\n      \"x\": 85,\r\n      \"y\": 92,\r\n      \"width\": 6,\r\n      \"height\": 4,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 55,\r\n      \"y\": 78,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"role\": \"Testemunha\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ],\r\n  \"informations\": [\r\n    {\r\n      \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n      \"value\": \"CT-2026-0451\"\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n  \"uri\": \"https://app.letssign.com.br/app/documents/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f/signatures\"\r\n}"
            }
          ]
        },
        {
          "name": "Adicionar signatário no documento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/signature",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "signature"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_add_signer`\n\nAdiciona um signatário a um documento que já está aguardando assinaturas e envia a ele o link de\nassinatura.\n\n- Exige status de assinatura `WaitingSignatures` e status do documento diferente de\n  `WaitingFormFill`; fora disso responde `400`.\n- A combinação `email` + `role` não pode existir no documento; o mesmo e-mail com outro papel é\n  aceito.\n- Em documentos ordenados, o novo signatário entra na última posição e só é notificado quando\n  chegar a vez dele.\n- Se algum signatário já assinou com certificado digital, a inclusão é recusada, pois invalidaria\n  a assinatura existente.\n- `additionalAuthenticationMethods` não é aplicado nesta operação; use\n  `partners_v1_documents_update_additional_authentication_methods` em seguida.\n- Dispara o webhook `SignerAddedToDocument`. Nada é enviado quando `signatureLinkMethod` é\n  `NotSend`.\n- A resposta traz o `id` da assinatura (`signatureId`).\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"email\": \"carlos.lima@exemplo.com.br\",\r\n  \"name\": \"Carlos Lima\",\r\n  \"documentNumber\": \"52998224725\",\r\n  \"role\": \"Testemunha\",\r\n  \"authenticationMethod\": \"Sms\",\r\n  \"telephoneCountryCode\": \"55\",\r\n  \"telephone\": \"21998765432\",\r\n  \"signatureLinkMethod\": \"Sms\",\r\n  \"language\": \"Portuguese\",\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 55,\r\n      \"y\": 88,\r\n      \"width\": 15,\r\n      \"height\": 5\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/signature",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "document-signatures",
                    ":documentId",
                    "signature"
                  ],
                  "variable": [
                    {
                      "key": "documentId",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"email\": \"carlos.lima@exemplo.com.br\",\r\n  \"name\": \"Carlos Lima\",\r\n  \"documentNumber\": \"52998224725\",\r\n  \"role\": \"Testemunha\",\r\n  \"authenticationMethod\": \"Sms\",\r\n  \"telephoneCountryCode\": \"55\",\r\n  \"telephone\": \"21998765432\",\r\n  \"signatureLinkMethod\": \"Sms\",\r\n  \"language\": \"Portuguese\",\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 3,\r\n      \"x\": 55,\r\n      \"y\": 88,\r\n      \"width\": 15,\r\n      \"height\": 5\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"01991449-d3e4-7f5a-8b6c-7d8e9f0a1b2c\"\r\n}"
            }
          ]
        },
        {
          "name": "Remover signatário do documento",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/signature/:signatureId/remove",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "signature",
                ":signatureId",
                "remove"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                },
                {
                  "key": "signatureId",
                  "value": "",
                  "description": "Obrigatório. Identificador da assinatura (o signatário dentro do documento). Aparece em `signatures[].id` de `partners_v1_document_signatures_status` e no retorno de `partners_v1_document_signatures_add_signer`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_remove_signer`\n\nRemove um signatário que ainda não assinou. As demais assinaturas permanecem.\n\n- Responde `400` se o signatário já assinou (`Signatário não pode ser removido pois já assinou o\n  documento`) ou não existe.\n- Em documentos ordenados, as posições seguintes são reordenadas; se o removido era o da vez, o\n  próximo é notificado.\n- Se após a remoção todos os restantes já tiverem assinado, o documento é finalizado.\n- A remoção fica na trilha de auditoria do documento. Não envia e-mail ao removido nem webhook.\n- Repetir a chamada responde `400` (`Signatário não existe`).\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`."
          },
          "response": []
        },
        {
          "name": "Cancelar assinaturas do documento e remover signatários",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/cancel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "cancel"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_cancel`\n\nCancela a solicitação de assinaturas em andamento: remove todos os signatários, apaga a trilha de\neventos de assinatura e volta o status de assinatura para `SignatureNotSet`. O documento continua\nna conta e pode receber uma nova solicitação com `partners_v1_documents_request_signatures`.\n\n- Exige status de assinatura `WaitingSignatures`; fora disso responde `400`.\n- Envia e-mail de cancelamento a todos os signatários e suplentes; `message` entra nesse e-mail.\n- Assinaturas já realizadas são descartadas junto com o arquivo assinado digitalmente.\n- Dispara o webhook `DocumentSignaturesCanceled`. Cancela apenas o documento informado: em um\n  envelope, os demais seguem aguardando assinaturas.\n- Para excluir o documento, use `partners_v1_documents_delete`.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"message\": \"Contrato substituído por uma nova versão; desconsidere esta solicitação.\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Reenviar solicitação de assinatura para os signatários",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/signature/:signatureId/resend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "signature",
                ":signatureId",
                "resend"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                },
                {
                  "key": "signatureId",
                  "value": "",
                  "description": "Obrigatório. Identificador da assinatura (o signatário dentro do documento). Aparece em `signatures[].id` de `partners_v1_document_signatures_status` e no retorno de `partners_v1_document_signatures_add_signer`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_resend`\n\nReenvia a solicitação de assinatura a um signatário pelo canal configurado para ele\n(`signatureLinkMethod` ou, na falta dele, o canal do método de autenticação).\n\n- Exige documento em `WaitingSignatures`, signatário ainda não assinado e, em documentos\n  ordenados, que seja a vez dele; caso contrário responde `400`.\n- Consome cota de SMS ou WhatsApp quando o canal for um desses. Suplentes não são notificados.\n- Sem efeito quando o canal do signatário é `NotSend`.\n- Pode ser repetida à vontade: cada chamada gera um novo envio.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`."
          },
          "response": []
        },
        {
          "name": "Edita um signatário do documento",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signatures/:documentId/signature/:signatureId",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signatures",
                ":documentId",
                "signature",
                ":signatureId"
              ],
              "variable": [
                {
                  "key": "documentId",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                },
                {
                  "key": "signatureId",
                  "value": "",
                  "description": "Obrigatório. Identificador da assinatura (o signatário dentro do documento). Aparece em `signatures[].id` de `partners_v1_document_signatures_status` e no retorno de `partners_v1_document_signatures_add_signer`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_document_signatures_edit_signer`\n\nAtualiza os dados de um signatário que ainda não assinou: e-mail, nome, CPF, papel, método de\nautenticação, telefones, canal do link, idioma e evidências adicionais. Os campos enviados\nsubstituem os gravados por completo.\n\n- Responde `400` se o signatário já assinou ou se já existe outro com o mesmo e-mail, papel e\n  método de autenticação. Documentos que fazem parte de um envelope não podem ser editados aqui.\n- `additionalAuthenticationMethods` omitido apaga as evidências adicionais existentes; envie a\n  lista completa desejada.\n- `substitutes` não é considerado nesta operação.\n- Com `resendLinkAfterEdit` verdadeiro, o link é reenviado ao signatário pelo canal atualizado.\n- A edição fica na trilha de auditoria. Não dispara webhook. Repetir com os mesmos dados é seguro.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"email\": \"maria.silva@exemplo.com.br\",\r\n  \"name\": \"Maria da Silva Santos\",\r\n  \"documentNumber\": \"11144477735\",\r\n  \"role\": \"Parte\",\r\n  \"authenticationMethod\": \"WhatsApp\",\r\n  \"telephoneCountryCode\": \"55\",\r\n  \"telephone\": \"11987654321\",\r\n  \"signatureLinkMethod\": \"WhatsApp\",\r\n  \"additionalAuthenticationMethods\": [\r\n    \"DocumentIdWithPhoto\"\r\n  ],\r\n  \"requireDocumentNumber\": true,\r\n  \"language\": \"Portuguese\",\r\n  \"resendLinkAfterEdit\": true\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Documents",
      "description": "Documentos da conta: listagem, URLs de download (original, assinado, com anexos, com certificado digital), campos de informação, campos de formulário, mapeamento de assinaturas e solicitação de assinaturas para um documento já existente.",
      "item": [
        {
          "name": "Lista paginada de documentos da conta (obsoleta)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents"
              ],
              "query": [
                {
                  "key": "DocumentId",
                  "value": "",
                  "description": "ID do documento",
                  "disabled": true
                },
                {
                  "key": "Name",
                  "value": "",
                  "description": "Nome do documento contendo...",
                  "disabled": true
                },
                {
                  "key": "DeadlineDateFrom",
                  "value": "",
                  "description": "Prazo do documento a partir de...",
                  "disabled": true
                },
                {
                  "key": "DeadlineDateTo",
                  "value": "",
                  "description": "Prazo do documento até...",
                  "disabled": true
                },
                {
                  "key": "SignatureDateFrom",
                  "value": "",
                  "description": "Data de assinatura do documento de...",
                  "disabled": true
                },
                {
                  "key": "SignatureDateTo",
                  "value": "",
                  "description": "Data de assinatura do documento até...",
                  "disabled": true
                },
                {
                  "key": "Categories",
                  "value": "",
                  "description": "Categorias do documento",
                  "disabled": true
                },
                {
                  "key": "DocumentStatus",
                  "value": "",
                  "description": "Status do documento",
                  "disabled": true
                },
                {
                  "key": "DocumentSignatureStatus",
                  "value": "",
                  "description": "Status de assinatura do documento",
                  "disabled": true
                },
                {
                  "key": "pageIndex",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "pageSize",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "sortField",
                  "value": "Id",
                  "description": "Obrigatório. Campo de ordenação."
                },
                {
                  "key": "sortType",
                  "value": "asc",
                  "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_list`\n\n**Obsoleta.** Continua respondendo; a descrição indica o substituto.\n\n**Obsoleto.** Substituído por `partners_v2_documents_list` na [Partners API v2](https://api.letssign.com.br/docs/partners/v2),\nque tem paginação por `page`/`perPage`, filtro por data de criação e ordenação declarada.\nContinua respondendo, mas não recebe evolução.\n\nLista os documentos da conta com os filtros informados, paginada por `pageIndex` e `pageSize`.\nSomente leitura.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents"
                  ],
                  "query": [
                    {
                      "key": "DocumentId",
                      "value": "",
                      "description": "ID do documento",
                      "disabled": true
                    },
                    {
                      "key": "Name",
                      "value": "",
                      "description": "Nome do documento contendo...",
                      "disabled": true
                    },
                    {
                      "key": "DeadlineDateFrom",
                      "value": "",
                      "description": "Prazo do documento a partir de...",
                      "disabled": true
                    },
                    {
                      "key": "DeadlineDateTo",
                      "value": "",
                      "description": "Prazo do documento até...",
                      "disabled": true
                    },
                    {
                      "key": "SignatureDateFrom",
                      "value": "",
                      "description": "Data de assinatura do documento de...",
                      "disabled": true
                    },
                    {
                      "key": "SignatureDateTo",
                      "value": "",
                      "description": "Data de assinatura do documento até...",
                      "disabled": true
                    },
                    {
                      "key": "Categories",
                      "value": "",
                      "description": "Categorias do documento",
                      "disabled": true
                    },
                    {
                      "key": "DocumentStatus",
                      "value": "",
                      "description": "Status do documento",
                      "disabled": true
                    },
                    {
                      "key": "DocumentSignatureStatus",
                      "value": "",
                      "description": "Status de assinatura do documento",
                      "disabled": true
                    },
                    {
                      "key": "pageIndex",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "pageSize",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "sortField",
                      "value": "Id",
                      "description": "Obrigatório. Campo de ordenação."
                    },
                    {
                      "key": "sortType",
                      "value": "asc",
                      "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"items\": [\r\n    {\r\n      \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n      \"name\": \"Contrato de locação - Apto 501\",\r\n      \"statusId\": \"Finished\",\r\n      \"status\": \"Pronto para assinar\",\r\n      \"signatureStatusId\": \"WaitingSignatures\",\r\n      \"signatureStatus\": \"Aguardando assinaturas\",\r\n      \"endDate\": \"2026-09-30T23:59:59Z\",\r\n      \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n      \"categories\": [\r\n        {\r\n          \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n          \"name\": \"Contratos de locação\"\r\n        }\r\n      ],\r\n      \"groups\": [\r\n        {\r\n          \"id\": \"0199143d-3f40-7b5c-8d6e-7f8a9b0c1d2e\",\r\n          \"name\": \"Jurídico\"\r\n        }\r\n      ],\r\n      \"reminderFrequency\": \"ThreeDays\",\r\n      \"createdAt\": \"2026-08-20T14:05:00Z\"\r\n    }\r\n  ],\r\n  \"totalPages\": 3,\r\n  \"totalRecords\": 48,\r\n  \"pageSize\": 20\r\n}"
            }
          ]
        },
        {
          "name": "Listagem do mapeamento das assinaturas do documento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/mapped-signatures",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "mapped-signatures"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_mapped_signatures`\n\nLista as posições de assinatura e rubrica mapeadas no documento: página, coordenadas e tamanho em\npercentual, e o signatário dono de cada posição (`email`, `role`, `authenticationMethod`,\n`documentSignatureId`).\n\n- Retorna lista vazia quando nenhuma posição foi informada.\n- Útil para conferir o posicionamento antes de os signatários assinarem.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/mapped-signatures",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "mapped-signatures"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"01991448-c2d3-7e4f-9a5b-6c7d8e9f0a1b\",\r\n    \"type\": \"Signature\",\r\n    \"typeDescription\": \"Assinatura\",\r\n    \"x\": 12.5,\r\n    \"y\": 78,\r\n    \"height\": 5,\r\n    \"width\": 15,\r\n    \"page\": 3,\r\n    \"documentSignatureId\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n    \"email\": \"maria.silva@exemplo.com.br\",\r\n    \"role\": \"Parte\",\r\n    \"authenticationMethod\": \"Email\",\r\n    \"authenticationMethodDescription\": \"E-mail\"\r\n  },\r\n  {\r\n    \"id\": \"01991448-c2d3-7e4f-9a5b-6c7d8e9f0a1c\",\r\n    \"type\": \"Initials\",\r\n    \"typeDescription\": \"Rúbrica\",\r\n    \"x\": 85,\r\n    \"y\": 92,\r\n    \"height\": 4,\r\n    \"width\": 6,\r\n    \"page\": 1,\r\n    \"documentSignatureId\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n    \"email\": \"maria.silva@exemplo.com.br\",\r\n    \"role\": \"Parte\",\r\n    \"authenticationMethod\": \"Email\",\r\n    \"authenticationMethodDescription\": \"E-mail\"\r\n  },\r\n  {\r\n    \"id\": \"01991448-c2d3-7e4f-9a5b-6c7d8e9f0a1d\",\r\n    \"type\": \"Signature\",\r\n    \"typeDescription\": \"Assinatura\",\r\n    \"x\": 55,\r\n    \"y\": 78,\r\n    \"height\": 5,\r\n    \"width\": 15,\r\n    \"page\": 3,\r\n    \"documentSignatureId\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n    \"email\": \"joao.souza@exemplo.com.br\",\r\n    \"role\": \"Testemunha\",\r\n    \"authenticationMethod\": \"Email\",\r\n    \"authenticationMethodDescription\": \"E-mail\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Info para download do documento original",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/original",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "download",
                "original"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_download_original`\n\nDevolve uma URL temporária para baixar o arquivo original do documento, em PDF, sem assinaturas.\n\n- A URL é pré-assinada e vale por 5 minutos; faça o download logo após obtê-la. Cada chamada gera\n  uma URL nova.\n- `name` é o nome do documento, sem extensão.\n- Responde `400` quando o documento não existe na conta ou ainda não tem arquivo disponível.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/original",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "download",
                    "original"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Contrato de locação - Apto 501\",\r\n  \"url\": \"https://s3.sa-east-1.amazonaws.com/documents/0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=300&X-Amz-Signature=3f9c0a1b2c3d4e5f\"\r\n}"
            }
          ]
        },
        {
          "name": "Info para download do documento com anexos (obsoleta)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/with-atachments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "download",
                "with-atachments"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_download_with_attachments`\n\n**Obsoleta.** Continua respondendo; a descrição indica o substituto.\n\n**Obsoleto.** Substituído por `partners_v2_documents_download_with_attachments` na\n[Partners API v2](https://api.letssign.com.br/docs/partners/v2), que corrige a grafia da rota. Continua respondendo, mas não\nrecebe evolução.\n\nDevolve uma URL temporária (5 minutos) para o PDF do documento com os anexos incorporados; sem\nanexos, devolve o arquivo original.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/with-atachments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "download",
                    "with-atachments"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Contrato de locação - Apto 501\",\r\n  \"url\": \"https://s3.sa-east-1.amazonaws.com/documents/0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f-attachments.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=300&X-Amz-Signature=3f9c0a1b2c3d4e5f\"\r\n}"
            }
          ]
        },
        {
          "name": "Info para download do documento assinado",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/signed",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "download",
                "signed"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_download_signed`\n\nDevolve uma URL temporária para baixar o PDF assinado eletronicamente, com a página de\nassinaturas e o carimbo de cada signatário.\n\n- Com todos os signatários assinados, entrega o arquivo final. Com assinaturas pendentes, gera e\n  entrega um PDF parcial com as assinaturas já realizadas.\n- Responde `400` enquanto nenhum signatário assinou (`Nenhum signatário assinou o documento até o\n  momento.`) ou se o documento não existe na conta.\n- A URL é pré-assinada e vale por 5 minutos; cada chamada gera uma URL nova.\n- Para documentos assinados com certificado digital, use\n  `partners_v1_documents_download_digital_certificate`.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/signed",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "download",
                    "signed"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Contrato de locação - Apto 501\",\r\n  \"url\": \"https://s3.sa-east-1.amazonaws.com/documents/0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f-signed.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=300&X-Amz-Signature=3f9c0a1b2c3d4e5f\"\r\n}"
            }
          ]
        },
        {
          "name": "Info para download do documento com certificado digital",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/digital-certificate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "download",
                "digital-certificate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_download_digital_certificate`\n\nDevolve uma URL temporária para baixar o PDF assinado com certificado digital (ICP-Brasil),\ndisponível quando o documento tem ao menos um signatário com `DigitalCertificate` e todos já\nassinaram.\n\n- Antes disso responde `400` (`O documento assinado com certificado digital não está disponível\n  para download.`).\n- A URL é pré-assinada e vale por 5 minutos; cada chamada gera uma URL nova.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/download/digital-certificate",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "download",
                    "digital-certificate"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Contrato de locação - Apto 501\",\r\n  \"url\": \"https://s3.sa-east-1.amazonaws.com/documents/0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f-digital.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=300&X-Amz-Signature=3f9c0a1b2c3d4e5f\"\r\n}"
            }
          ]
        },
        {
          "name": "Envio de solicitação de assinaturas para um documento existente",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/request-signatures",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "request-signatures"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_request_signatures`\n\nEnvia a solicitação de assinaturas para um documento que já existe na conta e ainda não está em\nprocesso de assinatura: documentos criados a partir de formulário (`partners_v1_forms_create`)\nou que tiveram as assinaturas canceladas.\n\n- Aceita documentos com status de assinatura `SignatureNotSet`, `SettingUpSignatures`,\n  `SignaturesDeliveryScheduled`, `FinalizingSignatures` ou `ErrorOnFinalizingSignatures`. Em\n  `WaitingSignatures` ou `Signed` responde `400`.\n- O corpo segue as mesmas regras de `partners_v1_document_signatures_create_from_file`, sem o\n  arquivo: signatários, áreas, informações, observadores, prazo e lembretes.\n- `deadlineForSignature` substitui o prazo atual; omitido, o prazo é removido. `scheduledTo` não\n  tem efeito nesta operação.\n- Ao contrário da criação, `Part` e `1` não são convertidos para `Parte`: envie o nome do papel.\n- Dispara o webhook `DocumentSentToSignature` e notifica os signatários. Consome cota de SMS e\n  WhatsApp quando usados.\n- Repetir a chamada responde `400`, pois o documento passa a `WaitingSignatures`.\n\n**Features exigidas no plano da conta:** `documents`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"customMessage\": \"Segue a ficha cadastral preenchida para assinatura.\",\r\n  \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n  \"reminderFrequency\": \"SevenDays\",\r\n  \"signers\": [\r\n    {\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"name\": \"Maria da Silva\",\r\n      \"documentNumber\": \"11144477735\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"email\": \"ana.pereira@exemplo.com.br\",\r\n      \"name\": \"Ana Pereira\",\r\n      \"role\": \"Aprovador\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ],\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 2,\r\n      \"x\": 12.5,\r\n      \"y\": 80,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/request-signatures",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "request-signatures"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"customMessage\": \"Segue a ficha cadastral preenchida para assinatura.\",\r\n  \"deadlineForSignature\": \"2026-09-30T12:00:00Z\",\r\n  \"reminderFrequency\": \"SevenDays\",\r\n  \"signers\": [\r\n    {\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"name\": \"Maria da Silva\",\r\n      \"documentNumber\": \"11144477735\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    },\r\n    {\r\n      \"email\": \"ana.pereira@exemplo.com.br\",\r\n      \"name\": \"Ana Pereira\",\r\n      \"role\": \"Aprovador\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ],\r\n  \"signatureAreas\": [\r\n    {\r\n      \"type\": \"Signature\",\r\n      \"page\": 2,\r\n      \"x\": 12.5,\r\n      \"y\": 80,\r\n      \"width\": 15,\r\n      \"height\": 5,\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\"\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n  \"uri\": \"https://app.letssign.com.br/app/documents/01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f/signatures\"\r\n}"
            }
          ]
        },
        {
          "name": "Lista campos de informações do documento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/informations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "informations"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_informations_list`\n\nLista os campos de informação preenchidos no documento, com o campo da conta\n(`informationField`), o valor e, para texto formatado, o valor sem marcação.\n\n- Retorna lista vazia quando o documento não tem informações.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/informations",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "informations"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"01991447-b1c2-7d3e-8f4a-5b6c7d8e9f0a\",\r\n    \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n    \"informationField\": {\r\n      \"id\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n      \"name\": \"Número do contrato\",\r\n      \"type\": \"Text\",\r\n      \"typeDescription\": \"Texto curto\"\r\n    },\r\n    \"value\": \"CT-2026-0451\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Adiciona/atualiza campo de informação no documento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/informations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "informations"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_informations_upsert`\n\nGrava um campo de informação no documento. Se o documento já tem valor para o\n`informationFieldId`, o valor é substituído; caso contrário, o campo é adicionado.\n\n- Exige a feature `document_informations` no plano; sem ela responde `400`.\n- O valor deve seguir o tipo do campo: data em `YYYY-MM-DD`, números com ponto decimal, `Party`\n  com id, CPF ou CNPJ de um contato da conta. Valor fora do formato responde `400`.\n- Não altera o status do documento nem dispara webhook. Idempotente por `informationFieldId`.\n\n**Features exigidas no plano da conta:** `documents`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n  \"value\": \"CT-2026-0451\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/informations",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "informations"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n  \"value\": \"CT-2026-0451\"\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"01991447-b1c2-7d3e-8f4a-5b6c7d8e9f0a\",\r\n  \"informationFieldId\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n  \"informationField\": {\r\n    \"id\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n    \"name\": \"Número do contrato\",\r\n    \"type\": \"Text\",\r\n    \"typeDescription\": \"Texto curto\"\r\n  },\r\n  \"value\": \"CT-2026-0451\"\r\n}"
            }
          ]
        },
        {
          "name": "Remove campo de informação no documento",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/informations/:informationFieldId",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "informations",
                ":informationFieldId"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                },
                {
                  "key": "informationFieldId",
                  "value": "",
                  "description": "Obrigatório. Identificador do campo de informação da conta (`partners_v1_information_fields_list`)."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_informations_delete`\n\nRemove o valor de um campo de informação do documento.\n\n- Responde `400` quando o documento não tem valor para o campo (`Campo de informação não existe`),\n  inclusive ao repetir a chamada.\n- Não altera o status do documento nem dispara webhook.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": []
        },
        {
          "name": "Remove um documento",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_delete`\n\nExclui o documento da conta, com as assinaturas em andamento e os arquivos.\n\n- Documentos com status de assinatura `Signed` não podem ser excluídos (`O documento já está\n  assinado`, `400`).\n- Signatários e suplentes recebem e-mail de cancelamento. Dispara o webhook `DocumentRemoved` e,\n  quando o documento estava aguardando assinaturas, o `DocumentSignaturesCanceled`, que lista os\n  documentos atingidos.\n- A exclusão fica no registro de eventos da conta e é definitiva.\n- Repetir a chamada responde `400` (`Document não existe`).\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": []
        },
        {
          "name": "Lista campos do formulário do documento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/form-fields",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "form-fields"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_form_fields_list`\n\nLista os campos do formulário que originou o documento (criado por `partners_v1_forms_create`),\ncom tipo, tag, enunciado, obrigatoriedade, quem preenche (`filler`) e o valor preenchido.\n\n- Retorna lista vazia para documentos que não vieram de formulário.\n- Ordenado por `order`. Somente leitura.\n\n**Features exigidas no plano da conta:** `custom_models`, `default_models`, `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/form-fields",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "form-fields"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"01991446-a0b1-7c2d-9e3f-4a5b6c7d8e9f\",\r\n    \"type\": \"Text\",\r\n    \"tag\": \"nome_locatario\",\r\n    \"name\": \"Nome do locatário\",\r\n    \"statement\": \"Informe o nome completo do locatário\",\r\n    \"required\": true,\r\n    \"capitalize\": false,\r\n    \"writeOut\": false,\r\n    \"order\": 1,\r\n    \"filler\": {\r\n      \"name\": \"Maria da Silva\",\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"filledAt\": \"2026-08-21T09:30:00Z\"\r\n    },\r\n    \"value\": \"Maria da Silva\"\r\n  },\r\n  {\r\n    \"id\": \"01991446-a0b1-7c2d-9e3f-4a5b6c7d8ea0\",\r\n    \"type\": \"Currency\",\r\n    \"tag\": \"valor_aluguel\",\r\n    \"name\": \"Valor do aluguel\",\r\n    \"statement\": \"Valor mensal do aluguel\",\r\n    \"required\": true,\r\n    \"capitalize\": false,\r\n    \"writeOut\": true,\r\n    \"order\": 4,\r\n    \"value\": \"2500.00\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Atualiza os métodos de autenticação adicionais dos signatários do documento",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/signatures/additional-authentication-methods",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "signatures",
                "additional-authentication-methods"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_update_additional_authentication_methods`\n\nDefine as evidências adicionais exigidas na assinatura (selfie, documento com foto, biometria\nfacial) de um ou mais signatários de um documento aguardando assinaturas. A lista enviada\nsubstitui a existente em cada signatário; `[]` remove todas.\n\n- Exige status de assinatura `WaitingSignatures`; fora disso responde `400`.\n- Identificadores de signatário desconhecidos são ignorados sem erro.\n- A resposta traz todos os signatários do documento com as evidências vigentes.\n- Idempotente. Não dispara webhook nem reenvia links.\n\n**Features exigidas no plano da conta:** `documents`, `documents_signatures`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"signatures\": [\r\n    {\r\n      \"documentSignatureId\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n      \"additionalAuthenticationMethods\": [\r\n        \"DocumentIdWithPhoto\"\r\n      ]\r\n    },\r\n    {\r\n      \"documentSignatureId\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n      \"additionalAuthenticationMethods\": []\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/signatures/additional-authentication-methods",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "signatures",
                    "additional-authentication-methods"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"signatures\": [\r\n    {\r\n      \"documentSignatureId\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n      \"additionalAuthenticationMethods\": [\r\n        \"DocumentIdWithPhoto\"\r\n      ]\r\n    },\r\n    {\r\n      \"documentSignatureId\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n      \"additionalAuthenticationMethods\": []\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n  \"signatures\": [\r\n    {\r\n      \"documentSignatureId\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n      \"role\": \"Parte\",\r\n      \"authenticationMethod\": \"Email\",\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"name\": \"Maria da Silva\",\r\n      \"additionalAuthenticationMethods\": [\r\n        \"DocumentIdWithPhoto\"\r\n      ]\r\n    },\r\n    {\r\n      \"documentSignatureId\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n      \"role\": \"Testemunha\",\r\n      \"authenticationMethod\": \"Email\",\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"name\": \"João de Souza\",\r\n      \"additionalAuthenticationMethods\": []\r\n    }\r\n  ]\r\n}"
            }
          ]
        },
        {
          "name": "Altera pasta de um documento",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/folder",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "folder"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_change_folder`\n\nMove o documento para outra pasta da conta, ou para a raiz quando `folderId` é nulo.\n\n- A pasta de destino precisa existir na conta (`Pasta destino não encontrada`, `400`).\n- Idempotente e sem efeitos colaterais além da mudança de pasta. Responde `200` sem corpo.\n\n**Features exigidas no plano da conta:** `documents`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"folderId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Substitui os grupos de acesso do documento",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/documents/:id/groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "groups"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_documents_update_groups`\n\nDefine quais grupos de acesso da conta veem o documento. O conjunto enviado em `groups` substitui\no atual: o que está na lista fica, o que não está sai. Consulte os ids em\n`partners_v1_groups_list`.\n\n- Só aceita grupo **ativo** da própria conta; qualquer outro id responde `422` citando os ids\n  recusados. O campo `groups` é obrigatório: corpo sem ele, ou com `null`, responde `422`; para\n  remover todos os grupos, envie a lista vazia.\n- **Cuidado com read-modify-write.** O vínculo com grupo desativado no aplicativo não aparece em\n  `groups` nas leituras do documento, mas continua na base — e a substituição não o poupa: devolver\n  aqui a lista que veio da leitura remove esse vínculo em definitivo, e reativar o grupo depois não\n  devolve a visibilidade do documento. Quando um grupo do documento pode estar desativado, monte a\n  lista a partir dos ids que você controla, não do que a leitura devolveu.\n- Grupos do documento e grupos da pasta são condições **cumulativas**, não alternativas: um\n  documento com o grupo `Jurídico` dentro de uma pasta restrita a `Diretoria` é visto por quem\n  está nos dois. Remover todos os grupos do documento não o torna invisível — o acesso volta a ser\n  decidido pelos grupos da pasta, e o documento fora de pasta fica visível para toda a conta.\n- Aplica-se ao documento informado, em qualquer status. Num envelope, os documentos filhos não são\n  afetados: cada um tem os seus próprios grupos.\n- Documento que não é da conta responde `400` (`Documento não encontrado`).\n- Idempotente. Responde `204` sem corpo.\n\n**Features exigidas no plano da conta:** `documents`, `groups`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"groups\": [\r\n    \"0199143d-3f40-7b5c-8d6e-7f8a9b0c1d2e\"\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Webhooks",
      "description": "URLs da conta que recebem um POST a cada evento: documento enviado, signatário assinou, assinaturas concluídas, status alterado, documento removido, formulário preenchido.",
      "item": [
        {
          "name": "Lista de webhooks da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "webhooks"
              ]
            },
            "description": "`operationId`: `partners_v1_webhooks_list`\n\nLista as URLs de webhook cadastradas na conta, em ordem de criação. `available` reflete o\nresultado do evento `Test` enviado no cadastro.\n\n- Todas as URLs recebem todos os eventos da conta; não há filtro por evento.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `integrations`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/webhooks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "webhooks"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"0199143e-4a5b-7c6d-9e7f-8a9b0c1d2e3f\",\r\n    \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n    \"uri\": \"https://integracao.exemplo.com.br/letssign/webhook\",\r\n    \"available\": true,\r\n    \"createdAt\": \"2026-08-20T14:05:00Z\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Adicionar webhook na conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "webhooks"
              ]
            },
            "description": "`operationId`: `partners_v1_webhooks_create`\n\nCadastra uma URL para receber os eventos da conta por `POST` JSON: documento enviado, signatário\nadicionado, signatário assinou, assinaturas concluídas, status alterado, documento removido e\nformulário preenchido.\n\n- No cadastro, um evento `Test` é enviado de imediato; a URL deve responder `200` ou `202` em até\n  20 segundos. O resultado fica em `available`, mas a URL é gravada mesmo quando o teste falha.\n- Exige `http://` ou `https://`, host em minúsculas com TLD de 2 a 5 letras. A mesma URL não pode\n  ser cadastrada duas vezes na conta (`A URL ... já é usada como webhook na conta`, `400`).\n- Entregas com falha são repetidas até 5 vezes. Não há cabeçalho de assinatura: valide a origem\n  pelo `accountId` do payload e, se preciso, por um segredo na própria URL.\n- Os payloads de cada evento estão na página inicial da documentação.\n\n**Features exigidas no plano da conta:** `integrations`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"uri\": \"https://integracao.exemplo.com.br/letssign/webhook\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/webhooks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "webhooks"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"uri\": \"https://integracao.exemplo.com.br/letssign/webhook\"\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143e-4a5b-7c6d-9e7f-8a9b0c1d2e3f\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"uri\": \"https://integracao.exemplo.com.br/letssign/webhook\",\r\n  \"available\": true,\r\n  \"createdAt\": \"2026-08-20T14:05:00Z\"\r\n}"
            }
          ]
        },
        {
          "name": "Remover webhook da conta",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do webhook, devolvido na criação e na listagem."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_webhooks_delete`\n\nRemove uma URL de webhook da conta. Eventos futuros deixam de ser enviados a ela.\n\n- Responde `400` quando o webhook não existe na conta, inclusive ao repetir a chamada.\n\n**Features exigidas no plano da conta:** `integrations`."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Folders",
      "description": "Pastas que organizam os documentos da conta.",
      "item": [
        {
          "name": "Lista pastas da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/folders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "folders"
              ]
            },
            "description": "`operationId`: `partners_v1_folders_list`\n\nLista todas as pastas da conta, com `parentId` para montar a árvore e `path` com o caminho\ncompleto.\n\n- Pode responder de um cache de até 3 horas; criar uma pasta por `partners_v1_folders_create`\n  invalida o cache da conta.\n- Não há paginação. Somente leitura."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/folders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "folders"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n    \"name\": \"Contratos 2026\",\r\n    \"hasChildren\": true,\r\n    \"path\": \"Contratos 2026\"\r\n  },\r\n  {\r\n    \"id\": \"0199144a-e4f5-7a6b-9c7d-8e9f0a1b2c3d\",\r\n    \"name\": \"Locação\",\r\n    \"parentId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n    \"hasChildren\": false,\r\n    \"path\": \"Contratos 2026/Locação\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Cria uma pasta na Conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/folders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "folders"
              ]
            },
            "description": "`operationId`: `partners_v1_folders_create`\n\nCria uma pasta na conta, na raiz ou dentro de `parentId`.\n\n- O nome deve ser único dentro da pasta pai (sem diferenciar maiúsculas) e a pasta pai precisa\n  existir na conta; ambos respondem `400`.\n- A nova pasta herda as permissões de grupos da pasta pai.\n- Repetir a chamada com o mesmo nome e pai responde `400`.\n\n**Features exigidas no plano da conta:** `folder_writer`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Contratos 2026\",\r\n  \"parentId\": null\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/folders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "folders"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Contratos 2026\",\r\n  \"parentId\": null\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n  \"name\": \"Contratos 2026\",\r\n  \"hasChildren\": false,\r\n  \"path\": \"Contratos 2026\"\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Categories",
      "description": "Categorias que classificam os documentos da conta.",
      "item": [
        {
          "name": "Lista paginada de categorias da conta (obsoleta)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories"
              ],
              "query": [
                {
                  "key": "Name",
                  "value": "Contratos",
                  "description": "Filtra categorias cujo nome contém o texto.",
                  "disabled": true
                },
                {
                  "key": "Active",
                  "value": "true",
                  "description": "Filtra por situação: `true` só ativas, `false` só inativas. Sem valor, ambas.",
                  "disabled": true
                },
                {
                  "key": "pageIndex",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "pageSize",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "sortField",
                  "value": "Id",
                  "description": "Obrigatório. Campo de ordenação."
                },
                {
                  "key": "sortType",
                  "value": "asc",
                  "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_categories_list`\n\n**Obsoleta.** Continua respondendo; a descrição indica o substituto.\n\n**Obsoleto.** Substituído por `partners_v2_categories_list` na [Partners API v2](https://api.letssign.com.br/docs/partners/v2),\ncom paginação por `page`/`perPage` e ordenação declarada. Continua respondendo, mas não recebe\nevolução.\n\nLista as categorias da conta, com filtro por nome e situação, paginada por `pageIndex` e\n`pageSize`. Somente leitura.\n\n**Features exigidas no plano da conta:** `categories`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "categories"
                  ],
                  "query": [
                    {
                      "key": "Name",
                      "value": "Contratos",
                      "description": "Filtra categorias cujo nome contém o texto.",
                      "disabled": true
                    },
                    {
                      "key": "Active",
                      "value": "true",
                      "description": "Filtra por situação: `true` só ativas, `false` só inativas. Sem valor, ambas.",
                      "disabled": true
                    },
                    {
                      "key": "pageIndex",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "pageSize",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "sortField",
                      "value": "Id",
                      "description": "Obrigatório. Campo de ordenação."
                    },
                    {
                      "key": "sortType",
                      "value": "asc",
                      "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"items\": [\r\n    {\r\n      \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n      \"name\": \"Contratos de locação\",\r\n      \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n      \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n      \"active\": true\r\n    }\r\n  ],\r\n  \"totalPages\": 1,\r\n  \"totalRecords\": 1,\r\n  \"pageSize\": 20\r\n}"
            }
          ]
        },
        {
          "name": "Adicionar categoria na conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories"
              ]
            },
            "description": "`operationId`: `partners_v1_categories_create`\n\nCria uma categoria na conta. Categorias classificam documentos e servem de filtro nas listagens.\n\n- O nome deve ser único na conta, sem diferenciar maiúsculas (`Este nome de categoria já existe`,\n  `400`). A categoria nasce ativa.\n- Responde `201` com a categoria e o cabeçalho `Location`.\n\n**Features exigidas no plano da conta:** `categories`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Contratos de locação\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "categories"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Contratos de locação\"\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n  \"name\": \"Contratos de locação\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n  \"active\": true\r\n}"
            }
          ]
        },
        {
          "name": "Busca categoria da conta por id",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador da categoria."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_categories_get`\n\nBusca uma categoria da conta pelo identificador.\n\n- Responde `404` quando não existe na conta.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `categories`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "categories",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador da categoria."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n  \"name\": \"Contratos de locação\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n  \"active\": true\r\n}"
            }
          ]
        },
        {
          "name": "Editar categoria da conta",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador da categoria."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_categories_update`\n\nRenomeia uma categoria da conta. A situação (`active`) não muda.\n\n- O novo nome deve ser único na conta; categoria inexistente ou nome repetido respondem `400`.\n- Idempotente.\n\n**Features exigidas no plano da conta:** `categories`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Contratos de locação residencial\"\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "categories",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador da categoria."
                    }
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Contratos de locação residencial\"\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n  \"name\": \"Contratos de locação residencial\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n  \"active\": true\r\n}"
            }
          ]
        },
        {
          "name": "Remover categoria da conta",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador da categoria."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_categories_delete`\n\nExclui uma categoria da conta.\n\n- Não é possível excluir categoria vinculada a documentos ou a modelos de documento; a resposta\n  `400` diz qual vínculo impede. Nesse caso, desative-a com `partners_v1_categories_change_status`.\n- Repetir a chamada responde `400` (`Categoria não existe`).\n\n**Features exigidas no plano da conta:** `categories`."
          },
          "response": []
        },
        {
          "name": "Alterar status da categoria da conta",
          "request": {
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id/change-status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "categories",
                ":id",
                "change-status"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador da categoria."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_categories_change_status`\n\nInverte a situação da categoria: ativa passa a inativa e inativa passa a ativa. Não recebe corpo.\n\n- Categoria inativa deixa de ser oferecida para novos documentos, mas continua nos documentos que\n  já a têm.\n- Categoria inexistente responde `400`. Chamar duas vezes volta ao estado original.\n\n**Features exigidas no plano da conta:** `categories`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "PATCH",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/categories/:id/change-status",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "categories",
                    ":id",
                    "change-status"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador da categoria."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\",\r\n  \"name\": \"Contratos de locação\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"createdAt\": \"2025-03-12T13:45:10Z\",\r\n  \"active\": false\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Contacts",
      "description": "Pessoas físicas (CPF) e jurídicas (CNPJ) cadastradas na conta, reutilizáveis como signatários.",
      "item": [
        {
          "name": "Buscar pessoa por cpf",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/person/:cpf",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "contacts",
                "person",
                ":cpf"
              ],
              "variable": [
                {
                  "key": "cpf",
                  "value": "",
                  "description": "Obrigatório. CPF da pessoa, somente os 11 dígitos, sem pontuação."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_contacts_get_person`\n\nBusca um contato do tipo pessoa pelo CPF.\n\n- Informe só os 11 dígitos. CPF inválido responde `400`; CPF não cadastrado na conta, ou\n  cadastrado como empresa, responde `404`.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `contacts`, `integrations`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/person/:cpf",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "contacts",
                    "person",
                    ":cpf"
                  ],
                  "variable": [
                    {
                      "key": "cpf",
                      "value": "",
                      "description": "Obrigatório. CPF da pessoa, somente os 11 dígitos, sem pontuação."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Maria da Silva\",\r\n  \"alias\": \"Maria\",\r\n  \"email\": \"maria.silva@exemplo.com.br\",\r\n  \"addressInformation\": {\r\n    \"address\": \"Rua das Flores\",\r\n    \"number\": \"120\",\r\n    \"complement\": \"Sala 4\",\r\n    \"district\": \"Centro\",\r\n    \"zipCode\": \"01001000\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\",\r\n    \"formattedZipCode\": \"01001-000\",\r\n    \"complete\": \"Rua das Flores, 120, Sala 4, Centro, 01001-000, São Paulo-SP\"\r\n  },\r\n  \"phone1\": {\r\n    \"number\": \"11987654321\",\r\n    \"formated\": \"(11) 9-8765-4321\",\r\n    \"formatted\": \"(11) 9-8765-4321\"\r\n  },\r\n  \"cpf\": \"11144477735\",\r\n  \"rg\": \"12.345.678-9\",\r\n  \"issuingAgency\": \"SSP\",\r\n  \"stateIssuingAgency\": \"SP\",\r\n  \"nationality\": \"Brasileira\",\r\n  \"profession\": \"Arquiteta\",\r\n  \"maritalStatus\": \"Married\"\r\n}"
            }
          ]
        },
        {
          "name": "Cria ou atualiza uma pessoa",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/person",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "contacts",
                "person"
              ]
            },
            "description": "`operationId`: `partners_v1_contacts_upsert_person`\n\nCria ou atualiza um contato do tipo pessoa. A chave é o CPF: se já existe na conta, o contato é\natualizado; senão, é criado.\n\n- A atualização substitui o cadastro por completo: campos omitidos ficam vazios. Envie sempre o\n  contato inteiro.\n- Responde `200` nos dois casos, com o contato gravado. Idempotente.\n- Contatos podem ser referenciados em campos de informação do tipo `Party`.\n\n**Features exigidas no plano da conta:** `contacts`, `integrations`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Maria da Silva\",\r\n  \"alias\": \"Maria\",\r\n  \"email\": \"maria.silva@exemplo.com.br\",\r\n  \"cpf\": \"11144477735\",\r\n  \"rg\": \"12.345.678-9\",\r\n  \"issuingAgency\": \"SSP\",\r\n  \"stateIssuingAgency\": \"SP\",\r\n  \"nationality\": \"Brasileira\",\r\n  \"profession\": \"Arquiteta\",\r\n  \"maritalStatus\": \"Married\",\r\n  \"phone1\": {\r\n    \"number\": \"11987654321\"\r\n  },\r\n  \"addressInformation\": {\r\n    \"address\": \"Rua das Flores\",\r\n    \"number\": \"120\",\r\n    \"complement\": \"Sala 4\",\r\n    \"district\": \"Centro\",\r\n    \"zipCode\": \"01001000\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/person",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "contacts",
                    "person"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Maria da Silva\",\r\n  \"alias\": \"Maria\",\r\n  \"email\": \"maria.silva@exemplo.com.br\",\r\n  \"cpf\": \"11144477735\",\r\n  \"rg\": \"12.345.678-9\",\r\n  \"issuingAgency\": \"SSP\",\r\n  \"stateIssuingAgency\": \"SP\",\r\n  \"nationality\": \"Brasileira\",\r\n  \"profession\": \"Arquiteta\",\r\n  \"maritalStatus\": \"Married\",\r\n  \"phone1\": {\r\n    \"number\": \"11987654321\"\r\n  },\r\n  \"addressInformation\": {\r\n    \"address\": \"Rua das Flores\",\r\n    \"number\": \"120\",\r\n    \"complement\": \"Sala 4\",\r\n    \"district\": \"Centro\",\r\n    \"zipCode\": \"01001000\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\"\r\n  }\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Maria da Silva\",\r\n  \"alias\": \"Maria\",\r\n  \"email\": \"maria.silva@exemplo.com.br\",\r\n  \"addressInformation\": {\r\n    \"address\": \"Rua das Flores\",\r\n    \"number\": \"120\",\r\n    \"complement\": \"Sala 4\",\r\n    \"district\": \"Centro\",\r\n    \"zipCode\": \"01001000\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\",\r\n    \"formattedZipCode\": \"01001-000\",\r\n    \"complete\": \"Rua das Flores, 120, Sala 4, Centro, 01001-000, São Paulo-SP\"\r\n  },\r\n  \"phone1\": {\r\n    \"number\": \"11987654321\",\r\n    \"formated\": \"(11) 9-8765-4321\",\r\n    \"formatted\": \"(11) 9-8765-4321\"\r\n  },\r\n  \"cpf\": \"11144477735\",\r\n  \"rg\": \"12.345.678-9\",\r\n  \"issuingAgency\": \"SSP\",\r\n  \"stateIssuingAgency\": \"SP\",\r\n  \"nationality\": \"Brasileira\",\r\n  \"profession\": \"Arquiteta\",\r\n  \"maritalStatus\": \"Married\"\r\n}"
            }
          ]
        },
        {
          "name": "Buscar empresa por CNPJ ",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/company/:cnpj",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "contacts",
                "company",
                ":cnpj"
              ],
              "variable": [
                {
                  "key": "cnpj",
                  "value": "",
                  "description": "Obrigatório. CNPJ da empresa, somente os 14 caracteres, sem pontuação."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_contacts_get_company`\n\nBusca um contato do tipo empresa pelo CNPJ.\n\n- Informe só os 14 caracteres, sem pontuação. CNPJ inválido responde `400`; CNPJ não cadastrado\n  na conta, ou cadastrado como pessoa, responde `404`.\n- Somente leitura, sem efeitos colaterais.\n\n**Features exigidas no plano da conta:** `contacts`, `integrations`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/company/:cnpj",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "contacts",
                    "company",
                    ":cnpj"
                  ],
                  "variable": [
                    {
                      "key": "cnpj",
                      "value": "",
                      "description": "Obrigatório. CNPJ da empresa, somente os 14 caracteres, sem pontuação."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Horizonte Negócios Imobiliários Ltda\",\r\n  \"alias\": \"Imobiliária Horizonte\",\r\n  \"email\": \"contato@exemplo.com.br\",\r\n  \"addressInformation\": {\r\n    \"address\": \"Avenida Paulista\",\r\n    \"number\": \"1000\",\r\n    \"complement\": \"Conjunto 101\",\r\n    \"district\": \"Bela Vista\",\r\n    \"zipCode\": \"01310100\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\",\r\n    \"formattedZipCode\": \"01310-100\",\r\n    \"complete\": \"Avenida Paulista, 1000, Conjunto 101, Bela Vista, 01310-100, São Paulo-SP\"\r\n  },\r\n  \"phone1\": {\r\n    \"number\": \"1133334444\",\r\n    \"formated\": \"(11) 3333-4444\",\r\n    \"formatted\": \"(11) 3333-4444\"\r\n  },\r\n  \"cnpj\": \"11222333000181\",\r\n  \"nire\": \"35300012345\",\r\n  \"stateRegistration\": \"110.042.490.114\",\r\n  \"municipalRegistration\": \"1.234.567-8\"\r\n}"
            }
          ]
        },
        {
          "name": "Cria ou atualiza uma Empresa",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/company",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "contacts",
                "company"
              ]
            },
            "description": "`operationId`: `partners_v1_contacts_upsert_company`\n\nCria ou atualiza um contato do tipo empresa. A chave é o CNPJ: se já existe na conta, o contato é\natualizado; senão, é criado.\n\n- A atualização substitui o cadastro por completo: campos omitidos ficam vazios. Envie sempre o\n  contato inteiro.\n- Responde `200` nos dois casos, com o contato gravado. Idempotente.\n- Contatos podem ser referenciados em campos de informação do tipo `Party`.\n\n**Features exigidas no plano da conta:** `contacts`, `integrations`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Horizonte Negócios Imobiliários Ltda\",\r\n  \"alias\": \"Imobiliária Horizonte\",\r\n  \"email\": \"contato@exemplo.com.br\",\r\n  \"cnpj\": \"11222333000181\",\r\n  \"nire\": \"35300012345\",\r\n  \"stateRegistration\": \"110.042.490.114\",\r\n  \"municipalRegistration\": \"1.234.567-8\",\r\n  \"phone1\": {\r\n    \"number\": \"1133334444\"\r\n  },\r\n  \"addressInformation\": {\r\n    \"address\": \"Avenida Paulista\",\r\n    \"number\": \"1000\",\r\n    \"complement\": \"Conjunto 101\",\r\n    \"district\": \"Bela Vista\",\r\n    \"zipCode\": \"01310100\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/company",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "contacts",
                    "company"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Horizonte Negócios Imobiliários Ltda\",\r\n  \"alias\": \"Imobiliária Horizonte\",\r\n  \"email\": \"contato@exemplo.com.br\",\r\n  \"cnpj\": \"11222333000181\",\r\n  \"nire\": \"35300012345\",\r\n  \"stateRegistration\": \"110.042.490.114\",\r\n  \"municipalRegistration\": \"1.234.567-8\",\r\n  \"phone1\": {\r\n    \"number\": \"1133334444\"\r\n  },\r\n  \"addressInformation\": {\r\n    \"address\": \"Avenida Paulista\",\r\n    \"number\": \"1000\",\r\n    \"complement\": \"Conjunto 101\",\r\n    \"district\": \"Bela Vista\",\r\n    \"zipCode\": \"01310100\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\"\r\n  }\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"name\": \"Horizonte Negócios Imobiliários Ltda\",\r\n  \"alias\": \"Imobiliária Horizonte\",\r\n  \"email\": \"contato@exemplo.com.br\",\r\n  \"addressInformation\": {\r\n    \"address\": \"Avenida Paulista\",\r\n    \"number\": \"1000\",\r\n    \"complement\": \"Conjunto 101\",\r\n    \"district\": \"Bela Vista\",\r\n    \"zipCode\": \"01310100\",\r\n    \"city\": \"São Paulo\",\r\n    \"state\": \"SP\",\r\n    \"formattedZipCode\": \"01310-100\",\r\n    \"complete\": \"Avenida Paulista, 1000, Conjunto 101, Bela Vista, 01310-100, São Paulo-SP\"\r\n  },\r\n  \"phone1\": {\r\n    \"number\": \"1133334444\",\r\n    \"formated\": \"(11) 3333-4444\",\r\n    \"formatted\": \"(11) 3333-4444\"\r\n  },\r\n  \"cnpj\": \"11222333000181\",\r\n  \"nire\": \"35300012345\",\r\n  \"stateRegistration\": \"110.042.490.114\",\r\n  \"municipalRegistration\": \"1.234.567-8\"\r\n}"
            }
          ]
        },
        {
          "name": "Remove um contato por CPF ou CNPJ",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/contacts/:cpfOrCnpj",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "contacts",
                ":cpfOrCnpj"
              ],
              "variable": [
                {
                  "key": "cpfOrCnpj",
                  "value": "",
                  "description": "Obrigatório. CPF (11 dígitos) ou CNPJ (14 caracteres) do contato, sem pontuação."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_contacts_delete`\n\nExclui um contato da conta pelo CPF ou CNPJ, informado só com dígitos.\n\n- Valor inválido responde `400` (`CPF/CNPJ é inválido`); contato inexistente responde `400`\n  (`Contato não existe`).\n- A exclusão é definitiva e não afeta documentos já assinados por essa pessoa ou empresa.\n\n**Features exigidas no plano da conta:** `contacts`, `integrations`."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Users",
      "description": "Usuários vinculados à conta.",
      "item": [
        {
          "name": "Lista paginada de usuários da conta (obsoleta)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "users"
              ],
              "query": [
                {
                  "key": "Id",
                  "value": "",
                  "description": "ID do usuário",
                  "disabled": true
                },
                {
                  "key": "Name",
                  "value": "",
                  "description": "Nome do usuário",
                  "disabled": true
                },
                {
                  "key": "Active",
                  "value": "",
                  "description": "O usuário está ativo",
                  "disabled": true
                },
                {
                  "key": "Visible",
                  "value": "",
                  "description": "O usuário está visível",
                  "disabled": true
                },
                {
                  "key": "Profile",
                  "value": "",
                  "description": "Perfil do usuário",
                  "disabled": true
                },
                {
                  "key": "pageIndex",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "pageSize",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "sortField",
                  "value": "Id",
                  "description": "Obrigatório. Campo de ordenação."
                },
                {
                  "key": "sortType",
                  "value": "asc",
                  "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_users_list`\n\n**Obsoleta.** Continua respondendo; a descrição indica o substituto.\n\n**Obsoleto.** Substituído por `partners_v2_users_list` na [Partners API v2](https://api.letssign.com.br/docs/partners/v2), com\npaginação por `page`/`perPage`, filtro por e-mail e ordenação declarada. Continua respondendo,\nmas não recebe evolução.\n\nLista os usuários da conta, com filtros por nome, situação, visibilidade e perfil, paginada por\n`pageIndex` e `pageSize`. Somente leitura."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users?pageIndex=1&pageSize=20&sortField=Id&sortType=asc",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "users"
                  ],
                  "query": [
                    {
                      "key": "Id",
                      "value": "",
                      "description": "ID do usuário",
                      "disabled": true
                    },
                    {
                      "key": "Name",
                      "value": "",
                      "description": "Nome do usuário",
                      "disabled": true
                    },
                    {
                      "key": "Active",
                      "value": "",
                      "description": "O usuário está ativo",
                      "disabled": true
                    },
                    {
                      "key": "Visible",
                      "value": "",
                      "description": "O usuário está visível",
                      "disabled": true
                    },
                    {
                      "key": "Profile",
                      "value": "",
                      "description": "Perfil do usuário",
                      "disabled": true
                    },
                    {
                      "key": "pageIndex",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "pageSize",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "sortField",
                      "value": "Id",
                      "description": "Obrigatório. Campo de ordenação."
                    },
                    {
                      "key": "sortType",
                      "value": "asc",
                      "description": "Obrigatório. Sentido da ordenação: `asc` ou `desc`."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"items\": [\r\n    {\r\n      \"id\": \"0199143f-5b6c-7d7e-8f80-9a0b1c2d3e4f\",\r\n      \"firstName\": \"Ana\",\r\n      \"lastName\": \"Pereira\",\r\n      \"fullName\": \"Ana Pereira\",\r\n      \"email\": \"ana.pereira@exemplo.com.br\",\r\n      \"addedAt\": \"2026-08-20T14:05:00Z\",\r\n      \"active\": true,\r\n      \"profile\": \"Admin\",\r\n      \"profileDescription\": \"Administrador\"\r\n    },\r\n    {\r\n      \"id\": \"0199144d-a7b8-7c9d-9e0f-1a2b3c4d5e6f\",\r\n      \"firstName\": \"Bruno\",\r\n      \"lastName\": \"Costa\",\r\n      \"fullName\": \"Bruno Costa\",\r\n      \"email\": \"bruno.costa@exemplo.com.br\",\r\n      \"addedAt\": \"2026-08-20T14:05:00Z\",\r\n      \"active\": true,\r\n      \"profile\": \"User\",\r\n      \"profileDescription\": \"Usuário\"\r\n    }\r\n  ],\r\n  \"totalPages\": 1,\r\n  \"totalRecords\": 2,\r\n  \"pageSize\": 20\r\n}"
            }
          ]
        },
        {
          "name": "Adicionar usuários na conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "users"
              ]
            },
            "description": "`operationId`: `partners_v1_users_add`\n\nAdiciona usuários à conta e envia a cada um o e-mail de convite com o código de acesso.\n\n- Um e-mail que já existe em outra conta do LetsSign é reaproveitado; um e-mail novo cria o\n  usuário.\n- `onlyForSignature` verdadeiro cria o usuário com perfil `User` (só vê e assina os próprios\n  documentos) e exige a feature `only_signature` no plano; falso cria como `Admin`.\n- O lote é atômico: se qualquer e-mail já pertence à conta, ninguém é adicionado e a resposta\n  `400` lista os repetidos.\n- Conta inativa ou sem plano ativo responde `400`. A resposta traz os usuários adicionados.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"users\": [\r\n    {\r\n      \"firstName\": \"Ana\",\r\n      \"lastName\": \"Pereira\",\r\n      \"email\": \"ana.pereira@exemplo.com.br\",\r\n      \"onlyForSignature\": false\r\n    },\r\n    {\r\n      \"firstName\": \"Bruno\",\r\n      \"lastName\": \"Costa\",\r\n      \"email\": \"bruno.costa@exemplo.com.br\",\r\n      \"onlyForSignature\": true\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "users"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"users\": [\r\n    {\r\n      \"firstName\": \"Ana\",\r\n      \"lastName\": \"Pereira\",\r\n      \"email\": \"ana.pereira@exemplo.com.br\",\r\n      \"onlyForSignature\": false\r\n    },\r\n    {\r\n      \"firstName\": \"Bruno\",\r\n      \"lastName\": \"Costa\",\r\n      \"email\": \"bruno.costa@exemplo.com.br\",\r\n      \"onlyForSignature\": true\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"0199143f-5b6c-7d7e-8f80-9a0b1c2d3e4f\",\r\n    \"firstName\": \"Ana\",\r\n    \"lastName\": \"Pereira\",\r\n    \"fullName\": \"Ana Pereira\",\r\n    \"email\": \"ana.pereira@exemplo.com.br\",\r\n    \"addedAt\": \"2026-08-20T14:05:00Z\",\r\n    \"active\": true,\r\n    \"profile\": \"Admin\",\r\n    \"profileDescription\": \"Administrador\"\r\n  },\r\n  {\r\n    \"id\": \"0199144d-a7b8-7c9d-9e0f-1a2b3c4d5e6f\",\r\n    \"firstName\": \"Bruno\",\r\n    \"lastName\": \"Costa\",\r\n    \"fullName\": \"Bruno Costa\",\r\n    \"email\": \"bruno.costa@exemplo.com.br\",\r\n    \"addedAt\": \"2026-08-20T14:05:00Z\",\r\n    \"active\": true,\r\n    \"profile\": \"User\",\r\n    \"profileDescription\": \"Usuário\"\r\n  }\r\n]"
            }
          ]
        },
        {
          "name": "Alterar status de um usuário da conta",
          "request": {
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users/:id/change-status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "users",
                ":id",
                "change-status"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do usuário na conta."
                }
              ]
            },
            "description": "`operationId`: `partners_v1_users_change_status`\n\nInverte a situação do usuário na conta: ativo passa a inativo e inativo passa a ativo. Não recebe\ncorpo.\n\n- Usuário inativo perde o acesso à conta, mas mantém o histórico.\n- Usuário inexistente ou de outra conta responde `400` (`Usuário não existe`).\n- Evite desativar o usuário de integração da conta: as operações da API que criam documentos e\n  formulários dependem dele."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "PATCH",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/users/:id/change-status",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "users",
                    ":id",
                    "change-status"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Obrigatório. Identificador do usuário na conta."
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"0199144d-a7b8-7c9d-9e0f-1a2b3c4d5e6f\",\r\n  \"firstName\": \"Bruno\",\r\n  \"lastName\": \"Costa\",\r\n  \"fullName\": \"Bruno Costa\",\r\n  \"email\": \"bruno.costa@exemplo.com.br\",\r\n  \"addedAt\": \"2026-08-20T14:05:00Z\",\r\n  \"active\": false,\r\n  \"profile\": \"User\",\r\n  \"profileDescription\": \"Usuário\"\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Groups",
      "description": "Grupos de usuários da conta.",
      "item": [
        {
          "name": "Lista grupos da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "groups"
              ]
            },
            "description": "`operationId`: `partners_v1_groups_list`\n\nLista os grupos ativos da conta, em ordem alfabética. Grupos controlam o acesso a pastas e\ndocumentos. Os ids daqui são os aceitos em `groups` por\n`partners_v1_document_signatures_create_from_file`, `partners_v1_forms_create` e\n`partners_v1_documents_update_groups`.\n\n- Grupo desativado no aplicativo sai desta lista e deixa de ser aceito: o id passa a\n  responder `422` nos três endpoints acima e não aparece mais em `groups` nas listagens\n  de documento. O vínculo em si continua na base: devolver em\n  `partners_v1_documents_update_groups` a lista de `groups` lida do documento remove em definitivo\n  o vínculo com o grupo desativado. Ativar e desativar é operação do aplicativo — esta API não\n  altera grupo.\n- Pode responder de um cache de até 3 horas. Não há paginação. Somente leitura.\n\n**Features exigidas no plano da conta:** `groups`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/groups",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "groups"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"01991444-8e9f-7a0b-9c2d-3e4f5a6b7c8d\",\r\n    \"name\": \"Comercial\"\r\n  },\r\n  {\r\n    \"id\": \"0199144b-f5a6-7b7c-8d8e-9f0a1b2c3d4e\",\r\n    \"name\": \"Jurídico\"\r\n  }\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "DocumentSignatureRoles",
      "description": "Papéis de signatário disponíveis na conta (o \"assinar como\": parte, testemunha e outros).",
      "item": [
        {
          "name": "Lista de papéis de signatários (Assinar como)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signature-roles",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "document-signature-roles"
              ]
            },
            "description": "`operationId`: `partners_v1_document_signature_roles_list`\n\nLista os nomes dos papéis de assinatura ativos na conta (o \"assina como\" do signatário), para uso\nem `role` ao criar ou editar signatários.\n\n- Toda conta nasce com os papéis padrão (`Parte`, `Testemunha`, `Aprovador`, `Contratante`,\n  `Contratada`, entre outros) e pode criar os seus no aplicativo.\n- `Aprovador` muda o fluxo: o signatário aprova em vez de assinar. Ele vem primeiro; os demais em\n  ordem alfabética.\n- Pode responder de um cache de até 1 hora. Somente leitura."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/document-signature-roles",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "document-signature-roles"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  \"Aprovador\",\r\n  \"Acionista\",\r\n  \"Advogado(a)\",\r\n  \"Contratada\",\r\n  \"Contratante\",\r\n  \"Parte\",\r\n  \"Testemunha\"\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "InformationFields",
      "description": "Campos de informação configurados na conta, que podem ser preenchidos em cada documento.",
      "item": [
        {
          "name": "Lista campos de informação",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/information-fields",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "information-fields"
              ]
            },
            "description": "`operationId`: `partners_v1_information_fields_list`\n\nLista os campos de informação definidos na conta, com o tipo que determina o formato do valor\n(`Text`, `FormattedText`, `Date`, `Money`, `Number`, `Percentage`, `Party`). Use o `id` em\n`informations[].informationFieldId` ao criar documentos ou em\n`partners_v1_documents_informations_upsert`.\n\n- Ordem alfabética. Não há paginação. Somente leitura.\n\n**Features exigidas no plano da conta:** `document_informations`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/information-fields",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "information-fields"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"0199143d-3f4a-7b5c-8d6e-7f8a9b0c1d2e\",\r\n    \"name\": \"Número do contrato\",\r\n    \"type\": \"Text\",\r\n    \"typeDescription\": \"Texto curto\"\r\n  },\r\n  {\r\n    \"id\": \"0199144c-f6a7-7b8c-8d9e-0a1b2c3d4e5f\",\r\n    \"name\": \"Valor do contrato\",\r\n    \"type\": \"Money\",\r\n    \"typeDescription\": \"Moeda\"\r\n  }\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "FormTemplates",
      "description": "Modelos de formulário da conta, base para criar documentos a partir de campos preenchidos.",
      "item": [
        {
          "name": "Lista modelos de formulários da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/form-templates",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "form-templates"
              ]
            },
            "description": "`operationId`: `partners_v1_form_templates_list`\n\nLista os modelos de formulário ativos da conta, com os campos de cada um (`fields`): tag, tipo,\nenunciado, obrigatoriedade e opções. As tags são o que `partners_v1_forms_create` espera em\n`fillers[].fieldsTags` e `filledFields[].tag`.\n\n- Pode responder de um cache de até 3 horas. Ordem alfabética. Somente leitura.\n\n**Features exigidas no plano da conta:** `custom_models`, `default_models`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/form-templates",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "form-templates"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n    \"source\": \"File\",\r\n    \"name\": \"Ficha cadastral de locatário\",\r\n    \"slug\": \"ficha-cadastral-de-locatario\",\r\n    \"instructions\": \"Preencha os dados conforme o documento de identidade.\",\r\n    \"finalMessage\": \"Obrigado! Em breve você receberá o contrato para assinatura.\",\r\n    \"fields\": [\r\n      {\r\n        \"id\": \"01991445-9fa0-7b1c-8d2e-3f4a5b6c7d8e\",\r\n        \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n        \"type\": \"Text\",\r\n        \"typeDescription\": \"Resposta curta\",\r\n        \"tag\": \"nome_locatario\",\r\n        \"name\": \"Nome do locatário\",\r\n        \"statement\": \"Informe o nome completo do locatário\",\r\n        \"required\": true,\r\n        \"capitalize\": false,\r\n        \"writeOut\": false,\r\n        \"order\": 1,\r\n        \"possibleValues\": []\r\n      },\r\n      {\r\n        \"id\": \"01991445-9fa0-7b1c-8d2e-3f4a5b6c7d8f\",\r\n        \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n        \"type\": \"Cpf\",\r\n        \"typeDescription\": \"CPF\",\r\n        \"tag\": \"cpf_locatario\",\r\n        \"name\": \"CPF do locatário\",\r\n        \"statement\": \"Informe o CPF do locatário\",\r\n        \"required\": true,\r\n        \"capitalize\": false,\r\n        \"writeOut\": false,\r\n        \"order\": 2,\r\n        \"possibleValues\": []\r\n      },\r\n      {\r\n        \"id\": \"01991445-9fa0-7b1c-8d2e-3f4a5b6c7d90\",\r\n        \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n        \"type\": \"LongText\",\r\n        \"typeDescription\": \"Parágrafo\",\r\n        \"tag\": \"endereco_locatario\",\r\n        \"name\": \"Endereço do locatário\",\r\n        \"statement\": \"Informe o endereço completo\",\r\n        \"required\": true,\r\n        \"capitalize\": false,\r\n        \"writeOut\": false,\r\n        \"order\": 3,\r\n        \"possibleValues\": []\r\n      },\r\n      {\r\n        \"id\": \"01991445-9fa0-7b1c-8d2e-3f4a5b6c7d91\",\r\n        \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n        \"type\": \"Currency\",\r\n        \"typeDescription\": \"Moeda\",\r\n        \"tag\": \"valor_aluguel\",\r\n        \"name\": \"Valor do aluguel\",\r\n        \"statement\": \"Valor mensal do aluguel\",\r\n        \"required\": true,\r\n        \"capitalize\": false,\r\n        \"writeOut\": true,\r\n        \"order\": 4,\r\n        \"possibleValues\": []\r\n      },\r\n      {\r\n        \"id\": \"01991445-9fa0-7b1c-8d2e-3f4a5b6c7d92\",\r\n        \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n        \"type\": \"Select\",\r\n        \"typeDescription\": \"Lista suspensa\",\r\n        \"tag\": \"dia_vencimento\",\r\n        \"name\": \"Dia de vencimento\",\r\n        \"statement\": \"Escolha o dia de vencimento\",\r\n        \"required\": true,\r\n        \"capitalize\": false,\r\n        \"writeOut\": false,\r\n        \"order\": 5,\r\n        \"possibleValues\": [\r\n          \"5\",\r\n          \"10\",\r\n          \"15\"\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "Forms",
      "description": "Criação de documentos a partir de um modelo de formulário preenchido.",
      "item": [
        {
          "name": "Criação de formulários da conta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/forms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "accounts",
                "{{accountId}}",
                "forms"
              ]
            },
            "description": "`operationId`: `partners_v1_forms_create`\n\nCria um formulário a partir de um modelo da conta e o documento que será gerado com as respostas.\nO documento nasce com status `WaitingFormFill`; quando o formulário estiver completo, o PDF é\ngerado e o documento pode receber assinaturas por `partners_v1_documents_request_signatures`.\n\n- Toda tag do modelo precisa estar em `fillers[].fieldsTags` ou em `filledFields`, e cada tag só\n  pode aparecer uma vez. Faltando tag, a resposta `400` lista quais.\n- Cada pessoa em `fillers` recebe um e-mail com o link para preencher os seus campos. Campos em\n  `filledFields` já entram preenchidos; se tudo for preenchido aqui, o documento é gerado de\n  imediato.\n- `groups` restringe quais grupos de acesso da conta veem o documento gerado\n  (`partners_v1_groups_list`). Só aceita grupo **ativo** da própria conta; grupo inexistente,\n  inativo ou de outra conta responde `422` citando os ids recusados. Omitido ou vazio, o documento\n  não recebe grupo próprio e quem o vê é decidido pelos grupos da pasta.\n- Quando o formulário fica completo, os usuários em `notifiables` são avisados e o webhook\n  `FormFilled` é disparado.\n- Exige um usuário de integração definido na conta; sem ele responde `400`. Consome um documento\n  da cota do plano.\n- Não há chave de idempotência: cada chamada cria um formulário e um documento novos. A resposta\n  traz o `id` do formulário e o `documentId`.\n\n**Features exigidas no plano da conta:** `custom_models`, `default_models`.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"name\": \"Ficha cadastral - Maria da Silva\",\r\n  \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n  \"instructions\": \"Preencha os dados do locatário exatamente como constam no documento de identidade.\",\r\n  \"finalMessage\": \"Obrigado! Em breve você receberá o contrato para assinatura.\",\r\n  \"folderId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n  \"notifiables\": [\r\n    \"financeiro@exemplo.com.br\"\r\n  ],\r\n  \"groups\": [\r\n    \"01991444-8e9f-7a0b-9c2d-3e4f5a6b7c8d\"\r\n  ],\r\n  \"fillers\": [\r\n    {\r\n      \"name\": \"Maria da Silva\",\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"fieldsTags\": [\r\n        \"nome_locatario\",\r\n        \"cpf_locatario\",\r\n        \"endereco_locatario\"\r\n      ]\r\n    }\r\n  ],\r\n  \"filledFields\": [\r\n    {\r\n      \"tag\": \"valor_aluguel\",\r\n      \"value\": \"2500.00\"\r\n    },\r\n    {\r\n      \"tag\": \"dia_vencimento\",\r\n      \"value\": \"5\"\r\n    }\r\n  ]\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "201 Created",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/accounts/{{accountId}}/forms",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "accounts",
                    "{{accountId}}",
                    "forms"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\r\n  \"name\": \"Ficha cadastral - Maria da Silva\",\r\n  \"formTemplateId\": \"01991442-6c7d-7e8f-9a0b-1c2d3e4f5a6b\",\r\n  \"instructions\": \"Preencha os dados do locatário exatamente como constam no documento de identidade.\",\r\n  \"finalMessage\": \"Obrigado! Em breve você receberá o contrato para assinatura.\",\r\n  \"folderId\": \"0199143c-2e3f-7a4b-9c5d-6e7f8a9b0c1d\",\r\n  \"notifiables\": [\r\n    \"financeiro@exemplo.com.br\"\r\n  ],\r\n  \"groups\": [\r\n    \"01991444-8e9f-7a0b-9c2d-3e4f5a6b7c8d\"\r\n  ],\r\n  \"fillers\": [\r\n    {\r\n      \"name\": \"Maria da Silva\",\r\n      \"email\": \"maria.silva@exemplo.com.br\",\r\n      \"fieldsTags\": [\r\n        \"nome_locatario\",\r\n        \"cpf_locatario\",\r\n        \"endereco_locatario\"\r\n      ]\r\n    }\r\n  ],\r\n  \"filledFields\": [\r\n    {\r\n      \"tag\": \"valor_aluguel\",\r\n      \"value\": \"2500.00\"\r\n    },\r\n    {\r\n      \"tag\": \"dia_vencimento\",\r\n      \"value\": \"5\"\r\n    }\r\n  ]\r\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\r\n  \"id\": \"01991443-7d8e-7f9a-8b1c-2d3e4f5a6b7c\",\r\n  \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\"\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Plans",
      "description": "Planos vinculados ao parceiro. Não exige `accountId`.",
      "item": [
        {
          "name": "Lista de planos vínculados ao parceiro",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v1/plans",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v1",
                "plans"
              ],
              "query": [
                {
                  "key": "name",
                  "value": "",
                  "description": "Filtra pelo nome contendo o texto informado, sem diferenciar maiúsculas de minúsculas.",
                  "disabled": true
                }
              ]
            },
            "description": "`operationId`: `partners_v1_plans_list`\n\nLista os planos ativos vinculados ao parceiro: os planos que a equipe LetsSign pode atribuir\nàs contas do parceiro.\n\n- Não recebe `accountId`: a lista é do parceiro, não de uma conta.\n- `name` filtra por trecho do nome, sem diferenciar maiúsculas. Ordem alfabética.\n- Somente leitura, sem efeitos colaterais."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v1/plans",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v1",
                    "plans"
                  ],
                  "query": [
                    {
                      "key": "name",
                      "value": "",
                      "description": "Filtra pelo nome contendo o texto informado, sem diferenciar maiúsculas de minúsculas.",
                      "disabled": true
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "[\r\n  {\r\n    \"id\": \"profissional\",\r\n    \"name\": \"Profissional\",\r\n    \"description\": \"Até 200 documentos por mês, com SMS e WhatsApp.\"\r\n  }\r\n]"
            }
          ]
        }
      ]
    },
    {
      "name": "Eventos de webhook",
      "description": "URLs da conta que recebem um POST a cada evento: documento enviado, signatário assinou, assinaturas concluídas, status alterado, documento removido, formulário preenchido.\n\nCada requisição desta pasta envia o payload de exemplo do evento à URL em `webhookUrl`, sem autenticação, reproduzindo o POST que a plataforma faz. Use para testar o seu receptor antes de cadastrar a URL.",
      "item": [
        {
          "name": "Test: Enviado no cadastro de uma URL de webhook, para verificar a disponibilidade",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_test`\n\nEnviado uma única vez, no cadastro da URL por `partners_v1_webhooks_create`, para verificar a\ndisponibilidade. O resultado fica em `available` do webhook; a URL é gravada mesmo quando o\nteste falha. `entity.test` é sempre `true`. Não é reenviado antes das demais entregas.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"Test\",\r\n  \"entity\": {\r\n    \"test\": true\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentSentToSignature: Documento enviado para assinatura",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_sent_to_signature`\n\nUm documento foi enviado para assinatura: na criação por\n`partners_v1_document_signatures_create_from_file`, em `partners_v1_documents_request_signatures`\nou pelo aplicativo. Com envio agendado (`scheduledTo`), o evento sai no momento da criação, não\nna data agendada.\n\n`entity.signers` traz os signatários no momento do envio, com o `id` da assinatura (o\n`signatureId` das operações de editar, remover e reenviar), papel, método de autenticação, e-mail\ne nome.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentSentToSignature\",\r\n  \"entity\": {\r\n    \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n    \"sentAt\": \"2026-08-20T14:05:00Z\",\r\n    \"signers\": [\r\n      {\r\n        \"id\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n        \"role\": \"Parte\",\r\n        \"authenticationMethod\": \"Email\",\r\n        \"email\": \"maria.silva@exemplo.com.br\",\r\n        \"name\": \"Maria da Silva\"\r\n      },\r\n      {\r\n        \"id\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n        \"role\": \"Testemunha\",\r\n        \"authenticationMethod\": \"Email\",\r\n        \"email\": \"joao.souza@exemplo.com.br\",\r\n        \"name\": \"João de Souza\"\r\n      }\r\n    ]\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "SignerAddedToDocument: Novo signatário adicionado ao documento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_signer_added_to_document`\n\nUm signatário foi adicionado a um documento que já estava em assinatura, por\n`partners_v1_document_signatures_add_signer` ou pelo aplicativo. `entity.signer.id` é o\n`signatureId` da nova assinatura.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"SignerAddedToDocument\",\r\n  \"entity\": {\r\n    \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n    \"signer\": {\r\n      \"id\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n      \"role\": \"Testemunha\",\r\n      \"authenticationMethod\": \"Email\",\r\n      \"email\": \"joao.souza@exemplo.com.br\",\r\n      \"name\": \"João de Souza\"\r\n    }\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentSignatureMember: Signatário assinou o documento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_signature_member`\n\nUm signatário assinou o documento. `entity` traz o documento, o papel, o e-mail, o nome informado\nna assinatura e `signedAt`. Chega uma vez por signatário; quando o último assina, também é\nenviado `DocumentSignatureFinished`.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentSignatureMember\",\r\n  \"entity\": {\r\n    \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n    \"role\": \"Parte\",\r\n    \"email\": \"maria.silva@exemplo.com.br\",\r\n    \"name\": \"Maria da Silva\",\r\n    \"signedAt\": \"2026-08-21T10:12:45Z\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentSignatureFinished: Todos signatários assinaram o documento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_signature_finished`\n\nO último signatário assinou: `entity.signatureStatus` é `Signed` e `entity.status` é o status do\ndocumento na conclusão (em geral `Finished`). A partir daqui o PDF assinado está disponível em\n`partners_v1_documents_download_signed` e, havendo signatário com certificado digital, em\n`partners_v1_documents_download_digital_certificate`.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentSignatureFinished\",\r\n  \"entity\": {\r\n    \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n    \"status\": \"Finished\",\r\n    \"signatureStatus\": \"Signed\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentStatusChanged: Documento teve status alterado",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_status_changed`\n\nO status do documento em `entity.id` mudou. Dois casos hoje:\n\n- `entity.status` = `Finished`: o conteúdo do documento ficou pronto (documentos gerados no\n  editor ou a partir de formulário).\n- `entity.status` = `NewVersionBase`: o documento virou base de uma nova versão, criada no\n  aplicativo; `entity.newVersionId` identifica a nova versão, que segue o fluxo normal.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentStatusChanged\",\r\n  \"entity\": {\r\n    \"status\": \"NewVersionBase\",\r\n    \"newVersionId\": \"0199144e-b8c9-7d0e-8f1a-2b3c4d5e6f7a\",\r\n    \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentRemoved: Documento foi removido",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_removed`\n\nO documento em `entity.id` foi excluído, por `partners_v1_documents_delete` ou pelo aplicativo.\nAo excluir um envelope, este evento sai uma vez, com o id do envelope; quem lista os documentos\natingidos é o `DocumentSignaturesCanceled` da mesma exclusão, enviado quando o documento estava\naguardando assinaturas — parte das exclusões feitas no aplicativo não o envia. Depois deste evento,\nas operações sobre o documento respondem `400`.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentRemoved\",\r\n  \"entity\": {\r\n    \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "FormFilled: Formulário foi preenchido",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_form_filled`\n\nUm formulário criado por `partners_v1_forms_create` foi preenchido por completo e o documento\ncorrespondente foi gerado. `entity.formId` e `entity.documentId` identificam formulário e\ndocumento. Em seguida, solicite as assinaturas com `partners_v1_documents_request_signatures`.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"FormFilled\",\r\n  \"entity\": {\r\n    \"formId\": \"01991443-7d8e-7f9a-8b1c-2d3e4f5a6b7c\",\r\n    \"documentId\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\"\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentSignaturesExpired: Prazo de assinatura do documento venceu",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_signatures_expired`\n\nO prazo de assinatura venceu e as assinaturas foram canceladas pelo processo automático, que roda\numa vez por dia. `entity.deadlineForSignature` é o prazo que venceu.\n\n`entity.id` é o envelope a que os documentos pertencem, ou o próprio documento quando ele não está\nem um envelope. `entity.documents` traz somente os documentos cancelados — em um envelope o\nvencimento pode atingir parte deles, porque o prazo é por documento — e, em cada um,\n`pendingSigners` com os signatários que ainda não tinham assinado, no mesmo formato de\n`webhook_document_sent_to_signature`.\n\nGuarde `pendingSigners`: o cancelamento apaga as assinaturas do documento, então quem não assinou\nnão aparece mais em `partners_v1_document_signatures_status`. Os documentos ficam com o status de\nassinatura `SignatureNotSet` e aceitam uma nova solicitação por\n`partners_v1_documents_request_signatures`, com um prazo novo.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentSignaturesExpired\",\r\n  \"entity\": {\r\n    \"deadlineForSignature\": \"2026-09-08T00:00:00Z\",\r\n    \"id\": \"01991447-3c4d-7e5f-8a6b-7c8d9e0f1a2b\",\r\n    \"documents\": [\r\n      {\r\n        \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n        \"pendingSigners\": [\r\n          {\r\n            \"id\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n            \"role\": \"Parte\",\r\n            \"authenticationMethod\": \"Email\",\r\n            \"email\": \"maria.silva@exemplo.com.br\",\r\n            \"name\": \"Maria da Silva\"\r\n          },\r\n          {\r\n            \"id\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n            \"role\": \"Testemunha\",\r\n            \"authenticationMethod\": \"Email\",\r\n            \"email\": \"joao.souza@exemplo.com.br\",\r\n            \"name\": \"João de Souza\"\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "DocumentSignaturesCanceled: Assinaturas do documento foram canceladas",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{webhookUrl}}",
              "host": [
                "{{webhookUrl}}"
              ]
            },
            "auth": {
              "type": "noauth"
            },
            "description": "`operationId`: `webhook_document_signatures_canceled`\n\nAs assinaturas foram canceladas a pedido, por `partners_v1_document_signatures_cancel`,\n`partners_v1_documents_delete` ou pelo aplicativo. Uma exclusão só envia este evento se o documento\nestava aguardando assinaturas, e parte das exclusões feitas no aplicativo envia somente o\n`DocumentRemoved`. Para o cancelamento automático no vencimento do prazo, o evento é\n`webhook_document_signatures_expired`.\n\n`entity.id` é o envelope a que os documentos pertencem, ou o próprio documento quando ele não está\nem um envelope. `entity.documents` traz somente os documentos cancelados — em um envelope o\ncancelamento pode atingir parte deles — e, em cada um, `pendingSigners` com os signatários que ainda\nnão tinham assinado, no mesmo formato de `webhook_document_sent_to_signature`.\n\nGuarde `pendingSigners`: o cancelamento apaga as assinaturas do documento, então quem não assinou\nnão aparece mais em `partners_v1_document_signatures_status`. Os documentos ficam com o status de\nassinatura `SignatureNotSet` e aceitam uma nova solicitação por\n`partners_v1_documents_request_signatures`. Quando o cancelamento vem de uma exclusão, o\n`DocumentRemoved` do documento excluído também é enviado.\n\n**Entrega**\n\n- `POST` com `Content-Type: application/json; charset=utf-8`, sem cabeçalho de autenticação ou\n  assinatura. Valide a origem pelo `accountId` e, se precisar, por um segredo na própria URL.\n- Responda qualquer status 2xx (200 ou 202 recomendados) em até 20 segundos. Outro status,\n  timeout ou erro de rede contam como falha; a entrega é repetida em seguida, até 5 tentativas.\n- `occurredAt` é o instante desta tentativa de envio, não o do evento, e muda a cada\n  retentativa. Não há identificador de entrega no payload: trate repetições pelo conteúdo de\n  `entity`.\n- Não há garantia de ordem entre eventos, mesmo do mesmo documento. Para o estado atual, consulte\n  `partners_v1_document_signatures_status`.\n- Cada URL cadastrada na conta recebe todos os eventos; não há filtro por evento.",
            "body": {
              "mode": "raw",
              "raw": "{\r\n  \"occurredAt\": \"2026-08-21T10:12:45Z\",\r\n  \"accountId\": \"0199143a-7c2e-7b1a-9f2d-3c4b5a6d7e8f\",\r\n  \"event\": \"DocumentSignaturesCanceled\",\r\n  \"entity\": {\r\n    \"id\": \"01991447-3c4d-7e5f-8a6b-7c8d9e0f1a2b\",\r\n    \"documents\": [\r\n      {\r\n        \"id\": \"01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f\",\r\n        \"pendingSigners\": [\r\n          {\r\n            \"id\": \"01991441-0a1b-7c2d-8e3f-4a5b6c7d8e9f\",\r\n            \"role\": \"Parte\",\r\n            \"authenticationMethod\": \"Email\",\r\n            \"email\": \"maria.silva@exemplo.com.br\",\r\n            \"name\": \"Maria da Silva\"\r\n          },\r\n          {\r\n            \"id\": \"01991441-9f8e-7d6c-8b5a-4c3d2e1f0a9b\",\r\n            \"role\": \"Testemunha\",\r\n            \"authenticationMethod\": \"Email\",\r\n            \"email\": \"joao.souza@exemplo.com.br\",\r\n            \"name\": \"João de Souza\"\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    }
  ]
}