Changelog
Breaking changes will be called out here with migration notes. Additive fields and new endpoints are preferred within a major version.
v1 — batch, Sandbox Hub, idempotencycurrent
July 2026
Added
- Login with ThreadzSocial — OAuth 2.0 authorization code:
GET /oauth/authorize,POST /oauth/token,GET /oauth/userinfo. Opaquestz_oauth_…tokens accepted on/api/v1/*(same scopes as keys; seller = authorizing user). See OAuth docs. POST /listings/batch— bulk create/upsert up to 25 listings per request (items[]). Partial success: per-indexok/error; metacreated,updated,failed,max_per_request. HTTP200if any succeed,422if all fail. See Listings.- Sandbox Hub (
/developers/sandbox) — signed-in view of sandbox API inventory with counts, status filters, and photo grid. Never on Discover. Linked from Developers home. Idempotency-Keyheader onPOST /listings— maps toexternal_id(max 128 chars); unique per seller + environment; retries upsert instead of duplicating; header must match bodyexternal_idwhen both are set.- Developers home health note for
GET /health(data.ok,data.dbreadiness signal).
v1.0.0 — initial public API
July 2026
Added
- Versioned base path
/api/v1with success/error envelopes GET /health— liveness + optional DB ping (ok,db,supabase_configured)GET /listings— live active feed (anonymous) or own sandbox inventory (sandbox key); cursor paginationGET /listings/{id}— listing detail with environment isolationPOST /listings,PATCH /listings/{id},DELETE /listings/{id}(archive) — scopelistings:write; optionalexternal_idupsertGET /profiles/{username}— public closet summaryGET /me— authenticated key owner profile- API keys:
stz_live_…/stz_sandbox_…, Bearer auth, scopes (read,listings:write), revoke, optional pepper hashing - Postgres-backed rate limits (shared across instances) with in-memory fallback; headers and
429 rate_limited - Outbound webhooks for listing events (
listing.created,listing.updated,listing.archived) withX-ThreadzSocial-SignatureHMAC — see Webhooks - CORS for GET/POST/PATCH/DELETE; app + key management at /developers/apps
- Public docs portal at /developers/docs
- Sandbox isolation for listings (
api_environment) and go-live milestones on developer apps - API Terms
Policy
- Deprecation: endpoints removed only after a deprecation notice in this changelog and a reasonable migration window within v1 when possible.
- Versioning: breaking surface changes move to
/api/v2(or a new major). - Sandbox first: production keys remain gated by milestones — see Go live.
Stay updated
- Developers home
- API Terms
- Spec source of truth for implementers:
specs/api-v1.mdin the repo