---
title: "POST Upload and send request"
method: POST
path: "/api/files/upload/requests"
---

# POST Upload and send request

`POST /api/files/upload/requests`

Faz o upload de um documento (PDF ou Office) e envia para ser assinado por uma ou mais pessoas com assinatura na página de validação.

Este endpoint chama os endpoints de "Upload File" e "Send Request With Document", portanto as regras de validação de ambos se aplicam a ele.

Portanto é possível enviar documentos BASE64 (PDF) no padrão aceito em "Upload File" por exemplo, assim como o sistema vai converter documentos de office no ato da solicitação, como em "Send Request With Document".

## Request body

- object
  - `folder` integer — ID da pasta onde o documento deve ser armazenado. Caso não seja informado, o documento ficará na pasta raiz da empresa.
  - `name` string, required — Nome do arquivo que será criado no sistema.
  - `file` string, binary, required — File/Base64 Arquivo PDF ou office como arquivo, para PDF é possível enviar um Base644.
  - `chain` boolean — Se a solicitação é em cadeia, ou seja, deve respeitar a ordem dos e-mails para envio ou se será enviada para todos ao mesmo tempo.
  - `sender` string — Identifica o colaborador que aparecerá como remetente deste documento. Pode ser o ID do usuário ou o e-mail dele. Se omitido, o documento será enviado pela conta do admin da empresa.
  - `due_months` integer — A validade do documento em meses, por exemplo, um contrato com 12 meses de validade. Nós iremos monitorar a data e avisaremos antes do vencimento, para que possam refazer a solicitação e reenviar para assinatura.
  - `observer` string[] — Os observadores irão receber comunicados referentes à situação da solicitação. Para isso, inclua uma lista de emails.
  - `uploaded_by` integer — ID do usuário que enviou o documento.
  - `editablevalidate` integer — 1 - QR Code no topo do documento (Sem página final). <br><br> Ao solicitar a assinatura na última página, sem posicioná-la, a página final será sempre gerada automaticamente. <br><br> 2 - Sem QR Code no topo, apenas página no final. <br><br> 3 - Página final de validação e QR Code no cabeçalho (Criaremos páginas extras). <br><br> 4 - QR Code no rodapé do documento (Sem página final). <br><br> 5 - Página final de validação e QR Code no rodapé (Criaremos páginas extras). <br><br> 6 - QR Code (Texto) na lateral esquerda. <br><br> 7 - QR Code (Texto) na lateral direita. <br><br>
  - `optimizer` boolean — Marca o documento para otimização, caso enviado 1 o sistema irá otimizar e achatar campos de formulário no documento.
  - `silent_mode` boolean — Quando ativado (True), o request não gera um e-mail para o cliente. Apenas o URL de assinatura e o e-mail serão retornados.
  - `width_page` integer, required — Largura da página em pixels, este número será utilizado na hora de calcular as posições e campos de solicitação e/ou assinatura.
  - `recipients` object[] — Destinatários.
    - `send_to` string, required — E-mail/Telefone para o qual será enviado o documento.
    - `message` string — Mensagem enviada para o destinatário.
    - `subject` string — Definir o assunto do e-mail enviado ao destinatário.
    - `fullname` string — Preenche automaticamente o campo de nome completo do signatário.
    - `cpf` string — Preenche automaticamente o CPF. (Somente Números)
    - `birthdate` string — Preenche automaticamente a data de nascimento (formato esperado: DD/MM/AAAA).
    - `doubleauth` boolean — Este campo especifica se será realizada uma autenticação adicional para confirmar a assinatura. Quando ativado, o sistema enviará um token de validação para o e-mail e/ou WhatsApp do usuário. O usuário deverá inserir o token recebido para concluir a assinatura. Este campo é válido apenas quando o valor de 'chain' for 0 (false) e se aplica a todos os assinantes da requisição.
    - `allow_selfie` boolean — Solicitar selfie.
    - `allow_document` boolean — Solicitar frente do documento.
    - `allow_document_back` boolean — Solicitar parte de trás do documento.
    - `allow_cpf` boolean — Controla se o CPF deve ser solicitado ao assinante durante o processo de assinatura. Quando true, o sistema exige que o usuário informe o CPF antes de concluir a assinatura.
    - `allow_birth_date` boolean — Define se a data de nascimento será solicitada no momento da assinatura. Com true, a data de nascimento se torna obrigatória para finalizar a assinatura.
    - `signature_type` string — Define o tipo de papel que o assinante terá no processo de assinatura. Ex: Cliente, Testemunha, Advogado, Responsável técnico.
    - `reminder` string — E-mail ou celular para envio de lembrete. Deve ser uma string contendo apenas um e-mail ou número de celular. Quando chain é true, apenas o reminder do primeiro recipient é enviado imediatamente. Os demais recipients em cadeia não possuem suporte a reminder. Para garantir o envio de reminder a todos os recipients, utilize chain como false.
    - `send_finished` boolean — Opção para indicar se o usuário deve receber o documento após todas as assinaturas serem concluídas.
    - `expire_date` string, date — Data de expiração para este destinatário. Deve ser uma data válida no formato Y-m-d e posterior à data atual.
    - `signature_mode` 'all' | 'draw' | 'text' | 'upload' — Tipo da assinatura.
    - `certificate` 0 | 1 | 2 — <p>Exigir assinatura com certificado digital.</p> <ul> <li><code>0</code> — Não exige certificado</li> <li><code>1</code> — Exige certificado <strong>A1</strong> (upload do arquivo na hora da assinatura)</li> <li><code>2</code> — Exige certificado <strong>A1 ou A3</strong> (instalado na máquina do usuário)</li> </ul> <strong>Atenção:</strong> Se qualquer destinatário utilizar <code>certificate: 2</code>, todos os demais destinatários também devem utilizar <code>certificate: 2</code>.
    - `fields` object[] — Campos de assinaturas.
      - `type` string, required — Tipo do campo (text, signature, rubric).
      - `page` integer, required — Página na qual a assinatura será inserida.
      - `width` number, float, required — Largura do campo de assinatura.
      - `height` number, float, required — Altura do campo de assinatura.
      - `xPos` number, float, required — Posição no eixo X no documento onde a assinatura será inserida.
      - `yPos` number, float, required — Posição no eixo Y no documento onde a assinatura será inserida.
      - `align` string — Alinhamento da assinatura (right, center, left).
      - `bold` string — Texto em negrito (bold).
      - `italic` string — Texto em itálico (italic).
      - `underline` string — Texto sublinhado (underline).
      - `strikethrough` string — Linha no meio do texto (strikethrough).
      - `text` string — Texto do campo.
      - `default` string — Valor default do campo para fields do type text.
      - `color` string — Cor do texto.
      - `fontsize` string — Tamanho da fonte.
      - `validateData` boolean — Campo já aparece preenchido com o valor default no momento da assinatura.

