Skip to content
API PREVIEW · VERSION 0.1.0

Stampwing API reference preview

Explore Stampwing’s public API contract and a local example that sends no email. Customer accounts and hosted API access aren’t available yet.

Availability

Customer accounts and hosted API access aren’t available yet. We haven’t announced a launch date. This reference documents implemented interfaces, including features that still need a separate rollout.

The OpenAPI server uses a non-resolving .invalid placeholder. It isn’t a working API host. Private owner-session routes are excluded.

Authentication

Project API keys are bearer credentials scoped to a project, environment, and permissions. Workspace administration endpoints use a separate scoped workspace credential. A project key never grants owner access. Keep credentials on your server.

Sending and delivery

Use a stable idempotency key for each logical send and reuse it when retrying. A successful API request confirms acceptance for processing; receiving-server acceptance does not prove inbox placement. Test credentials simulate delivery.

Try a local example

Download the local email fixture. You’ll need Node.js 22 or later.

This fixture needs no account or API key and never sends email. It keeps synthetic messages in memory and implements only a small subset of the send/status protocol. It isn’t a complete implementation of the OpenAPI contract.

Local simulation — no email sentbash
# Download the linked email-mock-server.mjs, then run it in one terminal:
node email-mock-server.mjs

# In another terminal, create a simulated message:
curl -sS http://127.0.0.1:3027/api/v1/emails \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: preview-example-001' \
  --data '{"to":"reader@example.com","subject":"Local example","text":"This fixture sends no email."}'

The response contains a synthetic id, status queued, and mode demo. Repeat the request with the same key to retrieve the same message. Changing the body with that key returns an idempotency conflict. Restarting the fixture clears its data.

Keep building