---
title: "推出 Admin APIs"
description: "Apps Management 和 Usage API 现已正式发布。只需一个端点和一个 Access Key，即可创建 app、管理白名单，并获取 Dashboard 使用数据。"
---

# 推出 Admin APIs

<ImageBlock
  src="https://media.alchemy.com/admin-apis.png"
  alt="推出 Alchemy Admin APIs：应用管理与用量查看"
  width={3840}
  height={2160}
  priority
/>

对于管理单个 app 来说，dashboard 已经够用了。但对于大规模运行 Alchemy 的团队——为每个客户、每个合作伙伴或每个环境配置独立 app——重复性工作会越来越多。他们要反复点击同样的创建流程、更新 allowlist、检查用量。

因此，我们很高兴地宣布开放两个 [Admin API](https://www.alchemy.com/docs/reference/admin-api/overview)，让这一切对开发者来说更简单、更顺畅：

- **[Apps Management API](https://www.alchemy.com/docs/admin-api/apps/list-apps)：** 创建、配置、删除 app，管理 allowlist。
- **[Usage API](https://www.alchemy.com/docs/admin-api/usage/get-usage-summary)：** 获取与 dashboard 的 Usage 标签页相同的用量数据。

这两个 API 都可以通过同一个 endpoint、用同一个 Access Key 访问。在 dashboard 的 Settings → Security 中获取一个 Access Key，将其作用域设为 App Management 或 Usage，然后指向 `https://admin-api.alchemy.com/v1`。

## Apps Management API

Apps Management API 处理原本需要在 dashboard 中手动完成的 CRUD 操作：创建 app、设置其网络 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"]
  }'`}
/>

对于为每个客户配置专属 app 的平台、为每个合作伙伴或节点运营商分配独立 app 以隔离用量的团队，或者为每个环境自动创建新 app 的流水线来说，这替代了原本的手动操作。Access Key 自带作用域、过期时间和轮换机制，因此 app 的配置可以纳入 CI/CD 流程，而不再只是一个 dashboard 内的操作步骤。

## Usage API

Usage API 是一个只读 endpoint，提供原本需要从 dashboard 的 Usage 标签页获取的数据：整体及按网络划分的 [CU](https://www.alchemy.com/docs/reference/compute-units) 总量、当月至今的用量，以及在付费方案下，按 app、方法、网络划分的 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 token 进行身份验证：若需要团队整体的数据，使用作用域为只读 Usage 的 Access Key；若只需要单个 app 的数据，可以用现有的 app 级 API key，验证方式相同。

## 开始使用

在 Security 标签页创建一个 Access Key，将其作用域设为所需权限，然后调用 `https://admin-api.alchemy.com/v1`。

深入了解 [文档](https://www.alchemy.com/docs/reference/admin-api/overview)，如有任何问题，或想讨论大规模场景下的定制方案，欢迎 [联系我们的团队](https://www.alchemy.com/contact-sales)。

## 常见问题

### Apps Management 和 Usage 有什么区别？

Apps Management 用于创建和配置 app：名称、网络 allowlist，以及地址、域名和 IP allowlist。Usage 是只读的，返回计算单元总量，以及在付费方案下的时间序列明细。请将 Access Key 的作用域限定为你实际需要的权限。

### 如何对 Admin API 进行身份验证？

在 dashboard 的 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 方案可获取完整明细。
