API
Obter envelope
Retorna detalhes completos de um envelope: dados, signatários, arquivo e assinatura.
GET
/
v1
/
envelopes
/
:uuid
Obter envelope
curl --request GET \
--url https://api.valid.com/v1/envelopes/:uuid \
--header 'x-api-key: <api-key>'import requests
url = "https://api.valid.com/v1/envelopes/:uuid"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.valid.com/v1/envelopes/:uuid', 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/v1/envelopes/:uuid",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/v1/envelopes/:uuid"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.valid.com/v1/envelopes/:uuid")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/v1/envelopes/:uuid")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHTTP/1.1 200 OK
Content-Type: application/json
{
"envelope": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"externalCode": "CONT-2025-001",
"title": "Contrato de Serviços",
"state": "FINISHED",
"signingMode": "sequential",
"dueDate": "2025-12-31T23:59:59Z",
"createdAt": "2025-07-27T10:30:00.000Z",
"finishedAt": "2025-07-27T15:45:30.000Z"
},
"signers": [
{
"uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"name": "João Silva",
"email": "jo***@empresa.com",
"cpf": "123.456.789-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:20:00.000Z",
"queueOrder": 1
},
{
"uuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"name": "Maria Santos",
"email": "ma***@empresa.com",
"cpf": "987.654.321-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:45:30.000Z",
"queueOrder": 2
}
],
"file": {
"uuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
"filename": "contrato.pdf",
"mime": "application/pdf",
"sizeBytes": 250000,
"downloadUrl": "https://storage.googleapis.com/bucket/file.pdf?X-Goog-Algorithm=...",
"downloadUrlExpiresAt": "2025-07-27T11:00:00.000Z"
},
"signature": {
"uuid": "6ba7b813-9dad-11d1-80b4-00c04fd430c8",
"standardName": "PAdES",
"signedAt": "2025-07-27T15:45:30.000Z",
"signedHashSha256": "abc123def456...",
"sizeBytes": 275000,
"signedFileUrl": "https://storage.googleapis.com/bucket/signed.pdf?X-Goog-Algorithm=...",
"signedFileUrlExpiresAt": "2025-07-27T11:00:00.000Z"
}
}
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"statusCode": 404,
"message": "Record not found"
}
Retorna todas as informações de um envelope, incluindo signatários, arquivo e registros de assinatura.
Parâmetros
string
required
UUID do envelope.
Respostas
object
Dados do envelope.
Show Propriedades de envelope
Show Propriedades de envelope
string
UUID do envelope.
string
Código externo do seu sistema.
string
Título do envelope.
string
Estado:
CREATED, AWAITING_SIGNATURE, SIGNING_IN_PROGRESS, FINISHED, CANCELLED, EXPIRED, REFUSED.string
Modo:
sequential ou parallel.string
Data limite (ISO 8601).
string
Timestamp de criação (ISO 8601).
string
Timestamp de finalização (ISO 8601), se finalizado.
string
Timestamp de recusa (ISO 8601), se recusado.
string
Motivo da recusa (texto), se recusado.
array
Lista de signatários com status.
Show Propriedades de signers[]
Show Propriedades de signers[]
object
Documento do envelope.
object
Informações da assinatura (presente apenas se assinado).
Show Propriedades de signature
Show Propriedades de signature
string
UUID do registro de assinatura.
string
Padrão de assinatura:
PAdES (avançado) ou Eletronic (simples).string
Timestamp da assinatura (ISO 8601).
string
Hash SHA-256 do conteúdo assinado.
integer
Tamanho do PDF assinado em bytes.
string
URL assinada para download do PDF final (válida por 15 minutos).
string
Timestamp de expiração da URL (ISO 8601).
Erros
Veja Autenticação e erros para detalhes.- 401: API key/Bearer token inválido.
- 404: Envelope não encontrado.
HTTP/1.1 200 OK
Content-Type: application/json
{
"envelope": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"externalCode": "CONT-2025-001",
"title": "Contrato de Serviços",
"state": "FINISHED",
"signingMode": "sequential",
"dueDate": "2025-12-31T23:59:59Z",
"createdAt": "2025-07-27T10:30:00.000Z",
"finishedAt": "2025-07-27T15:45:30.000Z"
},
"signers": [
{
"uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"name": "João Silva",
"email": "jo***@empresa.com",
"cpf": "123.456.789-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:20:00.000Z",
"queueOrder": 1
},
{
"uuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"name": "Maria Santos",
"email": "ma***@empresa.com",
"cpf": "987.654.321-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:45:30.000Z",
"queueOrder": 2
}
],
"file": {
"uuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
"filename": "contrato.pdf",
"mime": "application/pdf",
"sizeBytes": 250000,
"downloadUrl": "https://storage.googleapis.com/bucket/file.pdf?X-Goog-Algorithm=...",
"downloadUrlExpiresAt": "2025-07-27T11:00:00.000Z"
},
"signature": {
"uuid": "6ba7b813-9dad-11d1-80b4-00c04fd430c8",
"standardName": "PAdES",
"signedAt": "2025-07-27T15:45:30.000Z",
"signedHashSha256": "abc123def456...",
"sizeBytes": 275000,
"signedFileUrl": "https://storage.googleapis.com/bucket/signed.pdf?X-Goog-Algorithm=...",
"signedFileUrlExpiresAt": "2025-07-27T11:00:00.000Z"
}
}
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"statusCode": 404,
"message": "Record not found"
}
Exemplo
curl -X GET "https://signer.vcc-service.com/v1/envelopes/550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY"
Relacionado
GET /v1/envelopes— listar envelopesGET /v1/envelopes/:uuid/history— histórico de auditoriaGET /v1/envelopes/:uuid/signed-document— URL de download direto
⌘I
Obter envelope
curl --request GET \
--url https://api.valid.com/v1/envelopes/:uuid \
--header 'x-api-key: <api-key>'import requests
url = "https://api.valid.com/v1/envelopes/:uuid"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.valid.com/v1/envelopes/:uuid', 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/v1/envelopes/:uuid",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.valid.com/v1/envelopes/:uuid"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.valid.com/v1/envelopes/:uuid")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/v1/envelopes/:uuid")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHTTP/1.1 200 OK
Content-Type: application/json
{
"envelope": {
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"externalCode": "CONT-2025-001",
"title": "Contrato de Serviços",
"state": "FINISHED",
"signingMode": "sequential",
"dueDate": "2025-12-31T23:59:59Z",
"createdAt": "2025-07-27T10:30:00.000Z",
"finishedAt": "2025-07-27T15:45:30.000Z"
},
"signers": [
{
"uuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"name": "João Silva",
"email": "jo***@empresa.com",
"cpf": "123.456.789-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:20:00.000Z",
"queueOrder": 1
},
{
"uuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"name": "Maria Santos",
"email": "ma***@empresa.com",
"cpf": "987.654.321-**",
"state": "SIGNED",
"signedAt": "2025-07-27T15:45:30.000Z",
"queueOrder": 2
}
],
"file": {
"uuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
"filename": "contrato.pdf",
"mime": "application/pdf",
"sizeBytes": 250000,
"downloadUrl": "https://storage.googleapis.com/bucket/file.pdf?X-Goog-Algorithm=...",
"downloadUrlExpiresAt": "2025-07-27T11:00:00.000Z"
},
"signature": {
"uuid": "6ba7b813-9dad-11d1-80b4-00c04fd430c8",
"standardName": "PAdES",
"signedAt": "2025-07-27T15:45:30.000Z",
"signedHashSha256": "abc123def456...",
"sizeBytes": 275000,
"signedFileUrl": "https://storage.googleapis.com/bucket/signed.pdf?X-Goog-Algorithm=...",
"signedFileUrlExpiresAt": "2025-07-27T11:00:00.000Z"
}
}
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"statusCode": 404,
"message": "Record not found"
}