{
  "info": {
    "name": "assinatura.online API v1",
    "description": "Exemplos fictícios da API assinatura.online: qualificada ICP-Brasil (Bird ID, VIDaaS ou A1 — hospedado, direto ou sessão A1 opcional de até 604800 s) e simples com código por e-mail ou WhatsApp. Idempotency-Key opcional só na criação qualificada. Credenciais apenas no servidor. test_mode: true é exclusivo da qualificada; simples exige confirmação real por destinatário autorizado. Envelopes simples: até 10 PDFs no mesmo link, cobrança por documento concluído. Carimbo qualificado: stamp_options.page first/last/all (precedência sobre pageIndex). delivery.filename na criação e no envio/reenvio preserva acentos e força extensão PDF; não ativa envios.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://assinatura.online/api/public/v1"
    },
    {
      "key": "api_key",
      "value": "pk_exemplo_0000000000000000"
    },
    {
      "key": "api_secret",
      "value": "sk_exemplo_0000000000000000"
    },
    {
      "key": "signature_id",
      "value": ""
    },
    {
      "key": "session_id",
      "value": ""
    },
    {
      "key": "a1_pfx_base64",
      "value": ""
    },
    {
      "key": "a1_password",
      "value": ""
    }
  ],
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "X-API-Key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{api_key}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "item": [
    {
      "name": "Criar assinatura",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"birdid\",\n  \"document_name\": \"Contrato de exemplo\",\n  \"pdf_url\": \"https://seusistema.com.br/contratos/exemplo.pdf\",\n  \"signer\": {\n    \"cpf\": \"52998224725\",\n    \"full_name\": \"Maria Exemplo\"\n  },\n  \"external_id\": \"pedido-0001\",\n  \"test_mode\": true,\n  \"stamp_options\": {\n    \"page\": \"last\",\n    \"position\": \"bottom-right\"\n  },\n  \"delivery\": {\n    \"filename\": \"Relatório Médico.pdf\"\n  }\n}"
        }
      }
    },
    {
      "name": "Listar modelos de documento",
      "request": {
        "method": "GET",
        "auth": {
          "type": "noauth"
        },
        "header": [],
        "url": "{{baseUrl}}/document-types"
      }
    },
    {
      "name": "Criar assinatura com modelo de saude",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"birdid\",\n  \"document_name\": \"Atestado 001\",\n  \"signer\": {\n    \"cpf\": \"52998224725\"\n  },\n  \"document\": {\n    \"type\": \"medical_certificate\",\n    \"prescriber\": {\n      \"name\": \"Dra. Maria Exemplo\",\n      \"crm\": \"123456\",\n      \"crm_uf\": \"SP\"\n    },\n    \"patient\": {\n      \"name\": \"João Exemplo\",\n      \"cpf\": \"12345678909\"\n    },\n    \"days_off\": 3,\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\"\n  },\n  \"test_mode\": true\n}"
        }
      }
    },
    {
      "name": "Primeira assinatura abrindo sessao",
      "request": {
        "method": "POST",
        "description": "request_session: true devolve session_id; ativa ao autorizar este documento.",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"birdid\",\n  \"request_session\": true,\n  \"session_lifetime_seconds\": 28800,\n  \"document_name\": \"Receita 001\",\n  \"pdf_url\": \"https://seusistema.com.br/r/001.pdf\",\n  \"signer\": { \"cpf\": \"52998224725\", \"full_name\": \"Maria Exemplo\" }\n}"
        }
      }
    },
    {
      "name": "Assinar com sessao ativa",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"birdid\",\n  \"session_id\": \"{{session_id}}\",\n  \"document_name\": \"Receita 002\",\n  \"pdf_url\": \"https://seusistema.com.br/r/002.pdf\",\n  \"signer\": { \"cpf\": \"52998224725\" }\n}"
        }
      }
    },
    {
      "name": "Consultar sessao",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/sessions/get?session_id={{session_id}}"
      }
    },
    {
      "name": "Criar assinatura simples por email",
      "request": {
        "method": "POST",
        "description": "Troque o destinatário fictício por um autorizado. Criar não envia OTP; o código é solicitado pelo signatário no sign_url. Não use test_mode: true. Configure a marca na Área do cliente.",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"mode\": \"simple\",\n  \"otp_channel\": \"email\",\n  \"document_name\": \"Termo de exemplo\",\n  \"document\": {\n    \"title\": \"Termo de aceite\",\n    \"body_text\": \"Documento fictício para testar revisão e aceite.\"\n  },\n  \"signer\": {\n    \"full_name\": \"Maria Exemplo\",\n    \"email\": \"maria@example.com\"\n  },\n  \"expires_in_hours\": 168,\n  \"send_email_invitation\": false,\n  \"allow_drawn_signature\": true,\n  \"external_id\": \"termo-0001\"\n}"
        }
      }
    },
    {
      "name": "Criar assinatura simples por whatsapp",
      "request": {
        "method": "POST",
        "description": "Troque o destinatário fictício por um autorizado. Criar não envia OTP; o código é solicitado pelo signatário no sign_url. Não use test_mode: true. Configure a marca na Área do cliente.",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"mode\": \"simple\",\n  \"otp_channel\": \"whatsapp\",\n  \"document_name\": \"Termo de exemplo\",\n  \"document\": {\n    \"title\": \"Termo de aceite\",\n    \"body_text\": \"Documento fictício para testar revisão e aceite.\"\n  },\n  \"signer\": {\n    \"full_name\": \"Maria Exemplo\",\n    \"email\": \"maria@example.com\",\n    \"phone\": \"5511999999999\"\n  },\n  \"expires_in_hours\": 168,\n  \"send_email_invitation\": false,\n  \"allow_drawn_signature\": true,\n  \"external_id\": \"termo-0001\"\n}"
        }
      }
    },
    {
      "name": "Criar assinatura simples com varias pessoas",
      "request": {
        "method": "POST",
        "description": "Troque o destinatário fictício por um autorizado. Criar não envia OTP; o código é solicitado pelo signatário no sign_url. Não use test_mode: true. Configure a marca na Área do cliente.",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"mode\": \"simple\",\n  \"document_name\": \"Contrato de prestacao de servicos\",\n  \"document\": {\n    \"title\": \"Contrato\",\n    \"body_text\": \"Texto ficticio para revisao e aceite.\"\n  },\n  \"signers\": [\n    {\n      \"full_name\": \"Maria Exemplo\",\n      \"email\": \"maria@exemplo.com\"\n    },\n    {\n      \"full_name\": \"Joao Exemplo\",\n      \"phone\": \"5511999998888\",\n      \"otp_channel\": \"whatsapp\"\n    },\n    {\n      \"full_name\": \"Ana Exemplo\",\n      \"email\": \"ana@exemplo.com\",\n      \"otp_channel\": \"whatsapp\",\n      \"phone\": \"5521999997777\"\n    }\n  ],\n  \"send_email_invitation\": true,\n  \"expires_in_hours\": 168,\n  \"external_id\": \"contrato-124\"\n}"
        }
      },
      "description": "Um mesmo PDF assinado por varias pessoas em paralelo. Cada pessoa recebe um sign_url proprio; o documento consolidado e liberado quando todas assinarem."
    },
    {
      "name": "Consultar status",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/signatures/get?signature_id={{signature_id}}"
      }
    },
    {
      "name": "Baixar PDF assinado",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/signatures/pdf?signature_id={{signature_id}}"
      }
    },
    {
      "name": "Cancelar assinatura",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/cancel",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"signature_id\": \"{{signature_id}}\"\n}"
        }
      }
    },
    {
      "name": "Liberar pre-reserva SNCR",
      "request": {
        "method": "DELETE",
        "description": "Devolve à carteira um número reservado que não foi usado em documento.",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/sncr/reserve?reservation_token=rsv_exemplo"
      }
    },
    {
      "name": "Criar envelope multidocumentos",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"mode\": \"simple\",\n  \"document_name\": \"Contrato e anexos\",\n  \"documents\": [\n    {\n      \"document_name\": \"Contrato\",\n      \"pdf_base64\": \"{{contrato_base64}}\"\n    },\n    {\n      \"document_name\": \"Anexo\",\n      \"pdf_base64\": \"{{anexo_base64}}\"\n    }\n  ],\n  \"signers\": [\n    {\n      \"full_name\": \"Maria Exemplo\",\n      \"email\": \"maria@example.com\"\n    }\n  ],\n  \"send_email_invitation\": true\n}"
        }
      }
    },
    {
      "name": "Baixar envelope ZIP",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/signatures/pdf?signature_id={{signature_id}}&format=zip"
      }
    },
    {
      "name": "Baixar PDF individual do envelope",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          }
        ],
        "url": "{{baseUrl}}/signatures/pdf?signature_id={{signature_id}}&document_id={{document_id}}"
      }
    },
    {
      "name": "Enviar ou reenviar PDF com nome personalizado",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/deliver",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"signature_id\": \"{{signature_id}}\",\n  \"channels\": [\n    \"email\",\n    \"whatsapp\"\n  ],\n  \"delivery\": {\n    \"filename\": \"Relatório Médico.pdf\"\n  }\n}"
        },
        "description": "Requer documento concluído. Nome vale somente para este envio. Cobrança por pessoa/canal; estorno em falha. Indisponível para contas Prescri."
      }
    },
    {
      "name": "Link gov.br SNCR com tipo (RCE)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/sncr/connect-url",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"doctor_cpf\": \"52998224725\",\n  \"crm\": \"123456\",\n  \"crm_uf\": \"SP\",\n  \"doctor_name\": \"Dra. Ana Exemplo\",\n  \"env\": \"prd\",\n  \"sncr_type\": \"RCE\"\n}"
        },
        "description": "Resposta: connect_url sempre em https://sncr.prescri.com.br/sncr/conectar/sncr_…?tipo=RCE (retorno gov.br em https://sncr.prescri.com.br/sncr/retorno), independente do baseUrl da API, que segue em assinatura.online. RCE/RET: bloco fixo de 1.000, sem cota; notificações: 10 a 50, com cota da VISA. Basta conta gov.br válida para obter números."
      }
    },
    {
      "name": "Saldo SNCR por medico",
      "request": {
        "method": "GET",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/sncr/balance?doctor_cpf=52998224725"
      }
    },
    {
      "name": "Criar receita RCE com modelo JSON",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"birdid\",\n  \"document_name\": \"Receita de Controle Especial\",\n  \"signer\": {\n    \"cpf\": \"52998224725\",\n    \"full_name\": \"Dra. Ana Exemplo\"\n  },\n  \"prescription_type\": \"RCE\",\n  \"medical_fields\": {\n    \"crm\": \"123456\",\n    \"crm_uf\": \"SP\"\n  },\n  \"document\": {\n    \"type\": \"prescription_rce\",\n    \"prescriber\": {\n      \"name\": \"Dra. Ana Exemplo\",\n      \"crm\": \"123456\",\n      \"crm_uf\": \"SP\"\n    },\n    \"patient\": {\n      \"name\": \"Paciente Exemplo\"\n    },\n    \"items\": [\n      {\n        \"name\": \"Medicamento exemplo\",\n        \"dosage\": \"1 comprimido ao dia\"\n      }\n    ]\n  },\n  \"test_mode\": true\n}"
        }
      }
    },
    {
      "name": "A1 direto com aliases e Idempotency-Key",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "contrato-2431-v1"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"a1\",\n  \"document_name\": \"Contrato de prestação de serviço\",\n  \"signer\": {\n    \"cpf\": \"52998224725\"\n  },\n  \"pdf_url\": \"https://seusistema.com.br/receita.pdf\",\n  \"a1_pfx_base64\": \"{{a1_pfx_base64}}\",\n  \"a1_password\": \"{{a1_password}}\"\n}"
        },
        "description": "Certificado validado antes de gravar e usado só em memória. Resposta 201 já com status signed, synchronous: true e PDF. Aliases: a1_pfx_base64/a1_certificate_base64 + a1_password ou certificate {pfx_base64,password}. Documento genérico fictício."
      }
    },
    {
      "name": "Criar sessao A1",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/sessions/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"a1\",\n  \"signer\": {\n    \"cpf\": \"52998224725\"\n  },\n  \"session_lifetime_seconds\": 604800,\n  \"redirect_url\": \"https://seusistema.com.br/sessao-a1\"\n}"
        },
        "description": "Sessão A1 opt-in: até 604800 s (7 dias, limitada à validade do certificado). O titular envia .pfx/senha em authorize_url; material cifrado até expirar ou /sessions/revoke."
      }
    },
    {
      "name": "Assinar com sessao A1",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "laudo-2431-sessao-01"
          }
        ],
        "url": "{{baseUrl}}/signatures/create",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"provider\": \"a1\",\n  \"session_id\": \"{{session_id}}\",\n  \"signer\": {\n    \"cpf\": \"52998224725\"\n  },\n  \"document_name\": \"Laudo técnico\",\n  \"pdf_url\": \"https://seusistema.com.br/receita.pdf\"\n}"
        },
        "description": "Assina na hora com session_id (via_session: true), sem enviar o certificado."
      }
    },
    {
      "name": "Revogar sessao",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "X-API-Secret",
            "value": "{{api_secret}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/sessions/revoke",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"session_id\": \"{{session_id}}\"\n}"
        }
      }
    }
  ]
}