Skip to main content
Every SDK publishes through one HTTPS endpoint. Most applications use a generated client and never call it directly, but it is all you need from a language without an SDK, a script, or curl.

Publish an event

Authentication is a Bearer token with the publish scope. The Idempotency-Key header (up to 255 characters) is optional but recommended; it is what makes retries safe. A successful publish returns 202 Accepted with the message:
202 means Repost has stored the event durably and will deliver it. Fan-out, signing, and retries happen after this point and are covered under delivery.

Idempotency

To make sure an event is sent exactly once even when your side crashes and retries, set an idempotency key that names the business fact, such as order-1001-created, rather than a random value per attempt. Repost remembers each key for 24 hours together with the body it arrived with:
  • The same key with the same body returns the original message: 202, with an Idempotent-Replay: true header.
  • The same key with a different body is rejected with 422. A key refers to one event; hitting this response means a bug in your key logic.
  • The same key while the first attempt is still in flight gets 409 with Retry-After: 1. Retry a moment later to receive the replay.
With stable keys, queue redeliveries, crashed workers, and timeout-retry loops all collapse into a single delivered event.

Status codes

Retry 409, 429, 503, and network failures, always with the same idempotency key. The other errors indicate a problem in the request itself.

Continue

SDKs

Generated clients that handle these details for you.

Delivery & retries

How the accepted message reaches your customers.

Customers & endpoints

The management API for customers, endpoints, secrets, and replay.