MDSAPI Portal/IZII MDS - Orquestrador de Benefícios (REST)
post

Gerar token JWT de acesso

/v1/auth/token

Porta de entrada da API. Envie client_id e client_secret em JSON; a API troca no Keycloak (client_credentials) e devolve um token JWT (validade ~2h).

Formato: corpo application/json com client_id e client_secret. Use o access_token retornado como Authorization: Bearer <token> nas demais chamadas. Único endpoint que não exige token prévio.

> Atenção no console/clients: cole somente o token no campo de > autorização (sem escrever Bearer na frente; o prefixo é adicionado > automaticamente).

Request Body

application/jsonrequired

object
client_idstringrequired
client_secretstringrequired
Ver schema bruto / exemplo JSON
{
  "client_id": "mds-client",
  "client_secret": "mds-secret-dev"
}

Responses

200

Token gerado com sucesso (resposta do Keycloak).

object
access_tokenstring
token_typestring
expires_ininteger
Ver schema bruto / exemplo JSON
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 7200
}
400

Requisição malformada (campos obrigatórios ausentes/ inválidos).

object

Estrutura padronizada de erro.

statusinteger

Código HTTP do erro.

codigostring

Código interno do erro.

mensagemstring

Descrição legível do erro.

criticasarray

items

object

Crítica de validação devolvida pela operadora. bloqueante vem do wrapper de validacoes (mensagem "Critica Bloqueante" / "Critica Não Bloqueante"): false = aviso (a movimentação segue e pode liberar, ex. 2401); true = rejeição (corrigir e reenviar); null = a operadora não marcou.

codigostring
campostring
mensagemstring
bloqueanteboolean
401

client_id/client_secret inválidos. O corpo segue o schema Erro, com o motivo do provedor de identidade em codigo (ex. invalid_client).

object

Estrutura padronizada de erro.

statusinteger

Código HTTP do erro.

codigostring

Código interno do erro.

mensagemstring

Descrição legível do erro.

criticasarray

items

object

Crítica de validação devolvida pela operadora. bloqueante vem do wrapper de validacoes (mensagem "Critica Bloqueante" / "Critica Não Bloqueante"): false = aviso (a movimentação segue e pode liberar, ex. 2401); true = rejeição (corrigir e reenviar); null = a operadora não marcou.

codigostring
campostring
mensagemstring
bloqueanteboolean
413

Corpo da requisição acima do limite aceito pela fachada: 1 MB nas rotas de dados, 12 MB em POST /v1/faturas/interpretacoes, que recebe o PDF em base64.

Não há limite de ITENS no lote: o teto é de bytes, e existe para que um corpo gigante não derrube o processo. Lote grande que estoure o limite deve ser dividido em requisições; cada uma é independente na operadora.

object

Estrutura padronizada de erro.

statusinteger

Código HTTP do erro.

codigostring

Código interno do erro.

mensagemstring

Descrição legível do erro.

criticasarray

items

object

Crítica de validação devolvida pela operadora. bloqueante vem do wrapper de validacoes (mensagem "Critica Bloqueante" / "Critica Não Bloqueante"): false = aviso (a movimentação segue e pode liberar, ex. 2401); true = rejeição (corrigir e reenviar); null = a operadora não marcou.

codigostring
campostring
mensagemstring
bloqueanteboolean
502

Não foi possível concluir a operação junto à operadora.

Em consulta, sem repetir no corpo a falha pode ser transitória e nova tentativa é segura.

Em escrita (POST, PATCH, DELETE) o corpo traz repetir: false, e o desfecho é indeterminado: a operadora pode ter processado e só a resposta ter se perdido. Não reenvie. Se o corpo trouxer protocolo, consulte-o em GET /v1/movimentacoes/{protocolo}; se não, confira o beneficiário pelo CPF antes de tentar de novo.

object

Erro gerado pela própria API, antes ou depois de falar com a operadora. Formato distinto do Erro, que é usado quando o desfecho vem da operadora.

errorstring

Motivo resumido.

detalhestring

Detalhe técnico, quando existe.

repetirboolean

Quando false, não reenvie. Em consulta significa que repetir devolve o mesmo resultado; em escrita significa que o desfecho é indeterminado, porque a operadora pode ter processado e só a resposta ter se perdido. Ausente quando a falha pode ser transitória, o que só ocorre em consulta.

protocolostring

Protocolo da movimentação, quando a operadora devolveu um antes de falhar. **Em escrita com 502, consulte este protocolo em GET /v1/movimentacoes/{protocolo} em vez de reenviar.**

requestURIstring

Caminho chamado na operadora, sem host. Para diagnóstico.

responseContentobject

Resposta da operadora, para diagnóstico. Formato variável.

default

Outro status de transporte, repassado do provedor como veio (ex. 403, 404, 409, 429). A fachada não os traduz: mascará-los de 400 esconderia do consumidor a diferença entre pedido inválido e limite de uso, por exemplo.

Não são desfecho de negócio. Rejeição da operadora chega em HTTP 200 com criticas; ausência de registro também é 200. Um status aqui indica problema de integração, não de cadastro, e vale acionar o suporte.

object

Estrutura padronizada de erro.

statusinteger

Código HTTP do erro.

codigostring

Código interno do erro.

mensagemstring

Descrição legível do erro.

criticasarray

items

object

Crítica de validação devolvida pela operadora. bloqueante vem do wrapper de validacoes (mensagem "Critica Bloqueante" / "Critica Não Bloqueante"): false = aviso (a movimentação segue e pode liberar, ex. 2401); true = rejeição (corrigir e reenviar); null = a operadora não marcou.

codigostring
campostring
mensagemstring
bloqueanteboolean