Pular para o conteúdo principal

Usuários

Gerenciamento de usuários na Catalisa Platform.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/api/v1/usersCriar usuárioIAM_USERS_CREATE
POST/api/v1/users/loginLoginPúblico
GET/api/v1/usersListar usuáriosIAM_USERS_READ
GET/api/v1/users/:idObter usuárioIAM_USERS_READ
PATCH/api/v1/users/:idAtualizar usuárioIAM_USERS_UPDATE
DELETE/api/v1/users/:idExcluir usuárioIAM_USERS_DELETE

Status de Usuário

StatusValorDescrição
AtivoativoUsuário pode autenticar normalmente
InativoinativoUsuário desativado
BloqueadobloqueadoUsuário bloqueado por segurança
PendentependenteAguardando confirmação

Criar Usuário

POST /api/v1/users

Cria um novo usuário no sistema.

Request

CampoTipoObrigatórioDescrição
emailstringSimEmail válido e único
passwordstringSimSenha (mínimo 8 caracteres)
curl -X POST 'https://iam.stg.catalisa.app/api/v1/users' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"email": "usuário@exemplo.com",
"password": "senhaSegura123"
}'

Response (201 Created)

{
"data": {
"type": "users",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"email": "usuário@exemplo.com",
"status": "ativo",
"mfaEnabled": false,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
},
"links": {
"self": "/api/v1/users/550e8400-e29b-41d4-a716-446655440000"
}
}
}

Login de Usuário

POST /api/v1/users/login

Autentica um usuário com email e senha.

informação

Este endpoint e publico e nao requer autenticacao.

Request

CampoTipoObrigatórioDescrição
emailstringSimEmail do usuário
passwordstringSimSenha do usuário
mfaCodestringNãoCódigo MFA (se habilitado)
curl -X POST 'https://iam.stg.catalisa.app/api/v1/users/login' \
-H 'Content-Type: application/json' \
-d '{
"email": "usuário@exemplo.com",
"password": "senhaSegura123"
}'

Response (200 OK)

{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "Bearer",
"expiresIn": 3600,
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"type": "users",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"email": "usuário@exemplo.com",
"status": "ativo"
}
}
}

Listar Usuários

GET /api/v1/users

Lista usuários com suporte a paginação e filtros.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[status]stringFiltrar por status
filter[email]stringFiltrar por email (parcial)
curl 'https://iam.stg.catalisa.app/api/v1/users?page[number]=1&page[size]=20&filter[status]=ativo' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "users",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"email": "usuário@exemplo.com",
"status": "ativo",
"mfaEnabled": false
}
}
],
"meta": {
"totalItems": 50,
"totalPages": 3,
"currentPage": 1,
"itemsPerPage": 20
},
"links": {
"self": "/api/v1/users?page[number]=1&page[size]=20",
"next": "/api/v1/users?page[number]=2&page[size]=20"
}
}

Obter Usuário

GET /api/v1/users/:userId

Obtém detalhes de um usuário específico.

curl 'https://iam.stg.catalisa.app/api/v1/users/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": {
"type": "users",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"email": "usuário@exemplo.com",
"status": "ativo",
"mfaEnabled": false,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
},
"links": {
"self": "/api/v1/users/550e8400-e29b-41d4-a716-446655440000"
}
}
}

Atualizar Usuário

PATCH /api/v1/users/:userId

Atualiza dados de um usuário.

Request

CampoTipoObrigatórioDescrição
emailstringNãoNovo email
statusstringNãoNovo status
mfaEnabledbooleanNãoHabilitar/desabilitar MFA
curl -X PATCH 'https://iam.stg.catalisa.app/api/v1/users/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"status": "inativo"
}'

Response (200 OK)

{
"data": {
"type": "users",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"email": "usuário@exemplo.com",
"status": "inativo",
"mfaEnabled": false,
"updatedAt": "2024-01-15T11:00:00Z"
}
}
}

Excluir Usuário

DELETE /api/v1/users/:userId

Remove um usuário do sistema.

curl -X DELETE 'https://iam.stg.catalisa.app/api/v1/users/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (204 No Content)

Sem corpo de resposta.


Erros Comuns

CódigoErroDescrição
400VALIDATIONEmail inválido ou senha muito curta
401UNAUTHORIZEDCredenciais de login inválidas
404NOT_FOUNDUsuário não encontrado
409CONFLICTEmail já cadastrado