Pular para o conteúdo principal

Criar API Key

Metodo

POST https://oapi.ogmma.com.br/v1/api-keys

Conceituacao

Cria uma nova API key para a sua instituicao. Este endpoint requer autenticacao via JWT com role ADMIN (nao aceita autenticacao via API key).

Apos a criacao, a chave completa e retornada uma unica vez na resposta. Armazene-a em local seguro, pois nao sera possivel recupera-la posteriormente.

Atributos

AtributoTipoObrigatorioDescricao
AuthorizationstringSimBearer {JWT_TOKEN} - Token JWT de usuario com role ADMIN
Content-TypestringSimapplication/json

Body

AtributoTipoObrigatorioDescricao
namestringSimNome descritivo da chave. Minimo 3 caracteres, maximo 100 caracteres.
permissionsstring[]SimLista de escopos de permissao. Ex: ["messages.send", "channels.read"]
rateLimitnumberNaoLimite de requisicoes por minuto. Padrao: 60. Maximo: 1000.
expiresAtstringNaoData de expiracao no formato ISO 8601. Apos essa data, a chave sera automaticamente desativada.

Request

curl -X POST "https://oapi.ogmma.com.br/v1/api-keys" \
-H "Authorization: Bearer {JWT_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Integracao CRM",
"permissions": [
"messages.send",
"messages.read",
"conversations.read",
"contacts.read",
"contacts.write"
],
"rateLimit": 120,
"expiresAt": "2025-12-31T23:59:59.000Z"
}'

Response

201 - API key criada com sucesso

{
"success": true,
"data": {
"id": "6650a1b2c3d4e5f6a7b8c9d0",
"name": "Integracao CRM",
"key": "oapi_sk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"prefix": "oapi_sk_",
"permissions": [
"messages.send",
"messages.read",
"conversations.read",
"contacts.read",
"contacts.write"
],
"rateLimit": 120,
"expiresAt": "2025-12-31T23:59:59.000Z",
"createdAt": "2024-01-15T10:30:00.000Z"
}
}
Importante

O campo key e exibido apenas nesta resposta. Copie e armazene a chave em local seguro imediatamente. Apos essa resposta, nao sera possivel recuperar o valor completo da chave.

400 - Dados invalidos

{
"message": "Dados de entrada invalidos.",
"code": "VALIDATION_ERROR",
"errors": [
{
"path": "name",
"message": "O nome deve ter pelo menos 3 caracteres.",
"validation": "invalid_type"
}
]
}

401 - Nao autorizado

{
"message": "Token de autenticacao invalido ou ausente.",
"code": "AUTHENTICATION_REQUIRED"
}

403 - Permissao negada

{
"message": "Voce nao tem permissao para criar API keys. Role ADMIN necessaria.",
"code": "FORBIDDEN_PERMISSION"
}

429 - Rate limit excedido

{
"message": "Limite de requisicoes excedido. Tente novamente em alguns segundos.",
"code": "RATE_LIMIT_EXCEEDED"
}