A API de Depósitos e Garantias do Themis (versão 2) permite consultar, somente para leitura, os depósitos e garantias cadastrados no sistema, com paginação e filtros.
Por meio dela, é possível listar depósitos ou garantias filtrando pela situação do processo, pelo status da garantia, pela área e pelo processo vinculado, além de detalhar cada registro com índice econômico, juros e código de operação.
Ela foi pensada para integrações periódicas, como a alimentação de dashboards de BI. Em relação à V1 (/api/v1/garantias), a V2 traz as seguintes mudanças:
Paginação obrigatória: nenhuma chamada devolve a base inteira.
Processo com número: cada item traz o ID e o número do processo, sem precisar consultar a API de Processos.
Tipos nativos: datas no formato
AAAA-MM-DDe valores numéricos com ponto decimal (45000.00), em vez de texto formatado.Somente leitura: não há criação, edição nem exclusão.
Sem movimentações: o extrato de movimentações financeiras não é retornado. Os valores consolidados estão em
valorInicialevalorSaldo.
‼️ Importante: a API de depósitos e garantias do Themis (versão 2) está disponível a partir da versão 4.17.6.4 do sistema. Para utilizar esta API, é obrigatório que o Themis esteja atualizado nessa versão ou superior. Caso seu sistema esteja em uma versão anterior, será necessário realizar a atualização antes de prosseguir com a integração, agendar sua atualização.
Autenticação
Toda chamada precisa do token de um usuário API do Themis, enviado no header X-Aurum-Auth. É o mesmo token já utilizado nas demais APIs do Themis. Saiba mais em Como autenticar requisições na API do Themis.
GET /api/v2/garantias?categoria=D&statusProcesso=ATIVO X-Aurum-Auth: <seu-token>
Também é aceito o parâmetro ?token=<seu-token> na URL, mas recomendamos o uso do header, pois URLs costumam ficar gravadas em logs e históricos.
Sem token, ou com token inválido, a API responde 417 Expectation Failed com a mensagem "Falha na autenticação."
O endereço base é o mesmo utilizado pelas demais APIs do seu Themis:
https://<endereço-do-seu-themis>/api/v2/garantias
Limites de uso
Limite | Padrão | O que acontece ao ultrapassar |
Itens por página ( | 25 quando não informado; máximo 100 | 400 Bad Request com o erro |
Requisições por minuto, por token | 60, somando listagem e detalhamento | 429 Too Many Requests com o header |
O limite de requisições se renova continuamente ao longo do minuto, e não de uma vez na virada do minuto. Ao receber 429, aguarde os segundos indicados em Retry-After antes de tentar novamente:
HTTP/1.1 429 Too Many Requests Retry-After: 12 Content-Type: application/json {"rate_limit": "limite de requisições excedido"}
‼️ Importante: os valores máximos podem ser ajustados pela Aurum por ambiente. Os números acima são os padrões.
Listar depósitos e garantias
Path: /api/v2/garantias
Método: GET
Retorna uma página de depósitos ou garantias. Os parâmetros categoria e statusProcesso são obrigatórios; sem eles, a resposta é 400 Bad Request. Os demais filtros são opcionais e se somam (todos precisam ser atendidos).
Parâmetros a serem repassados na URL como Query Param:
Query Param | Tipo | Descrição |
categoria | String (obrigatório) | D (Depósito) ou P (Garantia). Aceita um único valor por chamada. |
statusProcesso | String (obrigatório) | ATIVO ou ENCERRADO, conforme a situação do processo vinculado (e não da garantia). Aceita um único valor. |
status | Integer[] (opcional) | Um ou mais códigos de status da garantia (ver Tabelas de referência). Ex.: |
area | Integer[] (opcional) | Um ou mais IDs de área do processo. Ex.: |
idProcesso | Integer (opcional) | ID de um processo. Aceita um único valor. |
page | Integer (opcional) | Número da página, começando em 0 |
size | Integer (opcional) | Tamanho da página (quantidade de registros), de 1 a 100. Padrão: 25 |
sort | String (opcional) | Campo e direção da ordenação, no formato |
Regras dos filtros
Filtros diferentes se somam (E):
status=8&area=5traz itens com status 8 e área 5.Valores repetidos do mesmo filtro são alternativas (OU):
status=8&status=17traz itens com status 8 ou 17. Vale parastatusearea.Maiúsculas importam: use
D,P,ATIVOeENCERRADOexatamente assim. Valores comodouativoretornam 400.O código de status precisa bater exatamente:
status=1(Levantamento parcial) não traz os itens com status 17 (Levantamento parcial com reforço). Para incluir os dois, repita o parâmetro.Para ter depósitos e garantias, faça uma chamada para cada categoria.
O ID da área aparece em
area.idno detalhamento de processos da API de processos do Themis (V2).Ao filtrar por idProcesso, os filtros obrigatórios continuam valendo: se o processo estiver encerrado, use
statusProcesso=ENCERRADO.Ordenação: use campos simples do item, como
id,dataGarantia,dataInicial,dataFinal,valorInicial,valorSaldooustatus, com direçãoascoudesc. Para ordenar por mais de um campo, repita o parâmetro.
Exemplos:
# Somente depósitos não levantados Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=8 # Levantamento parcial, com ou sem reforço Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=1&status=17 # Depósitos de processos encerrados Path: /api/v2/garantias?categoria=D&statusProcesso=ENCERRADO # Depósitos de duas áreas Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&area=5&area=7 # Depósitos de um único processo Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&idProcesso=123 # Mais recentes primeiro Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&sort=dataGarantia,desc # Maior saldo primeiro e, no empate, por id Path: /api/v2/garantias?categoria=D&statusProcesso=ATIVO&sort=valorSaldo,desc&sort=id,asc
Exemplo combinando filtros (garantias de processos ativos das áreas 5 e 7, não levantadas, com ou sem reforço, 50 por página, maior saldo primeiro):
Path: /api/v2/garantias?categoria=P&statusProcesso=ATIVO&status=8&status=24&area=5&area=7&size=50&page=0&sort=valorSaldo,desc
Requisição (exemplo):
curl -H "X-Aurum-Auth: <seu-token>" \ "https://<endereço-do-seu-themis>/api/v2/garantias?categoria=D&statusProcesso=ATIVO&status=8&page=0&size=100"
JSON retornado (exemplo):
{ "content": [ { "id": 101, "categoria": { "codigo": "D", "nome": "Depósito" }, "tipo": { "id": 3, "nome": "Depósito recursal" }, "processo": { "id": 123, "numero": "0001234-12.2024.8.26.0100" }, "dataGarantia": "2026-01-15", "dataInicial": "2026-01-15", "dataFinal": "2026-12-31", "descricao": "Depósito recursal do recurso ordinário", "valorInicial": 45000.00, "valorSaldo": 38000.00, "status": { "codigo": 8, "nome": "Não levantada" } } ], "totalElements": 1, "totalPages": 1, "number": 0, "size": 100, "numberOfElements": 1, "first": true, "last": true }
Os campos de paginação indicam o total de itens (totalElements), o total de páginas (totalPages), a página atual (number) e se ela é a última (last). A resposta traz ainda outros metadados de paginação, que podem ser ignorados.
Campos retornados
Campo | Tipo | Descrição |
id | Integer | Identificador do depósito ou garantia |
categoria | Objeto {codigo, nome} | D / Depósito ou P / Garantia |
tipo | Objeto {id, nome} | Tipo cadastrado no Themis, como "Depósito recursal" |
processo | Objeto {id, numero} | Processo vinculado: somente o ID e o número |
dataGarantia, dataInicial, dataFinal | Date (AAAA-MM-DD) | Podem vir |
descricao | String | Descrição livre |
valorInicial, valorSaldo | Decimal | Valores numéricos, com ponto decimal |
status | Objeto {codigo, nome} | Status da garantia (ver Tabelas de referência) |
Detalhar um depósito ou garantia
Path: /api/v2/garantias/:id
Método: GET
Retorna os mesmos campos da listagem e mais os dados de correção financeira. Não há filtros nem paginação. Se o ID não existir, a resposta é 404 Not Found, sem corpo.
Exemplo:
Path: /api/v2/garantias/101
Requisição (exemplo):
curl -H "X-Aurum-Auth: <seu-token>" \ "https://<endereço-do-seu-themis>/api/v2/garantias/101"
JSON retornado (exemplo):
{ "id": 101, "categoria": { "codigo": "D", "nome": "Depósito" }, "tipo": { "id": 3, "nome": "Depósito recursal" }, "processo": { "id": 123, "numero": "0001234-12.2024.8.26.0100" }, "dataGarantia": "2026-01-15", "dataInicial": "2026-01-15", "dataFinal": "2026-12-31", "descricao": "Depósito recursal do recurso ordinário", "valorInicial": 45000.00, "valorSaldo": 38000.00, "status": { "codigo": 8, "nome": "Não levantada" }, "indiceEconomico": { "id": 2, "nome": "IPCA-E" }, "indiceProRata": true, "juros": { "id": 1, "nome": "1% ao mês" }, "jurosProRata": false, "codigoOperacao": "OP-2026-0042" }
Campos adicionais do detalhamento
Campo | Tipo | Descrição |
indiceEconomico | Objeto {id, nome} | Índice de correção monetária. |
indiceProRata | Boolean | Se o índice é aplicado pro rata |
juros | Objeto {id, nome} | Juros aplicados. |
jurosProRata | Boolean | Se os juros são aplicados pro rata |
codigoOperacao | String | Código da operação, quando informado |
Tabelas de referência
Utilize estes códigos nos filtros e para interpretar as respostas.
Categoria (categoria)
Código | Nome |
D | Depósito |
P | Garantia |
Status do processo (statusProcesso)
Valor | Significado |
ATIVO | Processo vinculado em andamento |
ENCERRADO | Processo vinculado encerrado |
Status da garantia (status)
Código | Nome |
1 | Levantamento parcial |
2 | Levantamento total |
4 | Reavaliação |
8 | Não levantada |
16 | Com reforço |
17 | Levantamento parcial com reforço |
18 | Levantamento total com reforço |
20 | Reavaliação com reforço |
24 | Não levantada com reforço |
⚠️ Atenção: o código já representa a combinação completa. Por exemplo, 17 é "Levantamento parcial com reforço"; não é preciso somar ou decompor códigos.
Respostas de erro
Código HTTP | Quando acontece | Corpo da resposta |
400 Bad Request | Valor inválido em | JSON com um item por campo com erro (exemplo abaixo) |
400 Bad Request |
| Vazio |
404 Not Found | ID inexistente no detalhamento | Vazio |
417 Expectation Failed | Token ausente ou inválido | Mensagem "Falha na autenticação." |
429 Too Many Requests | Mais de 60 requisições por minuto com o mesmo token |
|
Quando há mais de um erro de validação, todos vêm na mesma resposta:
{ "page_size": "tamanho de página superior ao permitido", "categoria": "valor inválido para o campo" }
Boas práticas
Como trazer todos os registros para o BI?
Percorra as páginas até last ser true, com size=100 para fazer menos chamadas. Faça uma rodada para cada combinação de filtros obrigatórios de que você precisa:
categoria=D&statusProcesso=ATIVOcategoria=D&statusProcesso=ENCERRADOcategoria=P&statusProcesso=ATIVOcategoria=P&statusProcesso=ENCERRADO
Mantenha a ordenação padrão (id) durante toda a rodada, para que nenhum item pule de página entre uma chamada e outra.
Com que frequência posso consultar?
Para dashboards, uma ou duas cargas por dia costumam bastar. Dentro de uma carga, espace as chamadas para ficar abaixo de 60 por minuto e, se receber 429, aguarde o tempo indicado em Retry-After antes de continuar.
Preciso chamar a API de Processos para saber o número do processo?
Não. Cada item já traz processo.numero. Use processo.id se precisar cruzar as informações com outras APIs do Themis.
Ficou com alguma dúvida? Entre em contato com nosso time de suporte pelo e-mail [email protected] ou, se preferir, utilize o ícone de chat disponível diretamente no Themis. Estamos à disposição para ajudar.
Estes artigos podem interessar a você: