Changelog

Product and developer-platform updates, newest first.

RSS

TypeScript SDK preview + developer docs portal

A hand-written TypeScript SDK now wraps the full 17-operation /v1 surface — open source and arriving on npm soon — and this developer docs portal launches with per-operation pages, error-code references, and an AI-readable llms.txt.

Added

  • @postify/sdk: a thin, typed TypeScript client covering all 17 /v1 operations — typed RFC 9457 errors, automatic Retry-After retries (never on unkeyed mutations), auto idempotency keys on POST /v1/posts, cursor auto-pagination, and a Standard Webhooks verifier. Open source, arriving on npm soon.
  • Developer docs on usepostify.com: a static page per operation, a page per error code (the exact URLs API problem `type` fields resolve to), the webhook event catalog, and this changelog.
  • llms.txt + llms-full.txt, plus a Markdown twin of every docs page at {url}.md — built for AI agents and answer engines.

Changed

  • The /developers page is the new front door for the API, SDK, webhooks, and MCP server.
Permalink

Outbound webhooks: Standard Webhooks signing, durable retries, failure ladder

Subscribe HTTPS endpoints to five event types. Every delivery is Standard-Webhooks-signed, retried on a durable 9-attempt schedule, and protected by a failure ladder that warns before auto-disabling a dead endpoint.

Added

  • /v1/webhook-endpoints: list, create, update, delete, and test-deliver webhook endpoints by API.
  • Five event types: post.published, post.failed, channel.connected, channel.reauth_required, delivery.failed.
  • Standard Webhooks signatures (webhook-id / webhook-timestamp / webhook-signature headers, `v1,` HMAC-SHA256 scheme) with show-once signing secrets and dual-signature rotation.
  • Durable retries: 9 attempts over ~31.7 hours (30s → 14h backoff); warning emails at 5/10/15 consecutive failures; auto-disable at 20.
  • SSRF gauntlet: delivery URLs are validated against private, loopback, link-local, and cloud-metadata address space — at creation and at every delivery.
  • Webhook endpoint management UI in Settings → Webhooks.
Permalink

Posts, media, analytics and usage endpoints + idempotency and plan metering

The /v1 surface grows to 17 operations: full post lifecycle, media uploads via presigned PUT, workspace analytics, and a usage meter — with a Postgres-backed idempotency ledger and per-plan API metering.

Added

  • Posts: list, create (draft / scheduled / publish-now), get, reschedule, delete, and publish — 12 new operations across posts, media, analytics, and usage.
  • Idempotency-Key on POST /v1/posts: a 24-hour ledger replays the original response verbatim (Idempotency-Replayed: true) and answers key reuse with a different body with 422 idempotency_key_reused.
  • Media uploads: POST /v1/media/uploads returns a presigned PUT URL; complete the upload to get a library asset usable in posts.
  • api_requests metering per plan, with distinct errors: 403 feature_not_enabled (plan lacks the API) vs 429 quota_exhausted (monthly allowance consumed).
  • Per-key burst limits derived from your plan, stamped at key mint and re-synced on billing events.

Changed

  • Dangerous operations (DELETE /v1/posts/{id}, POST /v1/posts/{id}/publish) return 403 dangerous_ops_disabled until an org owner enables them in Settings → API keys.
Permalink

Public API v1: /v1 launch with OpenAPI 3.1 + interactive reference

Postify's public REST API ships: organization API keys, RFC 9457 errors, IETF draft-11 rate-limit headers, an OpenAPI 3.1 spec generated from the same schemas the handlers validate with, and an interactive Scalar reference.

Added

  • GET /v1/channels — list your connected social accounts, the publish targets for every post.
  • Organization API keys (postify_live_…) minted in Settings → API keys, sent as Authorization: Bearer or x-api-key.
  • RFC 9457 application/problem+json errors with a stable machine-readable `code` and a `request_id` on every response.
  • IETF draft-11 RateLimit / RateLimit-Policy headers plus the X-RateLimit-* compatibility trio.
  • OpenAPI 3.1 spec at /v1/openapi.json and an interactive reference at app.usepostify.com/docs/api-reference.
Permalink