Profile Server API
Endpoints

Cooperatives

Listagem de cooperativas em dois contextos — usuário final e app-to-app.

As cooperativas são expostas em duas rotas, uma por contexto de autenticação. O corpo da resposta identifica o caller conforme a origem.

MétodoRotaAuthScopeResource
GET/api/cooperativesusuárioreadresource:cooperatives
GET/service/cooperativesserviço— (identidade do tenant)

Contexto usuário (/api/cooperatives)

Lista as cooperativas visíveis para o usuário autenticado. Exige a permissão resource:cooperatives + scope read.

curl http://localhost:3000/api/cooperatives \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

200 OKcaller é o id do usuário:

{
  "caller": "user-1a2b3c",
  "data": ["is"]
}

Contexto serviço (/service/cooperatives)

Lista as cooperativas visíveis para o client (app-to-app) autenticado via client credentials. Não passa pelo PermissionGuard de usuário; a autorização vem da identidade do tenant.

curl http://localhost:3000/service/cooperatives \
  -H "Authorization: Bearer $SERVICE_ACCESS_TOKEN"

200 OKcaller é o tenantId resolvido a partir do azp do token:

{
  "caller": "t1b2c3d4-e5f6-4789-a123-456789abcdef",
  "data": ["is"]
}

O payload data destes endpoints é um placeholder (["is"]) na implementação atual — a estrutura de resposta e o mecanismo de identificação do caller já estão definidos, mas a fonte real de dados de cooperativas ainda será plugada.