## Response `200`

200

- object
  - `data` object — Objeto principal contendo os dados da solicitação de assinatura criada.
    - `id` integer — Identificador único da solicitação de assinatura.
    - `signing_key` string — Chave única de assinatura utilizada para autenticar e identificar a requisição.
    - `document` string — Identificador do documento a ser assinado.
    - `email` string — E-mail do signatário que receberá a solicitação de assinatura.
    - `message` string — Mensagem personalizada enviada ao signatário junto com a solicitação.
    - `sender` object — Remetente da solicitação.
      - `id` integer — Identificador único do remetente da solicitação.
      - `name` string — Primeiro nome do remetente.
      - `last_name` string — Sobrenome do remetente.
      - `email` string — E-mail do remetente.
      - `phone` string — Telefone do remetente.
      - `cpf` string — CPF do remetente.
      - `birth` string — Data de nascimento do remetente.
      - `permissions` string[] — Lista de permissões do remetente na plataforma.
      - `recive_email` integer — Indica se o remetente recebe notificações por e-mail. 1 = sim, 0 = não.
      - `recive_whatsapp` integer — Indica se o remetente recebe notificações por WhatsApp. 1 = sim, 0 = não.
      - `role` string — Papel/função do remetente na plataforma.
      - `status` string — Status da conta do remetente.
      - `certificate` object — Certificado do remetente.
        - `certificate_name` string — Nome associado ao certificado digital do remetente.
        - `issuer` string — Entidade emissora do certificado.
        - `model` string — Modelo/tipo do certificado.
        - `validity` string — Data e hora de validade do certificado digital.
    - `expire_date` string — Data de expiração da solicitação.
    - `send_time` string — Data e hora em que a solicitação foi enviada.
    - `update_time` string — Data e hora da última atualização da solicitação.
    - `creted_at` string — Data e hora de criação da solicitação.
    - `status` string — Status atual da solicitação.
    - `observer` string[] — E-mail(s) de um observador da solicitação.
    - `signature_type` 'all' | 'draw' | 'text' | 'upload' — Tipo de assinatura exigida.
    - `due_months` integer — Número de meses de validade da solicitação.
    - `image_selfie` boolean — Indica se a selfie do signatário é requerida para validação de identidade.
    - `image_doc_front` boolean — Indica se a frente do documento do signatário é requerida para validação de identidade.
    - `image_doc_back` boolean — Indica se o verso do documento do signatário é requerida para validação de identidade.
    - `doubleauth` string — Configuração de autenticação em dois fatores.
    - `positions` string[] — Array contendo as posições do campo de assinatura no documento.
    - `chain_positions` string — Posições encadeadas de assinatura para fluxos sequenciais.
    - `chain_emails` string — E-mails dos signatários em cadeia (fluxo sequencial).
  - `message` string — Mensagem de confirmação retornada pela API após o envio da solicitação.

---

[API](https://skmtc.net/plugsign/apis/endpoints-manuais.md) · [All operations](https://skmtc.net/plugsign/apis/endpoints-manuais/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plugsign/endpoints-manuais/versions/41e10c7c691b/schema)
