{
  "info": {
    "name": "V2 Partners API",
    "description": "Coleção gerada pela própria API a partir do documento OpenAPI https://api.letssign.com.br/docs/partners-v2/openapi.json. O mesmo contrato está em https://api.letssign.com.br/docs/partners/v2 (referência navegável) e em https://api.letssign.com.br/docs/partners/v2.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 **v2**. Ela substitui endpoints específicos da v1: as listagens paginadas de documentos,\ncategorias e usuários (novo formato de paginação) e o download do documento com anexos. Todo o\nrestante continua na [Partners API v1](https://api.letssign.com.br/docs/partners/v1), que compartilha autenticação, contas e\nformato de erro com esta. Use a v2 sempre que o endpoint existir aqui, 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": "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",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/documents?Page=1&PerPage=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v2",
                "accounts",
                "{{accountId}}",
                "documents"
              ],
              "query": [
                {
                  "key": "DocumentId",
                  "value": "01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
                  "description": "Filtra por um documento específico.",
                  "disabled": true
                },
                {
                  "key": "Name",
                  "value": "Contrato",
                  "description": "Filtra documentos cujo nome contém o texto.",
                  "disabled": true
                },
                {
                  "key": "DeadlineDateFrom",
                  "value": "2026-09-01",
                  "description": "Prazo de assinatura a partir desta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "DeadlineDateTo",
                  "value": "2026-09-30",
                  "description": "Prazo de assinatura até esta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "SignatureDateFrom",
                  "value": "2026-08-01",
                  "description": "Data da última assinatura a partir desta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "SignatureDateTo",
                  "value": "2026-08-31",
                  "description": "Data da última assinatura até esta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "Categories",
                  "value": "[\"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\"]",
                  "description": "Filtra documentos em qualquer das categorias informadas.",
                  "disabled": true
                },
                {
                  "key": "DocumentStatus",
                  "value": "[\"Finished\"]",
                  "description": "Filtra por status do documento (qualquer dos informados).",
                  "disabled": true
                },
                {
                  "key": "DocumentSignatureStatus",
                  "value": "[\"WaitingSignatures\"]",
                  "description": "Filtra por status de assinatura (qualquer dos informados).",
                  "disabled": true
                },
                {
                  "key": "CreatedFrom",
                  "value": "2026-08-01",
                  "description": "Criados a partir desta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "CreatedTo",
                  "value": "2026-08-31",
                  "description": "Criados até esta data (inclusive).",
                  "disabled": true
                },
                {
                  "key": "Page",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "PerPage",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "SortField",
                  "value": "",
                  "description": "Campo de ordenação. Aceita `Name`, `CreatedAt`; padrão `Name`.",
                  "disabled": true
                },
                {
                  "key": "SortDirection",
                  "value": "",
                  "description": "Sentido da ordenação.",
                  "disabled": true
                }
              ]
            },
            "description": "`operationId`: `partners_v2_documents_list`\n\nLista os documentos da conta com paginação e filtros por identificador, nome, categorias, status,\nstatus de assinatura, prazo, data da última assinatura e data de criação.\n\n- `page` começa em 1; `perPage` define o tamanho da página. Ordene por `Name` (padrão) ou\n  `CreatedAt`, com `sortDirection` `Asc` ou `Desc`.\n- A resposta traz `items`, `count` (total de registros), `totalPages` e os indicadores de\n  navegação (`hasNextPage`, `nextPage`, `hasPreviousPage`, `previousPage`).\n- Substitui `partners_v1_documents_list`. Somente leitura.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/documents?Page=1&PerPage=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v2",
                    "accounts",
                    "{{accountId}}",
                    "documents"
                  ],
                  "query": [
                    {
                      "key": "DocumentId",
                      "value": "01991440-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
                      "description": "Filtra por um documento específico.",
                      "disabled": true
                    },
                    {
                      "key": "Name",
                      "value": "Contrato",
                      "description": "Filtra documentos cujo nome contém o texto.",
                      "disabled": true
                    },
                    {
                      "key": "DeadlineDateFrom",
                      "value": "2026-09-01",
                      "description": "Prazo de assinatura a partir desta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "DeadlineDateTo",
                      "value": "2026-09-30",
                      "description": "Prazo de assinatura até esta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "SignatureDateFrom",
                      "value": "2026-08-01",
                      "description": "Data da última assinatura a partir desta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "SignatureDateTo",
                      "value": "2026-08-31",
                      "description": "Data da última assinatura até esta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "Categories",
                      "value": "[\"0199143b-1d2e-7f3a-8b4c-5d6e7f8a9b0c\"]",
                      "description": "Filtra documentos em qualquer das categorias informadas.",
                      "disabled": true
                    },
                    {
                      "key": "DocumentStatus",
                      "value": "[\"Finished\"]",
                      "description": "Filtra por status do documento (qualquer dos informados).",
                      "disabled": true
                    },
                    {
                      "key": "DocumentSignatureStatus",
                      "value": "[\"WaitingSignatures\"]",
                      "description": "Filtra por status de assinatura (qualquer dos informados).",
                      "disabled": true
                    },
                    {
                      "key": "CreatedFrom",
                      "value": "2026-08-01",
                      "description": "Criados a partir desta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "CreatedTo",
                      "value": "2026-08-31",
                      "description": "Criados até esta data (inclusive).",
                      "disabled": true
                    },
                    {
                      "key": "Page",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "PerPage",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "SortField",
                      "value": "",
                      "description": "Campo de ordenação. Aceita `Name`, `CreatedAt`; padrão `Name`.",
                      "disabled": true
                    },
                    {
                      "key": "SortDirection",
                      "value": "",
                      "description": "Sentido da ordenação.",
                      "disabled": true
                    }
                  ]
                }
              },
              "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  \"hasPreviousPage\": false,\r\n  \"hasNextPage\": true,\r\n  \"nextPage\": 2,\r\n  \"page\": 1,\r\n  \"perPage\": 20,\r\n  \"count\": 48,\r\n  \"totalPages\": 3\r\n}"
            }
          ]
        },
        {
          "name": "Info para download do documento com anexos",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/documents/:id/download/with-attachments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v2",
                "accounts",
                "{{accountId}}",
                "documents",
                ":id",
                "download",
                "with-attachments"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Obrigatório. Identificador do documento, devolvido na criação (`id`) e nas listagens."
                }
              ]
            },
            "description": "`operationId`: `partners_v2_documents_download_with_attachments`\n\nDevolve uma URL temporária para baixar o PDF do documento com os anexos incorporados.\n\n- Sem anexos, devolve o arquivo original. Responde `400` quando o documento não existe na conta\n  ou não tem arquivo disponível.\n- A URL é pré-assinada e vale por 5 minutos; cada chamada gera uma URL nova. `name` é o nome do\n  documento, sem extensão.\n- Substitui `partners_v1_documents_download_with_attachments`.\n\n**Features exigidas no plano da conta:** `documents`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/documents/:id/download/with-attachments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v2",
                    "accounts",
                    "{{accountId}}",
                    "documents",
                    ":id",
                    "download",
                    "with-attachments"
                  ],
                  "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": "Categories",
      "description": "Categorias que classificam os documentos da conta.",
      "item": [
        {
          "name": "Lista paginada de categorias da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/categories?Page=1&PerPage=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v2",
                "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": "Page",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "PerPage",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "SortField",
                  "value": "",
                  "description": "Campo de ordenação. Aceita `Name`, `CreatedAt`, `Active`; padrão `Name`.",
                  "disabled": true
                },
                {
                  "key": "SortDirection",
                  "value": "",
                  "description": "Sentido da ordenação.",
                  "disabled": true
                }
              ]
            },
            "description": "`operationId`: `partners_v2_categories_list`\n\nLista as categorias da conta com paginação e filtros por nome e situação.\n\n- `page` começa em 1; `perPage` define o tamanho da página. Ordene por `Name` (padrão),\n  `CreatedAt` ou `Active`, com `sortDirection` `Asc` ou `Desc`.\n- A resposta traz `items`, `count` (total de registros), `totalPages` e os indicadores de\n  navegação (`hasNextPage`, `nextPage`, `hasPreviousPage`, `previousPage`).\n- Substitui `partners_v1_categories_list`. Somente leitura.\n\n**Features exigidas no plano da conta:** `categories`."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/categories?Page=1&PerPage=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v2",
                    "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": "Page",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "PerPage",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "SortField",
                      "value": "",
                      "description": "Campo de ordenação. Aceita `Name`, `CreatedAt`, `Active`; padrão `Name`.",
                      "disabled": true
                    },
                    {
                      "key": "SortDirection",
                      "value": "",
                      "description": "Sentido da ordenação.",
                      "disabled": true
                    }
                  ]
                }
              },
              "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  \"hasPreviousPage\": false,\r\n  \"hasNextPage\": false,\r\n  \"page\": 1,\r\n  \"perPage\": 20,\r\n  \"count\": 1,\r\n  \"totalPages\": 1\r\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Users",
      "description": "Usuários vinculados à conta.",
      "item": [
        {
          "name": "Lista paginada de usuários da conta",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/users?Page=1&PerPage=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "partners",
                "v2",
                "accounts",
                "{{accountId}}",
                "users"
              ],
              "query": [
                {
                  "key": "Id",
                  "value": "0199143f-5b6c-7d7e-8f80-9a0b1c2d3e4f",
                  "description": "Filtra por um usuário específico.",
                  "disabled": true
                },
                {
                  "key": "Name",
                  "value": "Ana",
                  "description": "Filtra usuários cujo nome contém o texto.",
                  "disabled": true
                },
                {
                  "key": "Active",
                  "value": "true",
                  "description": "Filtra por situação: `true` só ativos, `false` só inativos. Sem valor, ambos.",
                  "disabled": true
                },
                {
                  "key": "Visible",
                  "value": "true",
                  "description": "Filtra por visibilidade na conta. Sem valor, todos.",
                  "disabled": true
                },
                {
                  "key": "Profile",
                  "value": "Admin",
                  "description": "Filtra por perfil na conta.",
                  "disabled": true
                },
                {
                  "key": "Email",
                  "value": "ana.pereira",
                  "description": "Filtra usuários cujo e-mail contém o texto.",
                  "disabled": true
                },
                {
                  "key": "Page",
                  "value": "1",
                  "description": "Obrigatório. Número da página, a partir de 1."
                },
                {
                  "key": "PerPage",
                  "value": "20",
                  "description": "Obrigatório. Quantidade de itens por página."
                },
                {
                  "key": "SortField",
                  "value": "",
                  "description": "Campo de ordenação. Aceita `FirstName`, `Email`, `Profile`, `AddedAt`, `Active`; padrão `FirstName`.",
                  "disabled": true
                },
                {
                  "key": "SortDirection",
                  "value": "",
                  "description": "Sentido da ordenação.",
                  "disabled": true
                }
              ]
            },
            "description": "`operationId`: `partners_v2_users_list`\n\nLista os usuários da conta com paginação e filtros por identificador, nome, e-mail, situação,\nvisibilidade e perfil.\n\n- `page` começa em 1; `perPage` define o tamanho da página. Ordene por `FirstName` (padrão),\n  `Email`, `Profile`, `AddedAt` ou `Active`, com `sortDirection` `Asc` ou `Desc`.\n- A resposta traz `items`, `count` (total de registros), `totalPages` e os indicadores de\n  navegação (`hasNextPage`, `nextPage`, `hasPreviousPage`, `previousPage`).\n- Substitui `partners_v1_users_list`. Somente leitura."
          },
          "response": [
            {
              "name": "200 OK",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/partners/v2/accounts/{{accountId}}/users?Page=1&PerPage=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "partners",
                    "v2",
                    "accounts",
                    "{{accountId}}",
                    "users"
                  ],
                  "query": [
                    {
                      "key": "Id",
                      "value": "0199143f-5b6c-7d7e-8f80-9a0b1c2d3e4f",
                      "description": "Filtra por um usuário específico.",
                      "disabled": true
                    },
                    {
                      "key": "Name",
                      "value": "Ana",
                      "description": "Filtra usuários cujo nome contém o texto.",
                      "disabled": true
                    },
                    {
                      "key": "Active",
                      "value": "true",
                      "description": "Filtra por situação: `true` só ativos, `false` só inativos. Sem valor, ambos.",
                      "disabled": true
                    },
                    {
                      "key": "Visible",
                      "value": "true",
                      "description": "Filtra por visibilidade na conta. Sem valor, todos.",
                      "disabled": true
                    },
                    {
                      "key": "Profile",
                      "value": "Admin",
                      "description": "Filtra por perfil na conta.",
                      "disabled": true
                    },
                    {
                      "key": "Email",
                      "value": "ana.pereira",
                      "description": "Filtra usuários cujo e-mail contém o texto.",
                      "disabled": true
                    },
                    {
                      "key": "Page",
                      "value": "1",
                      "description": "Obrigatório. Número da página, a partir de 1."
                    },
                    {
                      "key": "PerPage",
                      "value": "20",
                      "description": "Obrigatório. Quantidade de itens por página."
                    },
                    {
                      "key": "SortField",
                      "value": "",
                      "description": "Campo de ordenação. Aceita `FirstName`, `Email`, `Profile`, `AddedAt`, `Active`; padrão `FirstName`.",
                      "disabled": true
                    },
                    {
                      "key": "SortDirection",
                      "value": "",
                      "description": "Sentido da ordenação.",
                      "disabled": true
                    }
                  ]
                }
              },
              "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  \"hasPreviousPage\": false,\r\n  \"hasNextPage\": false,\r\n  \"page\": 1,\r\n  \"perPage\": 20,\r\n  \"count\": 2,\r\n  \"totalPages\": 1\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": []
        }
      ]
    }
  ]
}