API
Criar novo processo
Cria um processo de assinatura com arquivos e signatários.
POST
/
api
/
signature-processes
Criar novo processo
curl --request POST \
--url https://api.valid.com/api/signature-processes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"code": "<string>",
"process_files": [
{
"code": "<string>",
"filename": "<string>",
"extension": "<string>",
"mime": "<string>",
"type": 123,
"content": "<string>",
"hash": "<string>",
"size": 123
}
],
"signers": [
{
"code": "<string>",
"name": "<string>",
"email": "<string>",
"identifier": "<string>",
"restrict": true,
"phone_country_code": "<string>",
"phone_number": "<string>",
"birth_date": "<string>",
"qualification": "<string>",
"token_type": 123,
"files": [
{}
]
}
],
"options": {
"auto_init": true,
"send_init_emails": true,
"url_origin": "<string>",
"url_notification": "<string>",
"period_renotify": 123,
"max_renotify": 123,
"due_date": "<string>"
},
"settings": [
{}
]
}
'import requests
url = "https://api.valid.com/api/signature-processes"
payload = {
"title": "<string>",
"code": "<string>",
"process_files": [
{
"code": "<string>",
"filename": "<string>",
"extension": "<string>",
"mime": "<string>",
"type": 123,
"content": "<string>",
"hash": "<string>",
"size": 123
}
],
"signers": [
{
"code": "<string>",
"name": "<string>",
"email": "<string>",
"identifier": "<string>",
"restrict": True,
"phone_country_code": "<string>",
"phone_number": "<string>",
"birth_date": "<string>",
"qualification": "<string>",
"token_type": 123,
"files": [{}]
}
],
"options": {
"auto_init": True,
"send_init_emails": True,
"url_origin": "<string>",
"url_notification": "<string>",
"period_renotify": 123,
"max_renotify": 123,
"due_date": "<string>"
},
"settings": [{}]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
code: '<string>',
process_files: [
{
code: '<string>',
filename: '<string>',
extension: '<string>',
mime: '<string>',
type: 123,
content: '<string>',
hash: '<string>',
size: 123
}
],
signers: [
{
code: '<string>',
name: '<string>',
email: '<string>',
identifier: '<string>',
restrict: true,
phone_country_code: '<string>',
phone_number: '<string>',
birth_date: '<string>',
qualification: '<string>',
token_type: 123,
files: [{}]
}
],
options: {
auto_init: true,
send_init_emails: true,
url_origin: '<string>',
url_notification: '<string>',
period_renotify: 123,
max_renotify: 123,
due_date: '<string>'
},
settings: [{}]
})
};
fetch('https://api.valid.com/api/signature-processes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valid.com/api/signature-processes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'code' => '<string>',
'process_files' => [
[
'code' => '<string>',
'filename' => '<string>',
'extension' => '<string>',
'mime' => '<string>',
'type' => 123,
'content' => '<string>',
'hash' => '<string>',
'size' => 123
]
],
'signers' => [
[
'code' => '<string>',
'name' => '<string>',
'email' => '<string>',
'identifier' => '<string>',
'restrict' => true,
'phone_country_code' => '<string>',
'phone_number' => '<string>',
'birth_date' => '<string>',
'qualification' => '<string>',
'token_type' => 123,
'files' => [
[
]
]
]
],
'options' => [
'auto_init' => true,
'send_init_emails' => true,
'url_origin' => '<string>',
'url_notification' => '<string>',
'period_renotify' => 123,
'max_renotify' => 123,
'due_date' => '<string>'
],
'settings' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/api/signature-processes"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.valid.com/api/signature-processes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/api/signature-processes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Processo de assinatura inserido com sucesso.",
"uuid": "8e3b2e50-8b9a-4d7a-9b8c-1e2f3a4b5c6d",
"code": "PRC-2023-001",
"signers": [
{
"code": "SIG-001",
"uuid": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"url": "https://validsigner.com.br/signature/Token/uuid"
}
],
"files": [
{
"code": "DOC-001",
"uuid": "5e6f7a8b-9c0d-1a2b-3c4d-1e2f3a4b5c6d",
"filename": "documento.pdf",
"type": 1
}
]
}
{
"message": "The title field is required."
}
Body
Título do processo de assinatura. Exemplo:
Contrato de prestação de serviçosCódigo único do processo. Exemplo:
PRC-001Lista de arquivos a serem assinados.
Show Propriedades do Arquivo
Show Propriedades do Arquivo
Código do arquivo. Exemplo:
ARQ001Nome do arquivo (com extensão). Exemplo:
documento.pdfExtensão do arquivo (ex: pdf). Exemplo:
pdfTipo MIME (ex: application/pdf). Exemplo:
application/pdfTipo do arquivo. Exemplo:
1Conteúdo do arquivo em Base64. Exemplo:
base64_pdf_aquiHash do arquivo. Exemplo:
a1b2c3Tamanho em bytes. Exemplo:
204800Lista de signatários do processo.
Show Propriedades do Signatário
Show Propriedades do Signatário
Código do signatário. Exemplo:
SIG001Nome completo. Exemplo:
Maria SilvaEndereço de e-mail. Exemplo:
maria@dominio.comCPF ou CNPJ. Exemplo:
12345678900Se verdadeiro, restringe o acesso. Exemplo:
trueCódigo do país do telefone. Exemplo:
55Número de telefone. Exemplo:
11999999999Data de nascimento (AAAA-MM-DD). Exemplo:
1980-01-01Qualificação (ex: Diretor). Exemplo:
DiretoraTipo de token. Exemplo:
1Lista de códigos (code) dos arquivos que este signatário deve assinar.
Exemplo:
["ARQ001"]Opções adicionais de configuração.
Show Opções
Show Opções
Se true, inicia o processo automaticamente após criar. Exemplo:
trueSe true, envia e-mails iniciais aos signatários. Exemplo:
trueURL de origem. Exemplo:
https://cliente.com.brWebhook para notificações de status. Exemplo:
https://cliente.com.br/webhookPeríodo para notificar novamente. Exemplo:
3Número de vezes a notificar. Exemplo:
5Data de vencimento do processo. Exemplo:
2025-06-01Lista de configurações (strings). Exemplo:
["process-validate-token-sign"]Resposta
Mensagem de sucesso.
UUID do processo criado.
Código do processo.
{
"message": "Processo de assinatura inserido com sucesso.",
"uuid": "8e3b2e50-8b9a-4d7a-9b8c-1e2f3a4b5c6d",
"code": "PRC-2023-001",
"signers": [
{
"code": "SIG-001",
"uuid": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"url": "https://validsigner.com.br/signature/Token/uuid"
}
],
"files": [
{
"code": "DOC-001",
"uuid": "5e6f7a8b-9c0d-1a2b-3c4d-1e2f3a4b5c6d",
"filename": "documento.pdf",
"type": 1
}
]
}
{
"message": "The title field is required."
}
Previous
Obter detalhes do processoRetorna os detalhes de um processo de assinatura incluindo signatários e arquivos relacionados.
Next
⌘I
Criar novo processo
curl --request POST \
--url https://api.valid.com/api/signature-processes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"code": "<string>",
"process_files": [
{
"code": "<string>",
"filename": "<string>",
"extension": "<string>",
"mime": "<string>",
"type": 123,
"content": "<string>",
"hash": "<string>",
"size": 123
}
],
"signers": [
{
"code": "<string>",
"name": "<string>",
"email": "<string>",
"identifier": "<string>",
"restrict": true,
"phone_country_code": "<string>",
"phone_number": "<string>",
"birth_date": "<string>",
"qualification": "<string>",
"token_type": 123,
"files": [
{}
]
}
],
"options": {
"auto_init": true,
"send_init_emails": true,
"url_origin": "<string>",
"url_notification": "<string>",
"period_renotify": 123,
"max_renotify": 123,
"due_date": "<string>"
},
"settings": [
{}
]
}
'import requests
url = "https://api.valid.com/api/signature-processes"
payload = {
"title": "<string>",
"code": "<string>",
"process_files": [
{
"code": "<string>",
"filename": "<string>",
"extension": "<string>",
"mime": "<string>",
"type": 123,
"content": "<string>",
"hash": "<string>",
"size": 123
}
],
"signers": [
{
"code": "<string>",
"name": "<string>",
"email": "<string>",
"identifier": "<string>",
"restrict": True,
"phone_country_code": "<string>",
"phone_number": "<string>",
"birth_date": "<string>",
"qualification": "<string>",
"token_type": 123,
"files": [{}]
}
],
"options": {
"auto_init": True,
"send_init_emails": True,
"url_origin": "<string>",
"url_notification": "<string>",
"period_renotify": 123,
"max_renotify": 123,
"due_date": "<string>"
},
"settings": [{}]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
code: '<string>',
process_files: [
{
code: '<string>',
filename: '<string>',
extension: '<string>',
mime: '<string>',
type: 123,
content: '<string>',
hash: '<string>',
size: 123
}
],
signers: [
{
code: '<string>',
name: '<string>',
email: '<string>',
identifier: '<string>',
restrict: true,
phone_country_code: '<string>',
phone_number: '<string>',
birth_date: '<string>',
qualification: '<string>',
token_type: 123,
files: [{}]
}
],
options: {
auto_init: true,
send_init_emails: true,
url_origin: '<string>',
url_notification: '<string>',
period_renotify: 123,
max_renotify: 123,
due_date: '<string>'
},
settings: [{}]
})
};
fetch('https://api.valid.com/api/signature-processes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.valid.com/api/signature-processes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'code' => '<string>',
'process_files' => [
[
'code' => '<string>',
'filename' => '<string>',
'extension' => '<string>',
'mime' => '<string>',
'type' => 123,
'content' => '<string>',
'hash' => '<string>',
'size' => 123
]
],
'signers' => [
[
'code' => '<string>',
'name' => '<string>',
'email' => '<string>',
'identifier' => '<string>',
'restrict' => true,
'phone_country_code' => '<string>',
'phone_number' => '<string>',
'birth_date' => '<string>',
'qualification' => '<string>',
'token_type' => 123,
'files' => [
[
]
]
]
],
'options' => [
'auto_init' => true,
'send_init_emails' => true,
'url_origin' => '<string>',
'url_notification' => '<string>',
'period_renotify' => 123,
'max_renotify' => 123,
'due_date' => '<string>'
],
'settings' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/api/signature-processes"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.valid.com/api/signature-processes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/api/signature-processes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"code\": \"<string>\",\n \"process_files\": [\n {\n \"code\": \"<string>\",\n \"filename\": \"<string>\",\n \"extension\": \"<string>\",\n \"mime\": \"<string>\",\n \"type\": 123,\n \"content\": \"<string>\",\n \"hash\": \"<string>\",\n \"size\": 123\n }\n ],\n \"signers\": [\n {\n \"code\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"identifier\": \"<string>\",\n \"restrict\": true,\n \"phone_country_code\": \"<string>\",\n \"phone_number\": \"<string>\",\n \"birth_date\": \"<string>\",\n \"qualification\": \"<string>\",\n \"token_type\": 123,\n \"files\": [\n {}\n ]\n }\n ],\n \"options\": {\n \"auto_init\": true,\n \"send_init_emails\": true,\n \"url_origin\": \"<string>\",\n \"url_notification\": \"<string>\",\n \"period_renotify\": 123,\n \"max_renotify\": 123,\n \"due_date\": \"<string>\"\n },\n \"settings\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Processo de assinatura inserido com sucesso.",
"uuid": "8e3b2e50-8b9a-4d7a-9b8c-1e2f3a4b5c6d",
"code": "PRC-2023-001",
"signers": [
{
"code": "SIG-001",
"uuid": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"url": "https://validsigner.com.br/signature/Token/uuid"
}
],
"files": [
{
"code": "DOC-001",
"uuid": "5e6f7a8b-9c0d-1a2b-3c4d-1e2f3a4b5c6d",
"filename": "documento.pdf",
"type": 1
}
]
}
{
"message": "The title field is required."
}