アプリの REST API と API ドキュメント
要点「管理」タブの「API」では、アプリのテーブルを、ほかのソフトウェアから呼び出せる REST エンドポイントにできます。レコードの一覧、取得、作成、更新、削除が可能です。テーブル、項目、呼び出せる人(読み取りなら誰でも、またはプロジェクトの API キーを持つ呼び出し元だけ)を選び、「エンドポイントを公開」でオンにします。共有したくなったら「ドキュメントを公開」を押すと、開発者向けの API リファレンスページと OpenAPI ファイルが公開されます。
ほかのソフトウェアがアプリのデータを必要とすることがあります。あなたの商品を掲載するパートナーのサイト、新しい注文を取り込むスプレッドシート、スマートフォンアプリ、Zapier や n8n のような自動化ツールなどです。こうしたソフトウェアは API を通じてアプリとやりとりします。API とは、ページの代わりにデータを返す Web アドレス(エンドポイント)の集まりです。REST API はその中で最も一般的な種類です。
MonstarX なら、コードを書かずに REST API を作れます。共有するものを選べば数秒で使えるようになり、開発者が読めるリファレンスページも付いてきます。
どこにありますか?
Section titled “どこにありますか?”プロジェクトを開き、上部のバーで 管理 をクリックし、管理画面のサイドバーで API をクリックします。プロジェクト API が表示されます。一番上には API ドキュメントを公開する API リファレンス のバー、左側にはエンドポイントの一覧(それぞれ 稼働中 か 下書き の表示付き)、その下に API キー があります。
エンドポイントを作るには?
Section titled “エンドポイントを作るには?”-
管理API で 新しいエンドポイント(または エンドポイント の横の +)をクリックします。
-
データ を選びます。エンドポイントが扱うテーブルで、たとえば Recipes です。
-
操作 を選びます。
操作 メソッドとアドレス 内容 一覧 GET /recipesレコードを1ページずつ返します。 取得 GET /recipes/{id}ID を指定して1件のレコードを返します。 作成 POST /recipesレコードを追加します。 更新 PATCH /recipes/{id}レコードの一部の項目を変更します。 削除 DELETE /recipes/{id}レコードを削除します。 -
名前、URL パス、必要なら 説明 を入力します。これらは API ドキュメントに表示されます。
-
公開する項目 で、呼び出し元が見たり送ったりしてよい項目だけにチェックを入れます。チェックを入れなかった項目は非公開のままです。パスワードやトークンのような機密性の高そうな項目は、常に除外されます。
-
アクセス で、呼び出せる人を選びます(下記参照)。
-
エンドポイントを公開 にチェックを入れ、保存してエンドポイントを公開 をクリックします。公開したエンドポイントは 稼働中 になり、すぐにリクエストに応答します。チェックを入れずに エンドポイントを保存 を押すと、下書き のまま保存されます。
一覧では、各エンドポイントに 稼働中 か 下書き と表示されます。エンドポイントを編集 の下にも同じ表示があり、保存するまでは 未保存の変更 が続きます。削除せずにオフラインにするには、エンドポイントを公開 のチェックを外して保存します。削除 を押すと削除されます。
エンドポイントを呼び出せるのは誰ですか?
Section titled “エンドポイントを呼び出せるのは誰ですか?”| アクセス | 呼び出せる人 | 使える操作 |
|---|---|---|
| 公開読み取り | アドレスを知っている人なら誰でも。 | 一覧 と 取得 のみ |
| プロジェクト API キー | プロジェクトの API キーを送る呼び出し元だけ。 | すべての操作 |
データを変更するエンドポイントには、必ずキーが必要です。
API キーを作るには?
Section titled “API キーを作るには?”-
管理API で API キー をクリックします。
-
「レシピウィジェットのサーバー」のように、キーを使う場所がわかる名前を入力し、キーを作成 をクリックします。
-
すぐにキーをコピーします。キーは
mxapi_で始まり、後から表示することはできません。パスワード管理ツールや、使う側のサービスのシークレットなど、安全な場所に保管してください。
1つのキーで、プロジェクト内のキーで保護されたすべてのエンドポイントを開けます。サービスごとに別々のキーを渡しましょう。キーを無効にするには 無効化 をクリックします。そのキーを使っているものは、すぐに動かなくなります。
呼び出し元は、キーを Authorization ヘッダーで送ります:Authorization: Bearer mxapi_…。
エンドポイントを試すには?
Section titled “エンドポイントを試すには?”エンドポイントを開いて テスト をクリックします。必要に応じて レコード ID、Bearer キー、JSON 本文 を入力し、リクエストを送信 をクリックします。状態(200 なら成功)、かかった時間、返ってきた内容が表示されます。キーが必要なエンドポイントでは、API キー で作ったキーを Bearer キー に貼り付けます。
テストは本物の稼働中のエンドポイントに送られるため、次の点に注意してください。
- 下書きはまだテストできません。 「テスト」タブに このエンドポイントは下書きです と表示されます。そこで 保存してエンドポイントを公開 をクリックすれば、公開してテストできます。
- 先に変更を保存してください。 未保存の変更があると、「テスト」タブでテストの前に保存するよう求められ、エンドポイントを保存 ボタンが表示されます。
作成、更新、削除 のテストは、本物のデータを変更します。
「コード」タブには、コピーしてすぐ使える cURL コマンドと、Postman や Insomnia などの API ツールに取り込める OpenAPI JSON ファイルがあります。
API ドキュメントを公開・共有するには?
Section titled “API ドキュメントを公開・共有するには?”API ドキュメントは、開発者向けの API リファレンス ページです。稼働中のすべてのエンドポイント、その項目、キーが必要かどうか、試す 欄、cURL の例が載っています。エンドポイントを公開してもドキュメントは公開されないので、共有するタイミングは自分で決められます。
-
エンドポイントを1つ以上公開し、変更を保存します。それまでは、管理API の上部にある API リファレンス のバーに 非公開 と表示され、足りないものが示されます。
-
ドキュメントを公開 をクリックします。
-
バーの表示が 公開中 に変わります。ドキュメントのリンクをコピー でアドレスを共有するか、API キー の下の API ドキュメントを開く でページを確認します。アドレスは
https://monstarx.com/api-docs/<your project id>のような形です。
ページの最初には、プロジェクトの名前と説明、掲載しているエンドポイントの数、プロジェクト ID、ベースアドレスが表示されます。リンクを知っている人なら誰でも読めますが、検索エンジンには登録しないよう指示されます。表示されるのは稼働中のエンドポイントだけで、キーが表示されることはありません。上部の OpenAPI JSON から、同じ内容をファイルとして取得できます。
ドキュメントを取り下げるには、ドキュメントを非公開にする をクリックします。ページと OpenAPI ファイルは使えなくなりますが、エンドポイントは応答し続けます。すべてのエンドポイントをオフラインにした場合もドキュメントは非公開になるので、準備ができたらもう一度公開してください。
リクエストと応答はどのような形ですか?
Section titled “リクエストと応答はどのような形ですか?”すべてのエンドポイントは https://monstarx.com/api/rest/<your project id> の後に、それぞれのパスを付けたアドレスにあります。
curl 'https://monstarx.com/api/rest/<project id>/recipes?page=1&limit=25'{ "data": [ { "id": "41a6…", "title": "Street tacos al pastor", "country_code": "MX" } ], "page": 1, "limit": 25, "hasMore": false}limit は1ページあたりのレコード数で 1〜100(省略すると 25)、page は 1〜100 です。hasMore は次のページがあるかどうかを示します。
curl -X POST 'https://monstarx.com/api/rest/<project id>/recipes' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY' \ -H 'Content-Type: application/json' \ -d '{"title": "Lemon ricotta pancakes", "country_code": "IT"}'応答(状態 201)には、data の下に新しいレコードとその id が入っています。
curl -X PATCH 'https://monstarx.com/api/rest/<project id>/recipes/RECORD_ID' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY' \ -H 'Content-Type: application/json' \ -d '{"title": "Fluffy lemon ricotta pancakes"}'
curl -X DELETE 'https://monstarx.com/api/rest/<project id>/recipes/RECORD_ID' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY'更新 は変更後のレコードを返し、削除 は { "deleted": true } を返します。
送る内容のルール:
Content-Type: application/jsonの JSON オブジェクトで、64 KB まで。- 公開する項目だけを、それぞれ単純な値で送ります。テキスト(20,000文字まで)、数値、
true/false、nullのいずれかです。 - ID を設定・変更することはできません。「管理」で読み取り専用になっている項目も同じです。
問題があると、応答には error のメッセージと状態コードが入ります。400(リクエストが正しくない)、401(有効なプロジェクト API キーが必要)、403(そのテーブルや操作が「管理」で許可されていない)、404(該当するエンドポイントやレコードがない)、409(重複などの競合)、413(応答が 1 MB を超える。公開する項目を減らすか、1ページの件数を減らしてください)。
よくある質問
Section titled “よくある質問”「ドキュメントを公開」を押せないのはなぜですか?
ドキュメントを公開するには、稼働中のエンドポイントが1つ以上あり、未保存の変更がないことが必要です。エンドポイントで エンドポイントを公開 にチェックを入れ、保存してエンドポイントを公開 をクリックしてから、ドキュメントを公開 を押してください。
API を使うには、アプリを公開する必要がありますか?
必要ありません。API はプロジェクトのデータベースを直接読み書きするので、エンドポイントを公開した時点で使えます。プレビューや公開中のアプリと同じデータを使い、作成も AI もクレジットも不要です。
Web サイトからブラウザで API を呼び出せますか?
はい、どの Web サイトからでもエンドポイントを呼び出せます。Web ページからは 公開読み取り のエンドポイントを使い、キーが必要な呼び出しはサーバーで行って、キーを秘密に保ちましょう。
API キーをなくしてしまいました。もう一度表示できますか?
できません。キーは一度しか表示されません。新しいキーを作り、サービスをそのキーに切り替えてから、古いキーを 無効化 してください。
エンドポイントを公開できないのはなぜですか?
作成、更新、削除 の場合は、先に「管理」でそのテーブルの該当する操作を有効にしてください。また、公開中のデータベースが自分の Cloudflare アカウントで動いているアプリでは、MonstarX からエンドポイントを公開できません。MonstarX 側のデータベースには、プレビュー用の練習データが入っているためです。
データが変わったときに Webhook を受け取れますか?
リクエストに応答するだけの「管理 → API」ではできません。「注文が入ったら、このアドレスに POST して」のように、アプリに Webhook を追加するよう MonstarX に頼んでください。