List what was done under a support-access grant
The support_access.list_actions operation: GET /api/v1/support_access_grants/{id}/actions in the REST API and the support_access_list_actions tool in the MCP server.
/api/v1/support_access_grants/{id}/actionsLists every request Ownrecord staff made under one support-access grant, newest first (spec §39.3): reads as well
as changes, each with the operation (action), the object it was about (target), the entity or brand, the mode
and the surface. Each entry is an audit log entry carrying the grant's ID; audit_log.list has the full entry,
including before and after snapshots of configuration changes. Pass next_cursor as starting_after for the
next page.
At a glance
- REST:
GET /api/v1/support_access_grants/{id}/actions - MCP tool:
support_access_list_actions - Operation ID:
support_access.list_actions - Scope: Organization
- Permission:
audit:read - Risk tier:
read - Dry run: Not supported
- Idempotency: Not needed (read only)
- Modes: Test and live
- Pagination:
limit(at most 100) andstarting_after - Authentication: API key with the
audit:readscope - Since: M12
Request
Path parameters
| Field | Type | Description |
|---|---|---|
id | sag_… ID | The grant. |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
limit | integer (1 to 100) | No | Page size, 1 to 100 (default 10). |
starting_after | aud_… ID | No | The next_cursor of the previous page. |
Response
200 OK with a JSON object, a page of the list (newest first):
| Field | Type | Description |
|---|---|---|
object | "list" | |
data | array of object | |
data[].object | "support_access_action" | |
data[].id | aud_… ID | The audit entry. |
data[].at | date-time | |
data[].action | string | What was done: the operation ID, e.g. customers.get (a read: the operation's reference says its risk tier) or customers.update. |
data[].target | string | The object it was about, e.g. cus_…, or the organization, entity or brand. |
data[].entityId | ent_… ID or null | |
data[].brandId | brd_… ID or null | |
data[].livemode | boolean or null | |
data[].via | one of console, api, mcp, assistant, portal, job or null | |
has_more | boolean | |
next_cursor | aud_… ID or null |
Examples
The staff member read a subscription and its customer
GET /api/v1/support_access_grants/sag_01m5wvkry1e6w94sjxgme33fs2/actions
Authorization: Bearer or_test_…
Response (200):
{
"object": "list",
"data": [
{
"object": "support_access_action",
"id": "aud_01m5wvkry1e6w94sjxgme33fsd",
"at": "2026-11-03T08:23:40.000Z",
"action": "customers.get",
"target": "cus_01m5wvkry1e6w94sjxgme33fsj",
"entityId": "ent_01m5wvkry1e6w94sjxgme33fsf",
"brandId": "brd_01m5wvkry1e6w94sjxgme33fsh",
"livemode": true,
"via": "console"
},
{
"object": "support_access_action",
"id": "aud_01m5wvkry1e6w94sjxgme33fsc",
"at": "2026-11-03T08:22:04.000Z",
"action": "subscriptions.get",
"target": "sub_01m5wvkry1e6w94sjxgme33fsm",
"entityId": "ent_01m5wvkry1e6w94sjxgme33fsf",
"brandId": "brd_01m5wvkry1e6w94sjxgme33fsh",
"livemode": true,
"via": "console"
}
],
"has_more": false,
"next_cursor": null
}
Errors
| Code | HTTP status | When | What to do |
|---|---|---|---|
resource_not_found | 404 | Your organization has no grant with this ID. | Check the ID and that your credentials are scoped to the right organization, entity, brand and mode. |
validation_failed | 400 | A pagination value is invalid, or starting_after isn't an entry made under this grant. | Fix the fields listed in details.issues and send the request again. |
permission_denied | 403 | You can't read the organization's access log (owners and admins can). | Ask an organization owner or admin for a role or scope that allows this action. |
It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.