Billing

Buy a per-project subscription

Creates a Creem checkout for a monthly subscription on ONE project — the same basic ($199) / pro ($299) products the dashboard sells. Returns checkout_url: surface it to your human, who completes payment in the browser (Creem is merchant of record; taxes at checkout). The project activates automatically via webhook on payment — poll GET /v1/subscription?project_id=... . Subscribed projects run audits/articles all-inclusive (no credit charges). Sandbox keys get 403 sandbox_not_billable (the trial is free by design). An already actively-subscribed project returns 409 already_subscribed.

post/v1/subscriptions

Request

  • Base URL: https://serp-agent.com
  • URL: https://serp-agent.com/v1/subscriptions
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Any unique string (max 200 chars). Retrying a request with the same key replays the stored response verbatim (with header Idempotent-Replayed: true) instead of re-executing — including one-time secrets in the original body. Keys are scoped per account (per client IP on the unauthenticated signup) and pruned after 24h. Reusing a key on a different endpoint returns 409 idempotency_conflict.

Request body

project_idstring required
plan_id'basic' | 'pro' required

basic = $199/mo, pro = $299/mo (see GET /v1/plans).

Response

Checkout created — hand checkout_url to a human to complete payment.

status'pending_payment' required
checkout_urlstring uri required

Hosted Creem checkout — a human completes payment here.

project_idstring required
plan'basic' | 'pro' required
notestring

Changes

No recorded changes to this operation across all 1 revision of this API.