curl --request POST \
--url https://api.juridiq.com.br/docs/from-template \
--header 'Content-Type: application/json' \
--header 'x-juridiq-api-key: <api-key>' \
--data '
{
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"values": {}
}
'import requests
url = "https://api.juridiq.com.br/docs/from-template"
payload = {
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"values": {}
}
headers = {
"x-juridiq-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-juridiq-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
templateId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
personId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
lawSuitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
values: {}
})
};
fetch('https://api.juridiq.com.br/docs/from-template', 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/docs/from-template",
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([
'templateId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'personId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'lawSuitId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'values' => [
]
]),
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/docs/from-template"
payload := strings.NewReader("{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.juridiq.com.br/docs/from-template")
.header("x-juridiq-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/docs/from-template")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-juridiq-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"unresolved": [
"<string>"
]
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}Criar peça jurídica a partir de um modelo
Cria a peça em Meus Documentos com o modelo preenchido e devolve o id. A peça abre no editor como as criadas pelo Juridiq: leva o papel timbrado quando o escritório o aplica automaticamente e dispara as automações de peça criada.
De onde sai cada valor (campos em GET /docs/templates/):
valuesvence todos: a chave é o marcador sem chaves (PERSONALIZED.valor,PERSON.name.2) e""apaga o marcador. Chave que o modelo não tem é ignorada;{{PERSON.<campo>}}e{{PERSON.<campo>.1}}: o cliente depersonId, com os dados de GET /person/. SópersonIdpreenche PERSON e põe a peça na pasta do cliente;lawSuitIdsozinho não escolhe cliente;{{LAW_SUIT.<campo>}}: o processo delawSuitId, com os dados de GET /lawSuit/ (ex.: valor da causa em R$);{{GENERAL.date}}e{{GENERAL.time}}: agora, no horário de Brasília.
O que fica sem valor (inclusive campo vazio no cadastro) continua como marcador no texto e volta em unresolved, para completar no editor ou criar de novo com values. Marcador partido entre trechos de formatação diferente e campo antigo do editor não são trocados nem entram em unresolved.
Com personId e lawSuitId juntos, o cliente tem de ser parte do processo.
Permissão: qualquer usuário do escritório da chave; cliente e processo privados seguem a privacidade dele.
Erros: 400 com campo fora do contrato ou quando o cliente não é parte do processo. 403 quando o cliente ou o processo é privado e o dono da chave não tem acesso; também 403 quando a chave é do Claude e o plano do escritório não inclui o MCP, ou quando o acesso do escritório está bloqueado. 404 quando o modelo, o cliente ou o processo não existe neste escritório. 413 quando o corpo passa de 1 MB.
curl --request POST \
--url https://api.juridiq.com.br/docs/from-template \
--header 'Content-Type: application/json' \
--header 'x-juridiq-api-key: <api-key>' \
--data '
{
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"values": {}
}
'import requests
url = "https://api.juridiq.com.br/docs/from-template"
payload = {
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lawSuitId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"values": {}
}
headers = {
"x-juridiq-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-juridiq-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
templateId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
personId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
lawSuitId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
values: {}
})
};
fetch('https://api.juridiq.com.br/docs/from-template', 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/docs/from-template",
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([
'templateId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'personId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'lawSuitId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'values' => [
]
]),
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/docs/from-template"
payload := strings.NewReader("{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.juridiq.com.br/docs/from-template")
.header("x-juridiq-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juridiq.com.br/docs/from-template")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-juridiq-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"templateId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"personId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"lawSuitId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"values\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"personId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2023-11-07T05:31:56Z",
"unresolved": [
"<string>"
]
}{
"message": "<string>",
"issues": "<unknown>"
}{
"message": "<string>",
"statusCode": 123,
"translateMessage": "<string>"
}{
"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).
Body
ID do modelo (campo id de GET /docs/templates)
Nome da peça em Meus Documentos; sem ele, o nome do modelo
1 - 255Cliente (GET /person): preenche {{PERSON.}} e {{PERSON..1}} e põe a peça na pasta dele
Processo (GET /lawSuit): preenche {{LAW_SUIT.}}
Valor por marcador, com a chave igual ao key de GET /docs/templates/{id} (ex.: { "PERSONALIZED.valor": "R$ 1.000,00", "PERSON.name.2": "Banco X" }). Vence o cliente, o processo e a data; "" apaga o marcador. Até 100 valores de até 10.000 caracteres
Show child attributes
Show child attributes
Response
Default Response
ID da peça criada
Nome da peça
Cliente em cuja pasta a peça está
Criação da peça (UTC)
Marcadores que ficaram sem valor, no formato de key, sem repetição e na ordem do modelo

