S17studio seventeen
studio seventeen / developers.md

Studio Seventeen developer documentation

Read the public catalog and Markdown exports with a standard HTTP client. Newsletter actions require the recipient’s consent.

Read the catalog

No API key is needed. GET /api/v1/pages returns the page index. Add ?path=/omarchy to retrieve one page and its Markdown content.

curl https://studioseventeen.io/api/v1/pages

OpenAPI specification · Live JSON index · Markdown home page

Newsletter consent

POST /api/v1/subscribe accepts a JSON email field. Ask the user first. A pending_confirmation response means an email was sent, not that enrollment is complete. The recipient must confirm using the email link. Only subscribed:true means enrollment was verified. Do not put addresses or confirmation tokens in URL query strings or logs.

Errors and limits

Read requests have no application quota. Newsletter requests allow 10 per IP and 3 per address per hour, with a five-minute resend cooldown. A 429 response includes Retry-After. Errors contain an error string; newsletter failures also return success:false and subscribed:false. The specification defines each response.

Version policy

The /api/v1 routes are version 1. Existing /api routes remain compatible aliases. Breaking changes use a new version path. Any removal will have at least 90 days notice in these docs and a Sunset response header.

Local testing

Production is not a sandbox. Use a local website checkout with separate newsletter credentials, a test segment, a test key prefix, and an approved email allowlist. No separate CLI package or API keys are required to read public content; curl and standard HTTP libraries work.

Report a problem