メインコンテンツへスキップ
querying.aiを自社製品の中で使う場合は、顧客ごとにサブアカウントをひとつ作成します。サブアカウントは独自のAPIキー、上限、タスク、バッチ、モニターを持ちます。クレジットはあなたの残高から引かれ、使用量エンドポイントで各顧客にいくら請求するかがわかります。

サブアカウントの動作

  • 独自のキーと結果。 サブアカウントのキーは他のキーと同じようにタスク、バッチ、モニターを送信・取得し、自分の作業だけを見ます。AcmeのキーでつくったタスクはGlobexのキーとあなたのキーには404を返します。
  • あなたのクレジット。 タスクの料金はあなたの残高から引かれます。サブアカウントに残高はないため、サブアカウントのキーでGET /v1/creditsやGET /v1/usageを呼ぶと403 SUB_ACCOUNT_FORBIDDENが返ります。
  • あなたの処理能力。 プランまたは契約の同時実行上限は、あなたのタスクとすべてのサブアカウントのタスクの合計に適用されます。サブアカウントを作っても処理能力は増えません。GET /v1/async/statusはこの共有キューをあなたのキーでまとめて返し、サブアカウントのキーで呼ぶと403 SUB_ACCOUNT_FORBIDDENが返ります。
  • あなたのモニター上限。 GET /v1/monitors/capabilitiesのmonitors上限は、あなたのモニターとすべてのサブアカウントのモニターを合わせて数えます。promptsとtasksPerRunの上限も、サブアカウントのモニターにあなたのモニターと同じく適用されます。
  • 独自の上限。 monthlyCreditLimitはUTCの暦月に請求できるクレジットの上限です。concurrencyLimitはあなたの上限の内側で、待機中と実行中のタスク数を制限します。どちらも任意です。
  • 1階層のみ。 サブアカウントはサブアカウントを持てません。そのモニターのアラートメールはあなたのアカウントの管理者に届きます。

サブアカウントを管理できるキー

/v1/sub-accountsエンドポイントは、エンジンの範囲指定と日次クレジット上限のない、あなた自身のAPIキーで呼び出します。それ以外のキーは403 SUB_ACCOUNT_FORBIDDENになります。制限付きのキーが、自身の制限のないキーを発行できてしまうのを防ぐためです。サブアカウント自身のキーも同じエラーになります。

サブアカウントとキーを作成する

レスポンスは201です。
それ以外のフィールドは400 VALIDATION_ERRORを返します。上限名の書き間違いで顧客が無制限のまま残ることはありません。 次にサブアカウントのキーを発行します。
keyはこのレスポンスにしか表示されません。今すぐ保存してください。二度と表示されません。
キーにはダッシュボードのキーと同じ任意の設定を指定できます: name(1〜64文字、既定値default)、allowedTaskTypes、dailyCreditLimit、expiresAt(5分後〜2年後)。制限のないキーにはボディを送らないでください。 サブアカウントが持てる有効なキーは最大5個です。失効済み・期限切れのキーは数えません。6個目は409 KEY_LIMITを返すので、先にどれかを失効させてください。 顧客のキーは他のキーと同じく、すべてのエンドポイントで使えます。

キーを管理する

GET /v1/sub-accounts/{id}/keysは、失効済み・期限切れも含め、サブアカウントがこれまで持ったすべてのキーを新しい順に返します。有効なキーはrevokedAtとexpiresAtで判断してください。
DELETE /v1/sub-accounts/{id}/keys/{keyId}はキーを失効させ、{"success": true, "data": {"revoked": "<keyId>"}}を返します。すでに失効しているキーや、そのサブアカウントのものでないキーは404 NOT_FOUNDを返します。

上限

自分の上限に達したサブアカウントだけが拒否され、ほかの顧客は処理が続きます。上限を引き上げると次のリクエストから反映されます。
retryAfterSecは、月間の集計がリセットされる次のUTC月の初日までの秒数です。アカウント全体の上限はクレジットと制限を参照してください。

サブアカウントの現状を確認する

GET /v1/sub-accounts/{id}は、今月の使用量とactiveTasks(いま待機中または実行中のタスク数)付きでサブアカウントを返します。concurrencyLimitと比べると、顧客が上限にどれだけ近いかがわかります。
上の値は例です。usageのcreditsとtasksは今月(UTC)請求された分、reservedCreditsは実行中のタスクが確保している分です。

使用量と請求

すべての請求はあなたの請求台帳にもそのまま載ります。以下のエンドポイントはそれを顧客ごとに分けます。失敗したタスクは請求されず、集計にも入りません。クレジット額は小数点以下2桁までです。
  • GET /v1/sub-accountsはサブアカウントを古い順に返し、それぞれに今月のusageを付けます。limit(既定100、最大1,000)でページを分け、nextCursorをcursorとして送ると次のページです。
  • GET /v1/sub-accounts/usageは、UTC日付の範囲でサブアカウントごとの合計を返します。
  • GET /v1/sub-accounts/{id}/usageは、ひとつのサブアカウントの日別・エンジン別の請求を返します。
どちらの使用量エンドポイントもfromとtoをYYYY-MM-DDで受け取り、両端を含みます。fromの既定は今月(UTC)1日、toは今日で、範囲は最大366日です。

すべてのサブアカウント

例:
サブアカウントは多い順に並びます。範囲内に請求のないサブアカウントは含まれません。

ひとつのサブアカウント

例:
  • 上位のcreditsとtasksはdaysの合計です。
  • daysは請求のあったUTC日付とエンジンごとに1行で、日付順、次にtaskType順です。請求のない日の行はありません。
  • taskType: "OTHER"はタスク以外の請求で、たとえばモニターの競合分析です。クレジットは加算されますが、tasksは加算されません。

停止と再開

  • そのキーは5秒以内に401を返すようになります。
  • モニターの実行が止まり、まだ始まっていないバッチ項目はAPI_KEY_INACTIVEで終わります。
  • すでに待機中または実行中のタスクは最後まで処理され、請求されます。
{"status": "active"}でキーとモニターが戻ります。各モニターは逃した実行をまとめて行わず、戻ったときに一度だけ実行します。同じPATCHでname、externalId、monthlyCreditLimit、concurrencyLimitも変更でき、nullは上限またはexternalIdを外します。サブアカウントは削除できないため、代わりに停止してください。

エラー

エンドポイント