Pular para o conteúdo principal

Chaves de API

Gerenciamento completo de chaves de API para acesso programático à plataforma.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/api/v1/api-keysCriar nova chaveAPI_KEYS_CREATE
GET/api/v1/api-keysListar chavesAPI_KEYS_READ
GET/api/v1/api-keys/:idObter chave por IDAPI_KEYS_READ
PATCH/api/v1/api-keys/:idAtualizar metadadosAPI_KEYS_UPDATE
POST/api/v1/api-keys/:id/rotateRotacionar chaveAPI_KEYS_ROTATE
POST/api/v1/api-keys/:id/revokeRevogar chaveAPI_KEYS_DELETE
DELETE/api/v1/api-keys/:idExcluir permanentementeAPI_KEYS_DELETE
GET/api/v1/api-keys/:id/usageEstatísticas de usoAPI_KEYS_READ_USAGE

Criar Chave

POST /api/v1/api-keys

Cria uma nova chave de API. O segredo completo (key) só é retornado uma única vez nesta resposta.

Request

CampoTipoObrigatórioDescrição
namestringSimNome da chave (1-100 caracteres)
descriptionstringNãoDescrição (até 500 caracteres)
expiresAtdatetimeNãoData de expiração (ISO 8601)
curl -X POST 'https://api-keys.stg.catalisa.app/api/v1/api-keys' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Integração CRM",
"description": "Chave para sincronização de clientes",
"expiresAt": "2026-12-31T23:59:59Z"
}'

Response (201 Created)

{
"data": {
"type": "api-key",
"id": "550e8400-e29b-41d4-a716-446655440000",
"links": {
"self": "/api/v1/api-keys/550e8400-e29b-41d4-a716-446655440000"
},
"attributes": {
"name": "Integração CRM",
"description": "Chave para sincronização de clientes",
"prefix": "sk_a1b2c3d4",
"status": "ACTIVE",
"expiresAt": "2026-12-31T23:59:59Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
"key": "sk_a1b2c3d4.segredo_completo_aqui"
}
Atenção

O campo key só é retornado uma única vez no momento da criação. Armazene-o em local seguro imediatamente.


Listar Chaves

GET /api/v1/api-keys

Lista todas as chaves da organização com suporte a paginação.

Query Parameters

ParâmetroTipoDescrição
pageintegerNúmero da página
pageSizeintegerItens por página
curl 'https://api-keys.stg.catalisa.app/api/v1/api-keys' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "api-key",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "Integração CRM",
"prefix": "sk_a1b2c3d4",
"status": "ACTIVE",
"expiresAt": "2026-12-31T23:59:59Z",
"lastUsedAt": "2024-01-15T14:00:00Z",
"createdAt": "2024-01-15T10:30:00Z"
}
}
],
"meta": {
"totalItems": 1,
"totalPages": 1,
"currentPage": 1,
"itemsPerPage": 20
}
}

Obter Chave por ID

GET /api/v1/api-keys/:id

Obtém os detalhes de uma chave específica.

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

Atualizar Chave

PATCH /api/v1/api-keys/:id

Atualiza os metadados de uma chave existente.

Request

CampoTipoDescrição
namestringNovo nome (1-100 caracteres)
descriptionstring | nullNova descrição
curl -X PATCH 'https://api-keys.stg.catalisa.app/api/v1/api-keys/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Integração CRM v2",
"description": "Chave atualizada para nova versão do CRM"
}'

Rotacionar Chave

POST /api/v1/api-keys/:id/rotate

Gera um novo segredo para a chave. O segredo antigo continua válido durante o período de carência (gracePeriodHours), permitindo migração sem downtime.

Request

CampoTipoPadrãoDescrição
gracePeriodHoursnumber24Período de carência em horas (1-168)
curl -X POST 'https://api-keys.stg.catalisa.app/api/v1/api-keys/550e8400-e29b-41d4-a716-446655440000/rotate' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"gracePeriodHours": 48
}'

Response (200 OK)

{
"data": {
"type": "api-key",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "Integração CRM",
"prefix": "sk_e5f6g7h8",
"status": "ACTIVE"
}
},
"key": "sk_e5f6g7h8.novo_segredo_aqui",
"gracePeriodEnds": "2024-01-17T10:30:00Z"
}

Revogar Chave

POST /api/v1/api-keys/:id/revoke

Revoga uma chave, impedindo qualquer nova autenticação imediatamente. O histórico de uso é mantido.

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

Excluir Chave

DELETE /api/v1/api-keys/:id

Remove permanentemente uma chave de API.

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

Response (204 No Content)

Sem corpo de resposta.


Erros Comuns

CódigoErroDescrição
400VALIDATIONCampos obrigatórios ausentes ou inválidos
404NOT_FOUNDChave não encontrada
409CONFLICTNome de chave já existe na organização
409CONFLICTChave já revogada