> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getunbound.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic Compliance API

> Import claude.ai chat activity into Unbound for organization-wide observability and audit trails

## What is the Compliance API?

The [Compliance API](https://platform.claude.com/docs/en/manage-claude/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](/integrations/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

1. Sign in to [claude.ai](https://claude.ai) as the primary owner or an organization owner.

2. Go to **Organization settings → API** and find the **Keys** section.

3. Click **Create key**, name it, and select both of these scopes:

   | Scope                       | Grants                                                            |
   | --------------------------- | ----------------------------------------------------------------- |
   | `read:compliance_user_data` | Chats, messages, Cowork and Claude Code sessions, and user emails |
   | `read:compliance_org_data`  | Organization metadata — names, types, roles, and groups           |

4. Click **Create**, then copy the key. It starts with `sk-ant-api01-` and is shown **only once**.

<Warning>
  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.
</Warning>

Scopes are immutable after creation. To change them, create a new key and delete the old one.

### 2. Add the key in Unbound

1. Open the Unbound dashboard and go to **Settings → Integrations**.
2. On the **Anthropic** card, paste the Compliance Access Key.
3. 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

1. After saving, the **Anthropic** card shows a **Last synced** time once the first sync completes.
2. 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.
