API keys, webhooks & data export

card-ui field-ui input-ui tag-ui button-ui alert-ui

Two adjacent admin surfaces: API key + webhook management (04g), and data-export / account-portability (04i). Both compose existing primitives — the patterns are in the wiring, the security copy, and the destructive-action flow.

When to use

API keys: programmatic access to your account — server-side integrations, scripts, CI. Distinct from per-user OAuth tokens (account login flow); these are long-lived bearer tokens scoped to a workspace. Webhooks deliver events to a URL. Data export: GDPR / CCPA / SOC-2 compliance + workspace migration. The user requests, the system queues, an email arrives with a download link.

API keys list

The active-keys list. Each row carries a name, prefix (last 4 chars only — never the full secret), scope tag, last-used time, and a kebab menu (Rotate / Revoke). "Create key" header action.

API keys 3 active · last rotated 12 days ago
sk_live_…A4F2 · last used 4 minutes ago read · write sk_live_…9821 · last used 2 hours ago read sk_test_…7f0e · last used 18 days ago test

Create key — one-time reveal

The just-created key shown once. After this view closes, the secret is not retrievable; only the prefix shows in the list. Copy button + alert explaining the one-shot semantics.

Your new API key Copy it now — it won't be shown again
This is the only time we'll show this key. Store it in your secrets manager now. If you lose it, you'll need to revoke this key and create a new one.

Webhooks list

Endpoints + the events they subscribe to + last delivery status. Failed deliveries surface as a danger tag with a "Retry" affordance per row.

Webhooks 2 endpoints · 1 failing
5 events · last delivery 3 minutes ago 200 OK 3 events · last attempt 2 hours ago · 3 retries 503

Data export — request

Compliance / portability flow. User picks scope (full workspace vs. just my data) + format, the system queues the job, an email arrives with a download link. Async, not synchronous.

Export your data We'll email you when the archive is ready
Exports are usually ready within 1 hour. Large workspaces (≥ 1M records) can take up to 24 hours. We'll email kim@example.com with a download link valid for 7 days.

Export history

The user's recent export jobs. Status tags (Queued / Running / Ready / Expired). "Ready" rows show a Download button until the link expires; expired rows are still visible for audit but disabled.

Recent exports
Requested 12 minutes ago · 1.2M records Running Ready 2 hours ago · 4.2 MB · expires in 6 days Ready Ready 14 days ago · link expired Expired

Composition rules

See also