What is the Compliance API?
The Compliance API gives Claude Enterprise organizations programmatic access to their organization’s retained activity — chats, files, projects, and users — for audit and governance. Unbound uses it to bring claude.ai usage into the same dashboards as your coding tools.
Where the Cowork integration streams telemetry to Unbound as it happens, the Compliance API is a pull: Unbound asks Anthropic for what has been retained since the last sync.
What you get
- Centralized observability — claude.ai chats show up in your Unbound dashboards next to Cowork, Claude Code, Cursor, and every other integrated tool.
- Audit trail — a record of retained claude.ai activity for compliance reviews, attributed to the user who sent it.
- One key, every organization — a key created for a Claude Enterprise parent organization covers every linked organization beneath it.
What Unbound imports
- claude.ai chats — prompts and responses, with the user they belong to.
- Chats appear under Logs with a tool type of claude.ai.
Unbound syncs once an hour, picking up chats created or updated since the previous run. This is not a live feed: a chat sent now shows up on the next sync, not within seconds.
Prerequisites
- Claude Enterprise organization. The Compliance API is not available on Team plans, and a standalone Claude Console organization can reach the Activity Feed only.
- Primary owner of the parent organization, or an organization owner for a key covering a single organization.
- The Compliance API enabled for your organization at claude.ai → Organization settings → API. Enablement happens at the parent organization and cascades to every linked organization.
Setup
1. Create a Compliance Access Key
-
Sign in to claude.ai as the primary owner or an organization owner.
-
Go to Organization settings → API and find the Keys section.
-
Click Create key, name it, and select both of these scopes:
-
Click Create, then copy the key. It starts with
sk-ant-api01- and is shown only once.
A Compliance Access Key can read every chat, file, project, and session transcript in every linked organization, including content the primary owner has not seen. Treat it like a production database credential. Do not grant delete:compliance_user_data — Unbound never deletes and does not need it.
Scopes are immutable after creation. To change them, create a new key and delete the old one.
2. Add the key in Unbound
- Open the Unbound dashboard and go to Settings → Integrations.
- On the Anthropic card, paste the Compliance Access Key.
- Save. Unbound checks the key immediately by listing a single chat, so a key without
read:compliance_user_data is rejected on the spot.
Verification
- After saving, the Anthropic card shows a Last synced time once the first sync completes.
- Open Logs and filter by the claude.ai tool type — your chats appear there.
If nothing shows up:
- Give it up to an hour. The sync is hourly, so a chat sent just now waits for the next run.
- Confirm the key also carries
read:compliance_org_data. Only read:compliance_user_data is exercised when you save, so a key missing the organization scope is accepted but cannot enumerate your linked organizations.
- Confirm the Compliance API is still enabled in claude.ai. While it is off, no new activity is recorded, and activity from that period cannot be recovered later.
- Confirm the key has not been deleted in claude.ai. Deletion takes effect on the next request, with no grace period.