> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# API administrativa do Systemplane

> Inspecione e altere a configuração operacional de uma aplicação Lerian em tempo de execução, sem reiniciar, pela API administrativa compartilhada do Systemplane.

O Systemplane é o plano de controle para configuração em tempo de execução compartilhado pelas aplicações Lerian. Essas aplicações o expõem para que você possa inspecionar e alterar configurações operacionais em um serviço em execução, sem reiniciar. Em ambientes financeiros regulados, derrubar um serviço para aplicar uma mudança de configuração é ao mesmo tempo um risco de compliance e uma interrupção operacional. Com o Systemplane, você ajusta os valores que um serviço aceita com segurança enquanto ele continua atendendo ao tráfego.

Essa é a mesma superfície administrativa em todas as aplicações que a montam. Cada produto documenta suas próprias chaves configuráveis, mas as rotas, os formatos de requisição e resposta, e o modelo de autorização descritos aqui são comuns a todas elas.

## O que é o Systemplane

***

O Systemplane não é um serviço independente. Cada aplicação monta o mesmo conjunto de rotas em seu próprio host e porta HTTP, sob um prefixo de caminho específico da aplicação. O prefixo canônico documentado aqui é `/system`, mas ele varia conforme a aplicação (veja a tabela de aplicabilidade abaixo).

As aplicações registram as rotas de forma programática, e nenhum gerador de código as produz. Esta referência documenta a superfície manualmente, para que você possa operá-la de forma consistente entre os produtos.

## Namespaces

***

A configuração vive em **namespaces**, cada um com entradas simples e indexadas por chaves de texto. Trilhos e plugins usam três namespaces canônicos:

| Namespace | O que contém |
| - | - |
| `runtime_config` | Ajustes operacionais como limites de taxa, intervalos de workers e tamanhos de connection pool. |
| `tenant_policy` | Objetos de política com escopo de tenant (por exemplo, tabelas de roteamento por tenant). |
| `operational_registry` | Dados operacionais de consulta que o serviço lê em tempo de execução. |

O valor de cada entrada não tem tipo na camada de transporte. Cada chave registrada aceita seu próprio escalar, objeto ou array JSON, e um validador próprio do lado do servidor verifica o valor. Nem toda configuração pode ser alterada em tempo de execução. A aplicação lê as configurações apenas de bootstrap uma única vez, na inicialização. Essas configurações não aparecem no Systemplane e ainda exigem um reinício para mudar.

## Endpoints

***

Todos os caminhos são relativos ao prefixo da aplicação (padrão `/system`).

