コンテンツにスキップ

API の紹介

SpacePost API は、Resend API と互換性のある JSON REST API です。エンドポイントの完全な一覧は、OpenAPI 仕様から生成された API リファレンスをご覧ください。

https://api.spacepost.dev

パスはルート直下です(/emails、/domains など)。/v1 プレフィックスも使えます。https://api.spacepost.dev/v1/emails は同じエンドポイントです。クライアントの都合のよい方を使ってください。

すべてのリクエストで、API キーをベアラートークンとして送信します。

ターミナルウィンドウ
curl https://api.spacepost.dev/emails -H "Authorization: Bearer sp_live_YOUR_API_KEY"

キーは sp_live_ で始まります。full_access キーはすべてのエンドポイントを使え、sending_access キーはメールの送信のみ可能で、1 つのドメインに限定することもできます。セキュリティと API キーをご覧ください。

問題 レスポンス
Authorization ヘッダーがない 401 missing_api_key
存在しない、無効化された、または形式が不正なキー(Resend の re_ キーを含む) 403 invalid_api_key
送信以外のエンドポイントでの sending_access キー 401 restricted_api_key
  • Content-Type: application/json で JSON を送信します。不正な JSON は 422 validation_error を返します。
  • フィールドは snake_case です(reply_to、scheduled_at)。利便性のため、送信時には replyTo と scheduledAt も受け付けます。
  • ID は UUIDv7 の文字列で、作成日時順に並びます。これがページネーションの仕組みです。
  • タイムスタンプは UTC の ISO 8601 形式です(2026-10-23T14:02:09.512Z)。
  • リクエストに含まれる未知のフィールドは無視されます。

成功したレスポンスは、ステータス 200 の JSON です。リソースには、その種類を示す object フィールドがあります("email"、"domain" など)。一覧は { "object": "list", "has_more": false, "data": [] } の形式です。

エラーは、常に同じ形式です。

{ "statusCode": 422, "name": "validation_error", "message": "`to`: Invalid email address" }

すべての name については、エラーをご覧ください。

POST /emails と POST /emails/batch は Idempotency-Key ヘッダー(1 〜 256 文字、24 時間保持)を受け付けます。同じキーと同じボディなら、再送せずに最初のレスポンスが返ります。冪等キーをご覧ください。

チームごとに 1 秒あたり 10 リクエスト(Scale は 25)で、ratelimit-* ヘッダーで返されます。レート制限をご覧ください。

この API は Resend の現行の形式に従っており、日付付きのバージョンは使いません。既存のエンドポイントには後方互換性のある変更(任意フィールドの追加、レスポンスへのフィールド追加、新しいイベントタイプやエラー名)だけを加えます。クライアントは未知のフィールドを無視し、未知のエラー名も処理できるように作成してください。互換性を損なう変更は、新しいパスのプレフィックスで提供し、事前に変更履歴でお知らせします。

API は、API エクスプローラーから呼び出せるように、緩やかな CORS ヘッダーを返しますが、本物のキーを使ってブラウザから呼び出すことは絶対にしないでください。キーはサーバーに置くものです。