curl --request PATCH \
--url https://api.juridiq.com.br/time-sheet/{id} \
--header 'Content-Type: application/json' \
--header 'x-juridiq-api-key: <api-key>' \
--data '
{
"title": "<string>",
"estimatedTimeMinutes": 1,
"cancelReason": "<string>",
"hourlyRate": 500000,
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consultingId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.juridiq.com.br/time-sheet/{id}"
payload = {
"title": "<string>",
"estimatedTimeMinutes": 1,
"cancelReason": "<string>",
"hourlyRate": 500000,
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consultingId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"x-juridiq-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-juridiq-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
estimatedTimeMinutes: 1,
cancelReason: '<string>',
hourlyRate: 500000,
personId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
lawSuitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
consultingId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.juridiq.com.br/time-sheet/{id}', 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/time-sheet/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'estimatedTimeMinutes' => 1,
'cancelReason' => '<string>',
'hourlyRate' => 500000,
'personId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'lawSuitId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'consultingId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.juridiq.com.br/time-sheet/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-juridiq-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.patch("https://api.juridiq.com.br/time-sheet/{id}")
.header("x-juridiq-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/time-sheet/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-juridiq-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"module": "TASK",
"isDone": true,
"officeId": "<string>",
"timeSpentSeconds": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"status": "PENDING",
"userId": "<string>",
"taskId": "<string>",
"audienceId": "<string>",
"subtaskId": "<string>",
"personId": "<string>",
"lawSuitId": "<string>",
"consultingId": "<string>",
"person": {
"id": "<string>",
"name": "<string>"
},
"lawSuit": {
"id": "<string>",
"processNumber": "<string>"
},
"consulting": {
"id": "<string>",
"subject": "<string>"
},
"estimatedTimeMinutes": 123,
"hourlyRate": 123,
"costValue": 123,
"cancelReason": "<string>",
"completedAt": "2023-11-07T05:31:56Z",
"vinculateItem": {
"id": "<string>",
"name": "<string>",
"processNumber": "<string>"
},
"thisUserCanEdit": true,
"userDetail": {
"name": "<string>",
"urlImage": "<string>"
},
"statusHistories": [
{
"id": "<string>",
"status": "PENDING",
"startedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"endedAt": "2023-11-07T05:31:56Z",
"timeSpent": 123
}
]
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}Atualizar apontamento
Só o dono do apontamento ou o Gestor altera. status aplica a transição do cronômetro; personId, lawSuitId e consultingId só valem em GENERAL. Vínculos são checados entre si: atendimento de outra pessoa ou de outro processo e pessoa que não é parte do processo dão 400; atendimento privado de outro dono dá 404 para quem não vê atendimentos privados. hourlyRate vale em qualquer módulo e null remove o valor. Na resposta, costValue = timeSpentSeconds / 3600 × hourlyRate, arredondado em centavos, ou null sem hourlyRate.
curl --request PATCH \
--url https://api.juridiq.com.br/time-sheet/{id} \
--header 'Content-Type: application/json' \
--header 'x-juridiq-api-key: <api-key>' \
--data '
{
"title": "<string>",
"estimatedTimeMinutes": 1,
"cancelReason": "<string>",
"hourlyRate": 500000,
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consultingId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.juridiq.com.br/time-sheet/{id}"
payload = {
"title": "<string>",
"estimatedTimeMinutes": 1,
"cancelReason": "<string>",
"hourlyRate": 500000,
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"consultingId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"x-juridiq-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-juridiq-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
estimatedTimeMinutes: 1,
cancelReason: '<string>',
hourlyRate: 500000,
personId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
lawSuitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
consultingId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.juridiq.com.br/time-sheet/{id}', 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/time-sheet/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'estimatedTimeMinutes' => 1,
'cancelReason' => '<string>',
'hourlyRate' => 500000,
'personId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'lawSuitId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'consultingId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.juridiq.com.br/time-sheet/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-juridiq-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.patch("https://api.juridiq.com.br/time-sheet/{id}")
.header("x-juridiq-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/time-sheet/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-juridiq-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"estimatedTimeMinutes\": 1,\n \"cancelReason\": \"<string>\",\n \"hourlyRate\": 500000,\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"consultingId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"module": "TASK",
"isDone": true,
"officeId": "<string>",
"timeSpentSeconds": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"status": "PENDING",
"userId": "<string>",
"taskId": "<string>",
"audienceId": "<string>",
"subtaskId": "<string>",
"personId": "<string>",
"lawSuitId": "<string>",
"consultingId": "<string>",
"person": {
"id": "<string>",
"name": "<string>"
},
"lawSuit": {
"id": "<string>",
"processNumber": "<string>"
},
"consulting": {
"id": "<string>",
"subject": "<string>"
},
"estimatedTimeMinutes": 123,
"hourlyRate": 123,
"costValue": 123,
"cancelReason": "<string>",
"completedAt": "2023-11-07T05:31:56Z",
"vinculateItem": {
"id": "<string>",
"name": "<string>",
"processNumber": "<string>"
},
"thisUserCanEdit": true,
"userDetail": {
"name": "<string>",
"urlImage": "<string>"
},
"statusHistories": [
{
"id": "<string>",
"status": "PENDING",
"startedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"endedAt": "2023-11-07T05:31:56Z",
"timeSpent": 123
}
]
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"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).
Path Parameters
ID do apontamento
Body
Status a ser aplicado pelo front (retomar, pausar, concluir, cancelar ou pendente)
PENDING, IN_PROGRESS, PAUSED, COMPLETED, CANCELLED Novo título (apontamentos GERAIS)
1Tempo previsto em minutos (apontamentos GERAIS)
x >= 0Motivo do cancelamento
Valor da hora em reais, de 0 a 1.000.000, com até 2 casas decimais (qualquer módulo; null remove o valor)
0 <= x <= 1000000Pessoa/cliente vinculada (apenas GENERAL; null remove o vínculo)
Processo vinculado (apenas GENERAL; null remove o vínculo)
Atendimento do CRM vinculado (apenas GENERAL; null remove o vínculo)
Response
Default Response
ID do apontamento
Título
Módulo
TASK, AUDIENCE, SUBTASK, GENERAL Concluído
ID do escritório
Tempo gasto somando os históricos (segundos)
Data de criação
Data de atualização
Status atual
PENDING, IN_PROGRESS, PAUSED, COMPLETED, CANCELLED ID do usuário
ID da tarefa
ID da audiência
ID da subtarefa
ID da pessoa/cliente vinculada
ID do processo vinculado
ID do atendimento vinculado
Pessoa/cliente vinculada
Show child attributes
Show child attributes
Processo vinculado
Show child attributes
Show child attributes
Atendimento do CRM vinculado
Show child attributes
Show child attributes
Tempo estimado (minutos)
Valor da hora em reais; null quando não informado
Custo em reais: timeSpentSeconds / 3600 × hourlyRate, arredondado em centavos; null sem hourlyRate
Motivo do cancelamento
Data de finalização (conclusão/cancelamento)
Item vinculado (tarefa/subtarefa/audiência)
Show child attributes
Show child attributes
Indica se o usuário da requisição é o dono do apontamento
Dados do usuário do apontamento
Show child attributes
Show child attributes
Históricos de status
Show child attributes
Show child attributes

