API
Obter histórico do envelope
Lista o histórico completo de ações do envelope com auditoria (eventos, IPs, geolocalização, verificações biométricas).
GET
/
v1
/
envelopes
/
:uuid
/
history
Obter histórico do envelope
curl --request GET \
--url https://api.valid.com/v1/envelopes/:uuid/history \
--header 'x-api-key: <api-key>'import requests
url = "https://api.valid.com/v1/envelopes/:uuid/history"
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/history', 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/history",
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/history"
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/history")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/v1/envelopes/:uuid/history")
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
{
"data": [
{
"description": "Envelope criado",
"signerUuid": null,
"systemUuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"ip": "192.168.1.100",
"latitude": null,
"longitude": null,
"livenessVerified": false,
"createdAt": "2025-07-27T10:30:00.000Z"
},
{
"description": "João Silva (CPF: 123.456.789-**) iniciou a assinatura",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"systemUuid": null,
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"accuracy": 100,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"livenessSessionId": "liveness-sess-001",
"livenessCaptureId": "capture-001",
"livenessImageUrl": "https://storage.googleapis.com/bucket/liveness-001.jpg?X-Goog-Algorithm=...",
"createdAt": "2025-07-27T15:20:00.000Z"
},
{
"description": "Assinatura de João Silva registrada (PAdES - Lacuna RestPKI)",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:20:30.000Z"
},
{
"description": "Maria Santos (CPF: 987.654.321-**) assinou com sucesso",
"signerUuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c9",
"ip": "203.0.113.51",
"latitude": -23.5510,
"longitude": -46.6340,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:45:30.000Z"
},
{
"description": "Envelope finalizado - último signatário assinou",
"signerUuid": null,
"systemUuid": null,
"createdAt": "2025-07-27T15:45:31.000Z"
}
]
}
Retorna um log completo de todas as ações realizadas no envelope (criação, acesso de signatário, preenchimento de campos, assinatura, recusa, etc.) com detalhes de auditoria como IP, coordenadas de geolocalização e resultado de verificações de liveness.
Parâmetros
string
required
UUID do envelope.
Respostas
array
Lista de eventos do histórico.
Show Propriedades de data[]
Show Propriedades de data[]
string
Descrição legível da ação (ex:
"João Silva (CPF: 123.456.789-**) iniciou a assinatura.").string
UUID do signatário associado a este evento (se aplicável).
string
UUID do sistema ou usuário que realizou a ação (para ações de admin/operador).
string
Endereço IP de origem da ação.
number
Latitude da geolocalização aproximada (opcional, pode ser null).
number
Longitude da geolocalização aproximada (opcional, pode ser null).
number
Precisão da geolocalização em metros (opcional).
boolean
Se liveness foi verificado e aprovado neste evento (apenas para assinaturas PAdES).
string
Status do liveness:
APPROVED, REJECTED, NOT_PERFORMED, etc.string
ID da sessão de liveness associada.
string
ID da captura de foto/vídeo de liveness.
string
Se liveness foi rejeitado, o motivo (ex:
"Face not detected", "Liveness check failed").string
URL assinada da imagem capturada de liveness (válida por 15 minutos).
array
UUIDs de arquivo(s) mencionados neste evento (ex: o PDF assinado).
string
Timestamp do evento (ISO 8601).
Erros
Veja Autenticação e erros.- 401: API key inválido.
- 404: Envelope não encontrado.
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": [
{
"description": "Envelope criado",
"signerUuid": null,
"systemUuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"ip": "192.168.1.100",
"latitude": null,
"longitude": null,
"livenessVerified": false,
"createdAt": "2025-07-27T10:30:00.000Z"
},
{
"description": "João Silva (CPF: 123.456.789-**) iniciou a assinatura",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"systemUuid": null,
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"accuracy": 100,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"livenessSessionId": "liveness-sess-001",
"livenessCaptureId": "capture-001",
"livenessImageUrl": "https://storage.googleapis.com/bucket/liveness-001.jpg?X-Goog-Algorithm=...",
"createdAt": "2025-07-27T15:20:00.000Z"
},
{
"description": "Assinatura de João Silva registrada (PAdES - Lacuna RestPKI)",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:20:30.000Z"
},
{
"description": "Maria Santos (CPF: 987.654.321-**) assinou com sucesso",
"signerUuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c9",
"ip": "203.0.113.51",
"latitude": -23.5510,
"longitude": -46.6340,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:45:30.000Z"
},
{
"description": "Envelope finalizado - último signatário assinou",
"signerUuid": null,
"systemUuid": null,
"createdAt": "2025-07-27T15:45:31.000Z"
}
]
}
Exemplo
curl -X GET "https://signer.vcc-service.com/v1/envelopes/550e8400-e29b-41d4-a716-446655440000/history" \
-H "x-api-key: YOUR_API_KEY"
Relacionado
GET /v1/envelopes/:uuid— detalhe geral do envelope
⌘I
Obter histórico do envelope
curl --request GET \
--url https://api.valid.com/v1/envelopes/:uuid/history \
--header 'x-api-key: <api-key>'import requests
url = "https://api.valid.com/v1/envelopes/:uuid/history"
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/history', 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/history",
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/history"
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/history")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valid.com/v1/envelopes/:uuid/history")
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
{
"data": [
{
"description": "Envelope criado",
"signerUuid": null,
"systemUuid": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"ip": "192.168.1.100",
"latitude": null,
"longitude": null,
"livenessVerified": false,
"createdAt": "2025-07-27T10:30:00.000Z"
},
{
"description": "João Silva (CPF: 123.456.789-**) iniciou a assinatura",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"systemUuid": null,
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"accuracy": 100,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"livenessSessionId": "liveness-sess-001",
"livenessCaptureId": "capture-001",
"livenessImageUrl": "https://storage.googleapis.com/bucket/liveness-001.jpg?X-Goog-Algorithm=...",
"createdAt": "2025-07-27T15:20:00.000Z"
},
{
"description": "Assinatura de João Silva registrada (PAdES - Lacuna RestPKI)",
"signerUuid": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
"ip": "203.0.113.50",
"latitude": -23.5505,
"longitude": -46.6333,
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:20:30.000Z"
},
{
"description": "Maria Santos (CPF: 987.654.321-**) assinou com sucesso",
"signerUuid": "6ba7b812-9dad-11d1-80b4-00c04fd430c9",
"ip": "203.0.113.51",
"latitude": -23.5510,
"longitude": -46.6340,
"livenessVerified": true,
"livenessStatus": "APPROVED",
"fileUuids": ["6ba7b812-9dad-11d1-80b4-00c04fd430c8"],
"createdAt": "2025-07-27T15:45:30.000Z"
},
{
"description": "Envelope finalizado - último signatário assinou",
"signerUuid": null,
"systemUuid": null,
"createdAt": "2025-07-27T15:45:31.000Z"
}
]
}