Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

before_id is the first_id from a previous response changedmanage-claude/compliance-integration-patterns

Nearest release: v2.1.307, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+6added
Lines−6removed
From line 29 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits11to this page, all time

The whole hunk

from line 29, old and new numbered
/
lines
from line 29
2929* Activities are queryable within 1 minute of occurring and retained for 6 years. Recording is not retroactive: it begins when the Compliance API is first enabled for your organization, and activity from before enablement is not backfilled.
3030* The maximum `limit` for each page is 5,000.
3131* Cursor values are opaque strings that you must not parse.
32* Requests are limited to 600 per minute per [parent organization](https://platform.claude.com/docs/en/manage-claude/compliance-api#how-the-compliance-api-works), shared across every key, every linked organization, and every `/v1/compliance/*` endpoint; unlike the local session endpoints, the remote session endpoints carry a second request budget on top. See [429 Too Many Requests](https://platform.claude.com/docs/en/manage-claude/compliance-errors#429-too-many-requests) for the response headers and retry contract.
32* Requests are limited to 600 per minute for each [parent organization](https://platform.claude.com/docs/en/manage-claude/compliance-api#how-the-compliance-api-works), shared across every key, every linked organization, and every `/v1/compliance/*` endpoint; unlike the local session endpoints, the remote session endpoints carry a second request budget on top. See [429 Too Many Requests](https://platform.claude.com/docs/en/manage-claude/compliance-errors#429-too-many-requests) for the response headers and retry contract.
3333 
3434| Pattern | Choose when |
3535| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
from line 43
4343```bash cURL
4444curl --fail-with-body -sS -G \
4545 "https://api.anthropic.com/v1/compliance/activities" \
46 --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
47 --header "anthropic-version: 2023-06-01" \
46 -H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
47 -H "anthropic-version: 2023-06-01" \
4848 --data-urlencode "created_at.gte=2026-04-20T07:00:00Z" \
4949 --data-urlencode "created_at.lt=2026-04-20T08:00:00Z" \
5050 --data-urlencode "limit=5000"
from line 64
6464# before_id is the first_id from a previous response
6565curl --fail-with-body -sS -G \
6666 "https://api.anthropic.com/v1/compliance/activities" \
67 --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
68 --header "anthropic-version: 2023-06-01" \
67 -H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
68 -H "anthropic-version: 2023-06-01" \
6969 --data-urlencode "limit=5000" \
7070 --data-urlencode "before_id=activity_01XyDMpzjS89pFZXqSFUBDr6"
7171```
7272 
73Page through until `has_more` is `false`, then persist `first_id` from the final response and pass it unchanged as `before_id` on the next run to retrieve activities newer than the saved cursor. To walk in the opposite direction for a backfill, persist `last_id` and pass it as `after_id` instead. For the full cursor-vs-page-token reference and retry semantics, see [Paginate results](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed#paginate-results).
73Page through until `has_more` is `false`, then persist `first_id` from the final response and pass it unchanged as `before_id` on the next run to retrieve activities newer than the saved cursor. To walk in the opposite direction for a backfill, persist `last_id` and pass it as `after_id` instead. For the full cursor-versus-page-token reference and retry semantics, see [Paginate results](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed#paginate-results).
7474 
7575A production **catch-up** loop fetches activities recorded since your last poll by driving iteration off `has_more` and `first_id`:
7676 
Feedback