curl --request GET \
--url https://api.juridiq.com.br/audit-log/ \
--header 'x-juridiq-api-key: <api-key>'import requests
url = "https://api.juridiq.com.br/audit-log/"
headers = {"x-juridiq-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-juridiq-api-key': '<api-key>'}};
fetch('https://api.juridiq.com.br/audit-log/', 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.juridiq.com.br/audit-log/",
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-juridiq-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.juridiq.com.br/audit-log/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-juridiq-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.juridiq.com.br/audit-log/")
.header("x-juridiq-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/audit-log/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-juridiq-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"officeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userName": "<string>",
"action": "CREATE",
"entityType": "person",
"entityId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityLabel": "<string>",
"changes": {},
"createdAt": "2023-11-07T05:31:56Z",
"origin": {
"type": "workflow",
"workflowId": "<string>",
"workflowName": "<string>",
"workflowInstanceId": "<string>"
}
}
],
"totalResults": 123,
"totalPages": 123
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}Listar logs de auditoria
Lista o registro de auditoria do escritório: criações (CREATE), alterações (UPDATE), exclusões (DELETE) e revelações de dado sensível (REVEAL) dos tipos de entityType, com autor, data e campos. Ação feita por automação traz origin.
Permissão: o dono da chave precisa ser Gestor ou ter “Configurações - Usuários › Visualizar”; sem isso, 403. A lista inclui registros de itens privados.
Ordem e paginação: mais recentes primeiro (createdAt decrescente, empate por id). page começa em 1 e limit vai até 100; use totalPages para saber quando parar.
Retenção: 90 dias. Registros de pessoas (person) e de publicações (publication) não expiram.
Tarefas excluídas: entityType=task&action=DELETE com startDate e endDate. Toda exclusão de tarefa grava um registro, inclusive a que vem da exclusão da coluna, do quadro ou da pasta; entityId é o id da tarefa e changes traz os campos auditados dela em before.
A gravação é assíncrona e sem garantia de entrega: feche a janela com folga (endDate pelo menos 5 minutos no passado), comece a próxima no endDate anterior e descarte repetidos pelo id do registro.
Antes de apagar a sua cópia, confirme com GET /task/{id}: só 404 significa excluída (403 é tarefa privada que o dono da chave não vê).
curl --request GET \
--url https://api.juridiq.com.br/audit-log/ \
--header 'x-juridiq-api-key: <api-key>'import requests
url = "https://api.juridiq.com.br/audit-log/"
headers = {"x-juridiq-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-juridiq-api-key': '<api-key>'}};
fetch('https://api.juridiq.com.br/audit-log/', 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.juridiq.com.br/audit-log/",
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-juridiq-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.juridiq.com.br/audit-log/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-juridiq-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.juridiq.com.br/audit-log/")
.header("x-juridiq-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/audit-log/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-juridiq-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"officeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userName": "<string>",
"action": "CREATE",
"entityType": "person",
"entityId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityLabel": "<string>",
"changes": {},
"createdAt": "2023-11-07T05:31:56Z",
"origin": {
"type": "workflow",
"workflowId": "<string>",
"workflowName": "<string>",
"workflowInstanceId": "<string>"
}
}
],
"totalResults": 123,
"totalPages": 123
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}Authorizations
Chave de API do escritório (criada no painel). Envie o valor no header x-juridiq-api-key. A API aberta aplica rate limit por chave (veja a documentação de integradores).
Query Parameters
Página, começa em 1
Itens por página, de 1 a 100 (padrão 20)
x <= 100CREATE (criação), UPDATE (alteração), DELETE (exclusão) ou REVEAL (revelação de dado sensível, como o código do Autenticador)
CREATE, UPDATE, DELETE, REVEAL Tipo do item auditado; aceita vários separados por vírgula (ex.: task,event). Sem ele, vêm todos os tipos menos officeCredit (consumo de créditos)
person, task, lawSuit, financialBill, financialPartner, financialTransaction, authenticatorAccount, officeCredit, consulting, consultingRegister, consultingColumn, publication, funnel, event, audience, alert, juridiqSettings, workflow, workflowWebhook Compara o tipo de processo gravado em changes.lawsuitType.after. Registro sem esse valor (exclusão, edição sem troca de tipo) conta como JURIDICAL. Sem entityType, a lista fica só com processos (lawSuit); com entityType sem lawSuit, é ignorado
JURIDICAL, ADMINISTRATIVE_INSS, ADMINISTRATIVE_OTHER Busca no nome ou título do item gravado no registro, sem diferenciar acento
ID do item auditado (ex.: o id da tarefa)
Autor da ação; aceita vários UUIDs separados por vírgula
Registros do processo, dos itens ligados a ele hoje (tarefas, eventos, audiências, atendimentos e lançamentos) e dos registros que gravaram este lawSuitId em changes. Item já excluído só entra por esse último caminho
Registros da pessoa, dos itens ligados a ela hoje (tarefas, eventos, audiências, atendimentos e lançamentos) e dos registros que gravaram este personId em changes. Item já excluído só entra por esse último caminho; tarefa não grava personId
Início da janela por createdAt, inclusive. Instante ISO 8601 com fuso (ex.: 2026-10-26T00:00:00-03:00); data sem horário vale 00:00 UTC
Fim da janela por createdAt, inclusive. Mesmo formato de startDate; anterior a startDate devolve lista vazia
Dia inteiro em UTC (00:00 a 24:00 UTC) do instante enviado. Quando enviado, startDate e endDate são ignorados
Só registros de lançamentos financeiros (financialTransaction) que hoje são deste parceiro
true: só alterações (UPDATE) que marcaram o lançamento como pago (isPaid de não pago para pago)
true, false 
