Scripe API v1
Status: Public preview. Advanced and Business are the plans sold with API access; Enterprise and the grandfathered Agency tier carry the same entitlement, and an admin-assigned Trial workspace also clears the gate. Every other tier is rejected withThe Scripe API is a JSON REST API for reading and writing the same workspace data the Scripe dashboard does: posts, notes, the idea board, the content calendar, sources (transcriptions), the knowledge base, the media library, analytics, async AI jobs, and outbound webhooks. There are three ways in, and they share one scope vocabulary and one error contract:403 plan_not_eligible— seeworkspace.plan. We follow Scripe’s deprecation policy — breaking changes only ship in a new dated version with at least 90 days of overlap.
- REST with an API key — mint a
scripe_sk_*key in the dashboard and callhttps://api.scripe.io/v1/*. The fastest path for scripts and single-workspace integrations. Start below. - REST with OAuth 2.1 — for multi-tenant products acting on behalf of a Scripe user, with per-user consent and multi-workspace reach. See OAuth.
- MCP — point an MCP-compatible host (Claude, ChatGPT, Cursor, agent
frameworks) at
https://mcp.scripe.io/mcpand it drives the same capabilities as tools, with a two-phase confirmation that previews anything irreversible before it runs. See MCP.
Make your first call
- In the Scripe dashboard, switch to the workspace you want to integrate and open Settings → Developer → API keys → New API key. Copy the secret — it is shown exactly once.
- Verify the key resolves your workspace:
200 OK with your workspace’s id, plan, and principal info confirms
the key works. A 401 means the key is wrong or revoked — re-mint or
check the header. A 403 means your plan does not carry API access —
see plan_not_eligible; Advanced and
Business are the plans you can buy it on.
From here, a typical read is one more call:
posts:read scope on the key — tick it in
the key wizard. The authentication page covers scopes,
rotation, and revocation.
Base URLs
Authentication
Authorization header. Two
credentials are supported:
- API key
scripe_sk_*— single-workspace, minted in the dashboard. See Authentication. - OAuth 2.1 access token
scripe_oat_*— multi-tenant, on behalf of a Scripe user, can reach every workspace the user belongs to plus every client workspace billed to an agency they own. See OAuth.
webhooks:manage,
which is grantable to OAuth tokens only today — see
auth.md §Scopes for the exact catalogue.
API keys are a REST-only credential. The MCP transport accepts OAuth access tokens exclusively.
Versioning
Pin a date-stamped version on every request:2026-08-10 is the current version and the default when the header is
omitted. Omitting the header is fine for exploration but dangerous in
production — the default moves when we cut a new version, so pin
explicitly. The previous version 2026-08-01 is deprecated with sunset
on 2026-11-15. See Conventions § Versioning
for the changelog and deprecation policy.
Endpoint catalogue
Every endpoint, with the scope it requires. Full request/response schemas live in the OpenAPI reference tab; each resource’s page in this tab covers the semantics that don’t fit a schema. “any valid token” means the endpoint needs authentication but no particular scope.
Deliberately not on REST: publishing to LinkedIn now, permanent
deletion of notes/ideas/knowledge, removal of a media-library asset
(see Media), and settings writes. Those verbs are
irreversible or sensitive, so they exist only on the
MCP surface, behind a two-phase confirmation that
previews the action and an OAuth scope the user must grant by name.
Note that the confirmation is a preview contract, not a human gate —
putting a person between proposal and execution is the host’s job.
The machine-readable OpenAPI 3.1 spec backs the OpenAPI reference
tab of this site. Use it to generate clients — we recommend
openapi-generator or
@hey-api/openapi-ts.
Conventions
The same rules apply to every endpoint:- Pagination — opaque cursors, never page
numbers. Loop until
pagination.has_moreisfalse. - Errors — uniform envelope with stable
codeidentifiers; see the error reference for every code. - Rate limits — per-credential sliding 60-second windows: 120 reads/min, 30 writes/min, 10 job submissions/min.
- Resource IDs — every resource has a
typed prefix (
post_,note_,proj_,idea_,kb_, …). - Idempotency — ten write endpoints honour
Idempotency-Keyand replay the original response for 24h; every other write ignores the header.
Need help?
- Email [email protected] for integration questions.
- Email [email protected] for suspected key or token leaks. We respond within one business day.
- Status page: status.scripe.io.