Service Accounts
Service accounts and the keys that authenticate them.
curl -X GET "https://example.com/ext/hindclaw/me/service-accounts"[ { "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string" }]Authorization
HTTPBearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Self-service SA creation — owner is always the authenticated caller.
Response Body
application/json
application/json
curl -X POST "https://example.com/ext/hindclaw/me/service-accounts" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "display_name": "string" }'{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/ext/hindclaw/me/service-accounts/string"{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
curl -X DELETE "https://example.com/ext/hindclaw/me/service-accounts/string"Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Self-service SA update — only display_name is mutable.
Scoping policy and activation state are admin-only operations. An SA authenticates as its owner, so without this restriction an SA could remove its own scoping policy and escalate to the parent user's full permissions.
Response Body
application/json
application/json
curl -X PUT "https://example.com/ext/hindclaw/me/service-accounts/string" \ -H "Content-Type: application/json" \ -d '{ "display_name": "string" }'{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/ext/hindclaw/me/service-accounts/string/keys"[ { "id": "string", "api_key_prefix": "string", "description": "string" }]Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create an SA API key.
Response Body
application/json
application/json
curl -X POST "https://example.com/ext/hindclaw/me/service-accounts/string/keys" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "api_key": "string", "description": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
curl -X DELETE "https://example.com/ext/hindclaw/me/service-accounts/string/keys/string"curl -X GET "https://example.com/ext/hindclaw/service-accounts"[ { "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string" }]Authorization
HTTPBearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create a service account.
Response Body
application/json
application/json
curl -X POST "https://example.com/ext/hindclaw/service-accounts" \ -H "Content-Type: application/json" \ -d '{ "id": "string", "owner_user_id": "string", "display_name": "string" }'{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/ext/hindclaw/service-accounts/string"{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
curl -X DELETE "https://example.com/ext/hindclaw/service-accounts/string"Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to update a service account.
Response Body
application/json
application/json
curl -X PUT "https://example.com/ext/hindclaw/service-accounts/string" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "owner_user_id": "string", "display_name": "string", "is_active": true, "scoping_policy_id": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/ext/hindclaw/service-accounts/string/keys"[ { "id": "string", "api_key_prefix": "string", "description": "string" }]Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create an SA API key.
Response Body
application/json
application/json
curl -X POST "https://example.com/ext/hindclaw/service-accounts/string/keys" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "api_key": "string", "description": "string"}Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
curl -X DELETE "https://example.com/ext/hindclaw/service-accounts/string/keys/string"