Directory. / documentação técnica

Primeiros passos

Cadastrar, completar o perfil, ativar

Isto percorre o fluxo completo de auto-cadastro contra a instância ao vivo em https://directory.open.dev.br. Toda requisição abaixo é real — não existe um ambiente de sandbox separado; cadastrar aqui cria uma instituição em status Pending até ela passar pela validação funcional.

01 Cadastrar

POST /register é público e limitado por IP. Cria a instituição (status Pending, ainda não listada em /participants) e seu primeiro usuário admin, e devolve um token de sessão — mostrado uma única vez.

curl -X POST https://directory.open.dev.br/register \
  -H "Content-Type: application/json" \
  -d '{
    "organisationName": "Example Bank",
    "adminEmail": "admin@example.com",
    "adminPassword": "a-password-of-at-least-12-chars"
  }'
{
  "organisationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "sessionToken": "kuqRrmsjEllTJlH8OAHsPj6NhNq-ax2gras0IANQRgE",
  "status": "Pending"
}

02 Verificar o e-mail do admin

Um link de verificação é enviado pra adminEmail. Verificá-lo é pré-requisito pra ativação — GET /verify-email consome o token do link.

curl "https://directory.open.dev.br/verify-email?token=<token-from-the-email>"

03 Completar o perfil

Defina um jwksUri e cadastre pelo menos um authorisation server com um dcrRegistrationUri — os dois são checados no próximo passo. Autentique com o token de sessão do passo 1.

curl -X PUT https://directory.open.dev.br/admin/institutions/{institutionId} \
  -H "Authorization: Bearer {sessionToken}" \
  -H "Content-Type: application/json" \
  -d '{ "jwksUri": "https://example-bank.test/jwks.json" }'

curl -X POST https://directory.open.dev.br/admin/institutions/{institutionId}/authorisation-servers \
  -H "Authorization: Bearer {sessionToken}" \
  -H "Content-Type: application/json" \
  -d '{ "dcrRegistrationUri": "https://example-bank.test/register" }'

04 Ativar

POST .../activate roda a validação funcional descrita em Cadastro e validação — uma chamada mTLS real pro dcrRegistrationUri e uma leitura real do jwksUri. É síncrono, idempotente, e seguro pra tentar de novo.

curl -X POST https://directory.open.dev.br/admin/institutions/{institutionId}/activate \
  -H "Authorization: Bearer {sessionToken}"

Se der certo, o status da instituição vira Active e ela aparece em GET /participants.