Meet the new Scripe, live on October 7.Register

OpenAPI reference · Ideas

List ideas on the board

GET/ideas

Paginated compact idea-board list, newest first. status filters on the DERIVED board status (the linked post's workflow overrides the tail of the pipeline), so pages may return fewer items than limit when the filter is set. Requires the ideas:read scope.

Authorization

  • Authorizationstringrequired

    Bearer token in the Authorization header.

    Pass Authorization: Bearer scripe_sk_live_<...> (or scripe_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 except webhooks:manage, which is grantable to OAuth tokens only today — the webhook-endpoint operations answer 403 scope_missing to every API key. Operations that name no scope accept any valid token of the workspace.

Query parameters

  • projectIdstringrequired
  • statusstring

    Allowed values: inbox, in_production, review, done

  • cursorstring

    Opaque pagination cursor returned by the previous page.

  • limitinteger

    Page size. Default 25, max 100. Values above the max are clamped silently; only a non-integer or a value below 1 is rejected with bad_pagination.

    Default: 25

Header parameters

  • Scripe-Api-Versionstring

    Pin the API version. Format YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return 400 version_unsupported.

Responses

  • 200

    Page of ideas.

  • 400

    Malformed request (bad cursor, bad limit, etc.).

  • 401

    Missing, malformed, expired, or revoked API key.

  • 403

    Plan not eligible, scope missing, or workspace mismatch.

  • 404

    Resource not found in this workspace.

  • 429

    Sliding-window rate limit exceeded.

Example request

bash
curl --request GET \
  --url 'https://api.scripe.io/v1/ideas?projectId=<projectId>' \
  --header 'Authorization: Bearer <token>'

Example response (200)

json
{
  "data": [
    {
      "id": "idea_a1b2c3d4e5f6g7h8",
      "title": "string",
      "status": "inbox",
      "pillar": "string",
      "postType": "string",
      "funnelStage": "REACH",
      "assetFormat": "string",
      "hook": "string",
      "scheduledFor": "string",
      "source": "string",
      "awaitingInput": true,
      "linkedPost": {
        "id": "post_a1b2c3d4e5f6g7h8",
        "title": "string",
        "statusCategory": "string"
      },
      "createdAt": "string",
      "excerpt": "string"
    }
  ],
  "pagination": {
    "next_cursor": "string",
    "has_more": true,
    "total": 128
  }
}