애플리케이션 자격 증명 생성

POST /v1/applications/{application_id}/credentials · 권한 applications:write · Idempotency-Key 선택사항

애플리케이션에 자격 증명을 추가합니다: 플랫폼에서 생성된 클라이언트 시크릿(type: client_secret) 또는 private_key_jwt용 등록된 공개 키(type: public_key).

요청

매개변수 위치 설명
application_id yol Application id (app_…).

Body:

필드 유형 설명
type string Required. client_secret or public_key.
expires_at string (date-time) Optional, client_secret only; must be in the future.
jwk object Required for public_key; a public JWK, at most 16 KiB.

응답

201 Created with Cache-Control: no-store. The credential object as in the list response; for client_secret it also has client_secret.

{
  "id": "cred_0000000000000000000000001z",
  "type": "client_secret",
  "secret_last4": "abcd",
  "client_secret": "<shown once>",
  "expires_at": null
}

오류

HTTP code 언제
401 unauthenticated The key is missing, invalid or revoked.
403 insufficient_permissions The key lacks the required permission.
404 not_found The application does not exist in this environment.
409 credential_limit_reached The application already has the maximum number of active secrets (2) or keys (5).
409 conflict The same public key is already registered for the application.
422 validation_failed The body is invalid: unknown type, missing jwk, private JWK members, JWK too large, expires_at in the past or sent with public_key, or a credential type the application type does not allow (/type: not_allowed: client_secret only for web and m2m; public_key for web, m2m, device and management; spa and native are public clients and take no credentials).
503 service_unavailable The credential registry is temporarily unavailable; retry after the Retry-After delay.

예제

curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/credentials \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"type":"client_secret"}'