API reference

GET/v1/events

List audit events

Returns the audit trail for a profile: who did what, whether it came from a key, an agent, or a person.

Required permission: `posts:read`

Accepts `profileId` to target a specific profile. Omit it to use the key’s home profile.

Base URL
https://api.cutedyno.com
Permission
posts:read
Idempotency
Not applicable. This request has no side effects worth deduplicating.
MCP tool
list_events

Request

curl -X GET "https://api.cutedyno.com/v1/events?profileId=PROFILE_ID" \
  -H "Authorization: Bearer $CUTEDYNO_API_KEY"

Query parameters

profileIdstringoptional

Profile to act on. Defaults to the profile the API key was created in.

limitintegeroptional

Page size, 1-100. Defaults to 50.

offsetintegeroptional

Rows to skip. Defaults to 0.

Response

Returns 200 with the following body.

AuditEvent[]required
limitnumberrequired
offsetnumberrequired
profileIdstringrequired

Example

{
  "events": [
    {
      "id": "a1b2c3d4-0000-4000-8000-000000000000",
      "actorType": "api_key",
      "action": "string",
      "resourceType": "string",
      "resourceId": "resource_a1b2c3d4",
      "apiKeyId": "apiKey_a1b2c3d4",
      "userId": "user_a1b2c3d4",
      "metadata": null,
      "createdAt": "string"
    }
  ],
  "limit": 20,
  "offset": 0,
  "profileId": "profile_a1b2c3d4"
}

Errors

Failures use the standard error envelope. Branch on code, never on the message.

StatusCodeWhen it happens
401invalid_api_keyThe key does not exist, was revoked, or is malformed. Keys start with cdyn_live_.
403profile_not_accessibleThe requested profile is outside this key’s scope, or belongs to another account.
429rate_limit_exceededToo many requests for this key. Honour the Retry-After header before retrying.
500internal_errorSomething failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists.