開発者設定では、Exayard を自社のコードや他社が開発したアプリと連携できます。設定から開発者を開いてください。設定メニューにこの項目が表示されるのは会社の管理者のみです。メンバーがこのページを開いた場合は、内容を閲覧できますが変更はできません。
アプリ、API キー、Webhook、ログは、無料プランを含むすべてのプランで利用できます。料金が発生するのは AI 処理のみです。
アプリ
アプリとは、「Acme estimator」や「Nightly sync」のような自社の連携の 1 つです。すべての API キーはいずれかのアプリに属します。アプリはページの最初のセクションです。すべてのメンバーが閲覧できますが、アプリの作成や変更を行えるのは管理者のみです。
新しいアプリをクリックし、名前、説明、ホームページ、サポート用メールアドレス、スコープを入力します。スコープは read:projects や write:estimates のように、リソースごとに読み取りと書き込みに分かれています。アプリは admin:org スコープを要求できません。1 つの会社で作成できるアプリは最大 25 個です。
各アプリには、作成日時と、「会社ごとに 1 分あたり最大 60 リクエスト、全体で 600 リクエスト」のようなレート制限が表示されます。アプリのその他の操作メニューには次の項目があります。
編集では、アプリの詳細とスコープを変更します。
Webhook では、アプリをインストールしたすべての会社からイベントを受け取る 1 つのアドレスを設定します。
アプリを削除では、アプリを削除し、そのキーをすべて無効化します。インストールしていたすべての会社がアクセスを失います。
API キー
API キーを使うと、自社のコードから Exayard API を呼び出せます。キーはアプリの中のキーにあります。キーはそのアプリが属する会社で有効なため、会社 ID を渡す必要はありません。
キーを作成するには、アプリ内の新しいキーをクリックします。キーに「Production」のような名前を付けます。スコープでは、アプリが持つすべてのスコープを付与する場合はすべてを、一部だけを選ぶ場合は指定を選択します。短期間の作業に使うキーであれば、任意で有効期限の日付を設定します。キーはその日の終わりまで有効です。作成をクリックします。
Exayard はキー全体を一度だけ表示します。二度と表示されないため、その場でコピーしてください。Exayard はキーを復元できない形で保存するため、紛失したキーは取り戻せません。新しいキーを作成し、古いキーを無効化してください。
キーは exa_live_ で始まります。サンドボックスで作成したキーは exa_test_ で始まります。作成後、キーには名前、exa_live_...AbCd のようなプレビュー、最終使用日または未使用が表示されます。有効期限のあるキーには有効期限とその日付が表示され、期限が過ぎたキーには期限切れと表示されます。
1 つのアプリで有効にできるキーは最大 25 個です。期限切れのキーも、無効化するまでは数に含まれます。中断なくキーを切り替えるには、2 つ目のキーを作成してサーバーをそちらに移行してから、最初のキーを無効化します。
キーのキーの操作メニューを開くと、名前を変更または無効化を行えます。無効化は元に戻せず、キーは 30 秒以内に使えなくなります。
キーが公開コードリポジトリなどの公開の場で見つかった場合、Exayard はそのキーを無効化し、管理者にメールで通知したうえで、公開場所で検出、無効化済みと表示して一覧に残します。
他の会社が自社のアプリをインストールしている場合は、新しいキーのダイアログに使用できる会社も表示されます。既定はこの会社です。このアプリをインストールしたすべての会社を選ぶと、自社サーバーがそれぞれの会社で使用するキーが作成されます。その場合、各呼び出しでは対象の会社を Exayard-Organization-Id ヘッダーで指定します。
同じキーでノーコードツールとも接続できます。Exayard を Zapier に接続する、Exayard を Make に接続する、Exayard を n8n に接続するをご覧ください。AI アシスタントについては、Exa を AI アシスタントに接続するをご覧ください。
旧形式のキー
キーがアプリに属するようになる前に作成されたキーは ak_ で始まります。引き続き使用できますが、新しく作成することはできません。これらのキーはページ下部の旧形式のキーに、キーが存在する場合のみ表示されます。
管理者には、作成者に関係なく、会社のすべてのキーがここに表示されます。他の人が作成したキーには作成者とその人の名前が表示されます。各ユーザーには自分の個人用キーも表示されます。ゴミ箱アイコンをクリックすると、キーを無効化できます。キーはただちに使えなくなります。
サンドボックス
サンドボックスとは、自社の会社にリンクされたテスト用の会社です。実際のプロジェクトに影響を与えずに、連携の開発とテストを行えます。サンドボックスが表示されるのは管理者のみです。
新しいサンドボックスをクリックし、名前を付けて作成をクリックします。1 つの会社で作成できるサンドボックスは最大 5 個です。開くをクリックするとサンドボックスに切り替わり、会社の切り替えメニューにサンドボックスと表示されます。そこで通常どおりアプリとキーを作成します。キーは exa_test_ で始まります。本番に移行するには、実際の会社で同じアプリとキーを作成し、コード内のキーを差し替えます。
サンドボックスには自社の会社のプランが適用され、その利用料金は自社の会社が支払います。サンドボックス独自の請求はなく、独自の月間 AI 利用枠もありません。Webhook と連携は、実際の会社と同じように動作します。
サンドボックスからは、サンドボックス外の人に入札書の共有メールや署名済みのコピーは送信されず、SMS も送信されません。これらには「この会社はサンドボックスのため送信されませんでした」と表示されます。サンドボックスへの招待は通常どおり送信されます。
サンドボックスでの数量拾いとファイルの読み取りは、当社のサンプルプロジェクトからコピーした結果を無料で返します。数量拾い、そのページ、数量拾いの完了時に送信される Webhook には、サンプルであることを示すマークが付きます。見積、入札、要素検索、チャットも、無料でサンプルを返します。
サンドボックスを削除するには、その行の削除をクリックし、サンドボックスを削除をクリックします。サンドボックスは閉鎖され、そのキーは使えなくなり、データは後日消去されます。
Webhook
Webhook を設定すると、自社の会社で何かが起きたときに Exayard から自社サーバーに通知が送られます。すべてのメンバーが一覧を閲覧できますが、Webhook の追加や変更を行えるのは管理者のみです。
Webhook を作成をクリックし、配信を受け取る URL と、任意で説明を入力します。送信するイベントを選択します。新しいイベントも含めてすべてのイベントを受け取る場合はすべてを、一覧から選ぶ場合は指定を選択します。すべてのイベントとその内容は、Webhook イベントカタログに掲載されています。
Webhook を作成すると、Exayard は署名シークレットを一度だけ表示します。再表示されないため、その場でコピーしてください。
その他の機能は、Webhook のその他の操作メニューにあります。
編集では、URL、説明、イベントを変更し、ステータスを有効または一時停止中に設定します。一時停止中の Webhook には配信が行われません。このダイアログにはシークレットをローテーションもあります。古いシークレットはただちに無効になるため、先にサーバー側を更新してください。
テストイベントを送信では、選択したイベントの種類のイベントを 1 件送信します。ダイアログはサーバーの応答を待ち、結果とレスポンスコードを表示します。テストイベントには
"test": trueが含まれます。配信には、直近 25 件の配信が、イベント、ステータス、レスポンスコード、試行回数とともに一覧表示されます。配信のステータスは保留中、再試行中、配信済み、失敗のいずれかです。管理者は再送信をクリックして配信をもう一度送信できます。
Webhook を削除では、その URL への配信をすべて終了します。
テストイベントと再送信は一度だけ送信され、再試行されません。
Webhook 配信の保護
すべての配信には t=<unix>,v1=<digest> 形式の Exayard-Signature ヘッダーが含まれます。Exayard はタイムスタンプとリクエスト本文を連結し、Webhook のシークレットを使って HMAC-SHA256 で署名することで、この署名を生成します。
各配信には Exayard-Event-Id、Exayard-Event-Type、Exayard-Organization-Id の各ヘッダーも含まれます。JSON 本文には、イベントの発生元の会社を示す organizationId フィールドがあります。ヘッダーにも同じ ID が含まれるため、本文を読む前に配信を振り分けることができます。署名は organizationId を含む本文全体を対象としています。
すべての配信に会社が明示されるため、1 つの受信先アドレスで複数の会社に対応できます。各会社で同じ URL を登録し、organizationId で配信を振り分けてください。Webhook ごとにシークレットが異なるため、検証の前に Exayard-Organization-Id でシークレットを選択してください。
配信を検証するには、自社のシークレットで署名を再計算し、タイムスタンプが現在時刻から 5 分以内であることを確認したうえで、ダイジェストを比較します。
配信に失敗した場合は、約 80 時間にわたり合計最大 10 回まで、間隔を徐々に広げながら試行されます。毎回、同じ本文と同じイベント ID が送信されます。リダイレクトは失敗として扱われます。
他の会社にアプリをインストールしてもらう
アプリは作成した時点から自社の会社で動作します。各アプリには他の会社がこのアプリをインストールできるようにするという項目もあります。ここには、アプリが審査済み、審査を依頼済み、未審査のどれであるか、サインイン用アドレス、クライアント ID、インストールできる会社の数が表示されます。
管理者はインストールの操作メニューから次の操作を行えます。
サインイン用アドレスを編集では、アプリが Exayard アカウントでユーザーをサインインさせたあとに、Exayard がユーザーを戻すアドレスを設定します。1 行に 1 つのアドレスを、最大 10 個まで入力します。各アドレスは
https://で始まる必要があります。テスト中はhttp://localhostも使用できます。サインイン用アドレスを初めて保存すると、Exayard はアプリのクライアントシークレットを一度だけ表示します。インストールリンクをコピーでは、どの会社にも送れるリンクをコピーします。リンクを開くと、その会社の管理者向けにインストールダイアログが表示されます。
審査を依頼では、アプリを Exayard サポートに送って審査を依頼します。
新しいアプリは自社以外に最大 25 社までインストールでき、アプリを探すには表示されません。顧客用のアカウントの会社はこの上限に含まれません。承認されると、アプリには審査済みと表示され、インストール数の上限が解除されます。「アプリを探す」に表示を使うとすべての会社のディレクトリに掲載され、「アプリを探す」に表示しないを使うと掲載を取り下げます。停止中のアプリは、サポートが停止を解除するまで Exayard を呼び出せません。インストールはそのまま保持されます。
アプリからスコープを削除すると、すべてのインストール先でそのスコープがただちに失われます。スコープを追加した場合は、各会社の管理者が新しいスコープを承認するまで、その会社は現在のアクセス権を維持します。
アプリの Webhook
アプリのその他の操作メニューを開き、Webhook をクリックします。URL を入力して作成をクリックし、署名シークレットをコピーしてください。Exayard はこれを一度だけ表示します。アプリをインストールした各会社からは、許可されたスコープの範囲のイベントが送られます。また、会社がアプリをインストールしたとき、より広いアクセスを承認したとき、アプリを削除したときには、それぞれ app.installed、app.scopes_approved、app.uninstalled も届きます。配信には会社が明示され、他の Webhook と同じ方法で署名されます。
同じダイアログで、配信の一時停止と再開、シークレットをローテーション、Webhook を削除を行えます。
接続済みのアプリ
接続済みのアプリには、自社の会社にインストールされているアプリが一覧表示されます。すべてのメンバーが閲覧できますが、インストール、削除、承認を行えるのは管理者のみです。
各行には、アプリ名、審査済みかどうか、開発した会社、インストールした人と日時、許可されたスコープが表示されます。
アプリのインストール
アプリのインストールリンクを開くか、アプリを探すでアプリの横にあるインストールをクリックします。ダイアログには、アプリの開発元、審査済みかどうか、要求しているスコープが表示されます。続いて、次の項目を選択します。
会社: 自分が管理者であるいずれかの会社。すでにアプリがある会社には (インストール済み) と表示されます。もう一度インストールすると、新しい選択内容が保存されます。
プロジェクト: すべてのプロジェクト、または選択したプロジェクトのみを選び、アプリがアクセスできるプロジェクトに最大 500 件までチェックを入れます。アプリは会社内のそれ以外のプロジェクトにはアクセスできません。
月間AI上限: アプリの AI 処理によって自社の会社に発生する、請求月ごとの費用の上限です。請求通貨で指定します。空欄のままにすると上限なしになります。
インストールをクリックします。アプリがサインインを行う場合は、続いて Exayard がアプリへのサインインを完了する画面に移動します。管理者ではないメンバーの場合は、どの会社の管理者がインストールできるかがダイアログに表示されます。リンクをコピーをクリックして、その管理者に送ってください。
後からプロジェクトを変更するには、インストールリンクをもう一度開き、新しい選択内容でインストールします。
追加のアクセスの承認
アプリがより多くのスコープを要求すると、その行に追加のアクセスを要求していますと新しいスコープが表示されます。管理者が承認をクリックすると付与されます。承認されるまで、アプリはそれまでのアクセス権を維持します。
アプリの削除
アプリのその他の操作メニューを開き、削除をクリックして確認します。アプリはただちに自社の会社へのアクセスを失い、その Webhook も停止します。すでに開始されていた AI 処理は最後まで完了します。
アプリを探す
アプリを探すは接続済みのアプリの中に表示されます。開発者が掲載を選択した審査済みのアプリが一覧表示されます。自社の会社にすでにあるアプリにはインストール済みと表示されます。それ以外のアプリでインストールをクリックすると、インストールダイアログが開きます。
個人の接続
個人の接続には、ChatGPT や Claude など、自分の Exayard アカウントに接続した AI ツールやその他のアプリが一覧表示されます。接続済みのアプリの上部に表示され、自分の接続は自分にしか見えません。個人の接続はあなた本人として動作するため、あなたがアクセスできるものすべてにアクセスできます。
各接続には、初回と最後に使用された日時、使用された会社が表示されます。接続を停止するには、その他の操作メニューを開き、削除をクリックして確認します。次回の呼び出しから拒否されます。接続は削除済みとして一覧に残り、再度許可で再び利用できるようになります。新しいツールを接続するには、Exa を AI アシスタントに接続するをご覧ください。
顧客用のアカウント
自社の製品を通じてのみ Exayard を利用する顧客のために、自社のアプリから API を通じて Exayard の会社を作成できます。これらの会社は自社の会社が所有し、その会社で実行される AI 処理の費用も自社の会社が支払います。これらの会社には独自のメンバーはおらず、自社のアプリは自動的にインストールされます。
顧客用のアカウントには、管理者向けにこれらの会社が一覧表示され、各会社の名前と作成日が表示されます。手放すをクリックして確認すると、その会社は閉鎖されます。会社内のすべてのアプリがアクセスを失います。
はじめに
クイックスタートカードには、Claude や Cursor などの AI エディター向けにあらかじめ用意されたプロンプトがあります。プロンプトをコピーをクリックし、エディターに貼り付けてください。このプロンプトには API のベース URL、認証形式、スコープ、Webhook の署名方式が含まれているため、AI が動作する連携を作成し、必要な情報をあなたに確認できます。このカードには API キーが必要なため、管理者にのみ表示されます。
ドキュメントカードには、ドキュメントを開くから開ける開発者向けドキュメント全体と、すべてのルートとスキーマを記述した OpenAPI仕様へのリンクがあります。管理者には Claude または Cursor に接続も表示され、AI アシスタントを Exayard に接続するための設定画面を開けます。
ログ
ログには、API へのリクエストが新しい順に表示されます。各行にはメソッド、パス、ステータス、時刻、レイテンシが表示されます。それより前のリクエストを見るには、下部のさらに読み込むをクリックします。
管理者にはすべてのリクエストが表示されます。メンバーには、アプリを経由しなかったリクエストのみが表示されます。
管理者はアプリで絞り込み、さらにそのアプリのキーの 1 つで絞り込めます。エンドユーザーを入力すると、誰でもその顧客のリクエストだけを表示できます。エンドユーザーとは、自社の顧客 1 人ひとりに自社が割り当てる ID です。自社のコードは、各リクエストの Exayard-End-User ヘッダーでこの ID を送信します。メールアドレスを ID として使用しないでください。
行を選択すると、リクエスト ID、アプリとエンドユーザー、リクエスト本文とレスポンス本文を含む詳細を確認できます。ログを使って、呼び出しが成功したかの確認や、連携がうまく動作しない原因の調査を行えます。
キー別とエンドユーザー別の支出
管理者は、設定の利用状況にあるアプリ別の支出で、各アプリの今月の支出を確認できます。自社のアプリもここに表示されます。各アプリの下にあるキー別には各キーの支出が、上位のエンドユーザーには支出の多い上位 5 人のエンドユーザーが表示されます。アプリのどのキーにも結び付かない支出はその他と表示されます。
月間AI上限
アプリの月間 AI 上限とは、アプリの AI 処理によって自社の会社に発生する、請求月ごとの費用の上限です。設定するには、アプリ別の支出でアプリのその他の操作メニューを開き、月間AI上限を設定をクリックします。請求通貨で金額を入力して保存をクリックします。上限を解除するには、空欄のまま保存します。
アプリが上限に達すると、自社の会社に AI 利用枠が残っていても、その請求月の残りの期間はアプリの AI 処理が拒否されます。自社の会社自体の上限も引き続き適用されます。ユーザーが自分で開始した AI 処理は、アプリの上限に算入されません。