| Método | Caminho | O que faz |
| - | - | - |
| `GET` | `/system/{namespace}` | [Lista as entradas](https://docs.lerian.studio/pt/reference/platform/systemplane/list-entries.md) de um namespace |
| `GET` | `/system/{namespace}/{key}` | [Obtém uma entrada](https://docs.lerian.studio/pt/reference/platform/systemplane/get-entry.md) |
| `PUT` | `/system/{namespace}/{key}` | [Grava uma entrada](https://docs.lerian.studio/pt/reference/platform/systemplane/put-entry.md) com o corpo `{"value": <json>}`. Retorna `204`. |
| `DELETE` | `/system/{namespace}/{key}` | [Exclui uma entrada](https://docs.lerian.studio/pt/reference/platform/systemplane/delete-entry.md). Retorna `204`. |
| `GET` | `/system/-/catalog` | [Lista o catálogo de chaves](https://docs.lerian.studio/pt/reference/platform/systemplane/catalog-list.md) (opcional) |
| `GET` | `/system/-/catalog/{namespace}/{key}` | [Obtém o contrato de gravação de uma chave](https://docs.lerian.studio/pt/reference/platform/systemplane/catalog-detail.md) (opcional) |

> [!NOTE]
>
> `/system/-/catalog` nomeia um caminho de metadados reservado. A aplicação o atende antes das rotas de namespace. O segmento `-` não é um namespace real, e você não pode usá-lo como um. A maioria das aplicações retorna os erros em um envelope simples `{"code": <int>, "title": "<string>", "message": "<string>"}`. Veja a [lista de erros do Systemplane](https://docs.lerian.studio/pt/reference/platform/systemplane/systemplane-error-list.md).

## Autenticação e permissões

***

A autorização **nega tudo por padrão**. Uma aplicação apenas disponibiliza a superfície depois que você configura um autorizador. Sem um autorizador, a aplicação nega toda requisição. Quando você habilita a autenticação, a aplicação aplica controle de acesso baseado em papéis por namespace, sobre uma identidade válida. No modo multi-tenant, um plano de plataforma exige uma identidade com escopo de plataforma. Nesse modo, um plano por tenant, marcado como "(por tenant)" na tabela abaixo, exige uma identidade com escopo de tenant e lê e grava só os valores desse tenant.

Leituras exigem a permissão de leitura do namespace, e gravações exigem a permissão de escrita correspondente:

| Namespace | Permissão de leitura | Permissão de escrita |
| - | - | - |
| `runtime_config` | `system_runtime_config:read` | `system_runtime_config:write` |
| `tenant_policy` | `system_tenant_policy:read` | `system_tenant_policy:write` |
| `operational_registry` | `system_operational_registry:read` | `system_operational_registry:write` |

A ação de leitura cobre `GET`. A ação de escrita cobre `PUT` e `DELETE`. Os endpoints de descoberta do catálogo exigem permissão de leitura em pelo menos um namespace.

> [!NOTE]
>
> As strings exatas de permissão podem variar por aplicação. Consulte a documentação do próprio produto para saber seu modelo de autorização.

Os tokens são JWTs do tipo bearer emitidos pelo [Access Manager](https://docs.lerian.studio/pt/platform/access-manager.md) da plataforma. Chamadores automatizados obtêm um token pelo fluxo de client credentials.

## Descobrindo chaves com o catálogo

***

Quando uma aplicação opta pela superfície de catálogo, `GET /system/-/catalog` lista todas as chaves que ela registra. A rota de detalhe `GET /system/-/catalog/{namespace}/{key}` retorna o contrato de gravação completo de uma chave. O contrato cobre seu tipo, escopo de tenant, classe de tempo de execução, JSON schema, regras de validação, exemplos válidos, valor padrão e o caminho `PUT` correspondente.

Use o catálogo para saber o que um serviço expõe antes de mudar qualquer coisa. O catálogo descreve o contrato de gravação. Para ler o valor configurado atual, chame `GET /system/{namespace}/{key}`.

## Quais produtos expõem o Systemplane

***

O Systemplane é opcional por produto. A tabela abaixo lista produtos que o montam. Para cada produto, ela indica o prefixo de caminho, a porta HTTP padrão e se o produto também disponibiliza a superfície de descoberta do catálogo. O prefixo e a porta são padrões. Um deploy pode sobrescrevê-los.

| Produto | Prefixo de caminho | Porta padrão | Catálogo? |
| - | - | - | - |
| [Lender](https://docs.lerian.studio/pt/products/lender/what-is-lender.md) | `/api/v1/systemplane` | `:8080` | Não |
| [Matcher](https://docs.lerian.studio/pt/products/matcher/what-is-matcher.md) | `/system` | `:4018` | Sim |
| [TED JD](https://docs.lerian.studio/pt/interfaces/ted-jd/ted-configuration.md) | `/system` | `:8080` | Sim |
| [TED Lerian](https://docs.lerian.studio/pt/interfaces/ted-lerian/what-is-ted-lerian.md) | `/system` (plataforma), `/v1/system` (por tenant) | `:8080` | Somente em `/system` |
| [Pix Direto (via JD)](https://docs.lerian.studio/pt/interfaces/pix/main-domains-overview) | `/system` | `:8080` | Sim |
| [Pix Lerian](https://docs.lerian.studio/pt/interfaces/pix-lerian/pix-lerian-environment-variables.md) | Fornecido durante o onboarding | Por componente | Não |
| [JD Courier](https://docs.lerian.studio/pt/interfaces/jd-courier/what-is-jd-courier.md) | `/system` | `:8080` | Não |
| Integração CCS | `/system` | `:4030` | Não |
| [Lerian STA](https://docs.lerian.studio/pt/rails/sta/what-is-lerian-sta.md) | `/system` | `:4028` | Não |
| [Lerian SISBAJUD Mensageria](https://docs.lerian.studio/pt/rails/sisbajud/sisbajud-operations.md) | `/system` | `:4031` | Não |
| [Lerian SISBAJUD executor](https://docs.lerian.studio/pt/rails/sisbajud/sisbajud-executor-operations.md) | `/system` (plataforma), `/tenant-system` (por tenant) | Defina `SERVER_ADDRESS` como `:4029` | Somente em `/tenant-system` |
| [Lerian SLC](https://docs.lerian.studio/pt/rails/slc/what-is-lerian-slc.md) | `/system` | `:4111` | Não |
| [Lerian Consignado — Dataprev](https://docs.lerian.studio/pt/rails/consignado/what-is-lerian-consignado.md) | `/system` | `:8080` | Não |
| [Lerian SPB](https://docs.lerian.studio/pt/rails/spb/what-is-lerian-spb.md) / [Lerian SPI](https://docs.lerian.studio/pt/rails/spi/what-is-lerian-spi.md) | `/v1/system` | Por serviço | Não |
| [Lerian BC Correios](https://docs.lerian.studio/pt/rails/bc-correios/what-is-lerian-bc-correios.md) | `/v1/system` | `:8080` | Sim |
| [Lerian SCR](https://docs.lerian.studio/pt/rails/scr/what-is-lerian-scr.md) | `/v1/system` | `:3003` | Não |
| [Lerian SRC](https://docs.lerian.studio/pt/rails/src/what-is-lerian-src.md) | `/v1/system` | `:3006` | Não |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.