key value. Treat the body as secret-bearing.GET /v1/communities/{communityId}/api-keys → match by name → store permissions, never logs of data[].key.limit must be <= 100. Replace <communityId> with the 24-character community ObjectId.Authorization: Bearer <COMMUNITY_API_KEY>. The managing key must belong to that community. Keep it server-side.message is Get API keys success. Envelope { meta, message, data }. meta includes statusCode: 200, total, page, limit.data[] item includes _id, communityId, name, key, permissions, expirePeriod, createdAt, updatedAt.limit above 100 returns Get API keys error. with detail.limit: Number must be less than or equal to 100.key values into docs, tickets, or examples.200. data is an array. This GET is the readback after create/update/delete: match _id or name.expirePeriod: 0 means no expiry.data[].key is present, redact it in logs. Listing is enough to leak every community key the caller can see.| Status | When | Recovery |
|---|---|---|
400 limit too large | limit > 100 | Send limit 1–100. |
401 | Missing or invalid Bearer token | Add a valid community key. |
/v1/users/apikeys, /v1/api-key-info) are not mounted on this gateway.GET /v1/api-key-info is not a substitute for this list.sendMessage, getUserData), not user-key names (sendMessages).curl --location 'https://adss-integration.returning.ai/apis/v1/communities//api-keys?page=1&limit=20'{
"meta": {
"status": "success",
"statusCode": 200,
"total": 5,
"page": 1,
"limit": 20
},
"message": "Read API keys success.",
"data": [
{
"_id": "675b9876fedc432109876543",
"name": "Slack Integration API Key",
"key": "<apiKey>",
"permissions": [
"sendMessage",
"replyMessage",
"createUser",
"manageUser",
"getUserData",
"getUserStats",
"bulkUpdateUser",
"userFields"
],
"expirePeriod": 0,
"expireDate": "",
"updatedAt": "2024-12-15T10:30:45.123Z",
"createdAt": "2024-12-15T10:30:45.123Z"
},
{
"_id": "675c1122aabb334455667788",
"name": "Payment Webhook Service",
"key": "<apiKey>",
"permissions": [
"sendMessage",
"replyMessage",
"createUser",
"manageUser",
"getUserData",
"getUserStats",
"bulkUpdateUser",
"userFields"
],
"expirePeriod": 365,
"expireDate": "2025-12-15T23:59:59.000Z",
"updatedAt": "2024-12-10T16:42:18.789Z",
"createdAt": "2024-12-10T09:15:30.456Z"
},
{
"_id": "675d2233ccdd445566778899",
"name": "Development Testing Key",
"key": "<apiKey>",
"permissions": [
"sendMessage",
"replyMessage",
"createUser",
"manageUser",
"getUserData",
"getUserStats",
"bulkUpdateUser",
"userFields"
],
"expirePeriod": 30,
"expireDate": "2025-01-14T23:59:59.000Z",
"updatedAt": "2024-12-14T14:20:12.345Z",
"createdAt": "2024-12-14T14:20:12.345Z"
}
]
}