OpenAPI reference · Workspace
One-call workspace overview
/workspaces/contextThe /workspaces/me block plus the workspace review gate and
up to 25 projects enriched with stored LinkedIn connection
health and posting streaks. The LinkedIn block reports the
STORED status as of lastValidatedAt — this endpoint never
probes LinkedIn live. projectsTruncated: true means the
workspace has more than 25 projects; page the rest via
GET /projects. Requires the workspace:read scope.
Authorization
AuthorizationstringrequiredBearer token in the Authorization header.
Pass
Authorization: Bearer scripe_sk_live_<...>(orscripe_sk_test_<...>for test keys) on every request. Keys are scoped to a single workspace and can be revoked from the Scripe dashboard.The same header also accepts an OAuth 2.1 access token (
scripe_oat_*); both credentials share one scope vocabulary and every operation below documents the scope it requires. An API key can hold every scope named on this surface exceptwebhooks:manage, which is grantable to OAuth tokens only today — the webhook-endpoint operations answer403 scope_missingto every API key. Operations that name no scope accept any valid token of the workspace.
Header parameters
Scripe-Api-VersionstringPin the API version. Format
YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return400 version_unsupported.
Responses
- 200
Workspace context pack.
- 401
Missing, malformed, expired, or revoked API key.
- 403
Plan not eligible, scope missing, or workspace mismatch.
- 429
Sliding-window rate limit exceeded.
Example request
curl --request GET \
--url 'https://api.scripe.io/v1/workspaces/context' \
--header 'Authorization: Bearer <token>'Example response (200)
{
"workspace": {
"id": "org_2abcDEF",
"name": "string",
"plan": "ADVANCED",
"features": {}
},
"principal": {
"type": "api_key",
"id": "key_a1b2c3d4e5f6g7h8",
"scopes": [
"string"
]
},
"requireReviewWorkflow": true,
"projects": [
{
"id": "proj_a1b2c3d4e5f6g7h8",
"name": "string",
"type": "PERSONAL_BRAND",
"typeLabel": "LinkedIn Account",
"status": "ACTIVE",
"username": "lukematthws",
"avatarUrl": "string",
"isActive": true,
"createdAt": "2026-08-10T09:00:00Z",
"linkedIn": {
"state": "revoked",
"canPublish": true,
"connectionStatus": "CONNECTED",
"lastValidatedAt": "2026-08-10T09:00:00Z",
"accessTokenExpiresAt": "2026-08-10T09:00:00Z",
"detail": "string",
"reconnectUrl": "string"
},
"streak": {
"currentStreak": 0,
"longestStreak": 0
}
}
],
"projectsTruncated": true
}