---
title: "Admin APIs の紹介"
description: "Apps Management と Usage が一般提供開始となりました。アプリの作成、allowlist の管理、ダッシュボードの使用状況の取得を、1つのエンドポイントと1つの Access Key で行えます。"
---

# Admin APIs の紹介

<ImageBlock
  src="https://media.alchemy.com/admin-apis.png"
  alt="アプリの管理と使用状況のためのAlchemy Admin APIを発表"
  width={3840}
  height={2160}
  priority
/>

ダッシュボードは単一のアプリを管理する分には十分機能します。しかし、顧客ごと、パートナーごと、環境ごとに専用アプリを用意してAlchemyを大規模に運用しているチームでは、作業が繰り返しになりがちです。同じ作成フロー、allowlistの更新、使用量チェックを何度もクリックすることになります。

そこで、ビルダーの作業をよりシンプルにするために、2つの[Admin API](https://www.alchemy.com/docs/reference/admin-api/overview)を公開します。

- **[Apps Management API](https://www.alchemy.com/docs/admin-api/apps/list-apps)**: アプリの作成、設定、削除、allowlistの管理を行います。
- **[Usage API](https://www.alchemy.com/docs/admin-api/usage/get-usage-summary)**: ダッシュボードのUsageタブと同じ使用量データを取得できます。

どちらのAPIも、1つのエンドポイントと1つのAccess Keyでアクセスできます。ダッシュボードのSettings → SecurityからApp ManagementまたはUsageにスコープしたAccess Keyを取得し、`https://admin-api.alchemy.com/v1`に向けて使用してください。

## Apps Management API

Apps Management APIは、これまでダッシュボード上で手作業で行っていたCRUD処理、つまりアプリの作成、ネットワークallowlistの設定、アドレス・ドメイン・IPのallowlist管理を扱います。

<CodeSnippet
  language="bash"
  code={`curl -X POST 'https://admin-api.alchemy.com/v1/apps' \\
  --header 'Content-Type: application/json' \\
  --header 'Authorization: Bearer {your access key}' \\
  --data '{
    "name": "app-tenant-42",
    "networkAllowlist": ["ETH_MAINNET"],
    "products": ["node-api"]
  }'`}
/>

これにより、顧客ごとに専用アプリをプロビジョニングするプラットフォーム、パートナーやノードオペレーターごとに使用量を分離するために個別のアプリを渡すチーム、環境ごとに新しいアプリを立ち上げるパイプラインなどでの手作業が不要になります。Access Keyはそれぞれ独自のスコープ、有効期限、ローテーションを持つため、アプリのプロビジョニングをダッシュボード限定の作業ではなく、CI/CDの一部として組み込むことができます。

## Usage API

Usage APIは、これまでダッシュボードのUsageタブから取得していた数値を提供する読み取り専用エンドポイントです。全体および各ネットワークごとの[CU](https://www.alchemy.com/docs/reference/compute-units)合計、月初来の集計に加え、有料プランでは、HTTP・WebSocket・webhookトラフィックにわたるアプリ別・メソッド別・ネットワーク別の内訳、ドル換算の使用量、リクエスト数も取得できます。

<CodeSnippet
  language="bash"
  code={`curl 'https://admin-api.alchemy.com/v1/usage/summary' \\
  --header 'Authorization: Bearer {your access key}'`}
/>

履歴と詳細度は、利用しているプランに応じて異なります。

<EmbeddedTable
  table={{
    columns: [
      { key: "plan", width: 180, title: "Plan", dataType: "object" },
      {
        key: "access",
        width: 420,
        title: "What's included",
        dataType: "object",
      },
    ],
    data: [
      {
        plan: { title: "Free", tooltip: "", icon: "" },
        access: {
          title: "High-level CU summary, 1 day of history",
          tooltip: "",
          icon: "",
        },
        id: 0,
      },
      {
        plan: { title: "PAYG", tooltip: "", icon: "" },
        access: {
          title: "Full breakdown, 7 days of history",
          tooltip: "",
          icon: "",
        },
        id: 1,
      },
      {
        plan: { title: "Enterprise", tooltip: "", icon: "" },
        access: {
          title: "Full breakdown, 30 days of history",
          tooltip: "",
          icon: "",
        },
        id: 2,
      },
    ],
  }}
/>

認証には、bearerトークンとしてどちらかの資格情報を使用できます。チーム全体の数値が必要な場合は読み取り専用のUsageにスコープしたAccess Key、1つのアプリの数値だけが必要な場合は既存のアプリスコープのAPIキーを同じ方法で送信してください。

## はじめに

Securityタブから Access Key を作成し、必要な権限にスコープを設定した上で、`https://admin-api.alchemy.com/v1`を呼び出してください。

[ドキュメント](https://www.alchemy.com/docs/reference/admin-api/overview)を参照するか、ご質問や大規模運用における専用ソリューションについては[チームまでお問い合わせ](https://www.alchemy.com/contact-sales)ください。

## FAQ

### Apps ManagementとUsageの違いは何ですか?

Apps Managementはアプリの作成と設定、すなわち名前、ネットワークallowlist、アドレス・ドメイン・IPのallowlistを扱います。Usageは読み取り専用で、compute unit合計を返し、有料プランでは時系列の内訳も返します。Access Keyは必要な権限だけにスコープしてください。

### Admin APIへの認証方法は?

ダッシュボードのSecurityタブでAccess Keyを作成し、App ManagementおよびUsageを有効にした上で、`Authorization: Bearer {your access key}`として`https://admin-api.alchemy.com/v1`に送信してください。

### 使用量の履歴はどれくらい取得できますか?

時系列データの取得範囲は、Freeで1日、PAYGで7日、Enterpriseで30日です。Freeは高レベルのCUサマリーのみですが、PAYGとEnterpriseでは完全な内訳が取得できます。
