跳转到内容

管理 API

账户和授权


POST /auth/teams/{teamId}/api-keys

API 密钥用于访问 xAI API (https://api.x.ai)。它们作为 HTTP Bearer 令牌包含在请求中。API 密钥绑定到团队,并与创建它们的用户关联。

路径参数

请求正文

  • name (字符串, 必需) — API 密钥的可读名称。不应为空。

  • acls (数组<字符串>) — 默认情况下,API 密钥没有任何访问权限。要实际使用 API 密钥,必须授予其对 (1) 端点和 (2) 模型的访问权限。

    访问权限通过字符串形式授予,格式为 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]`,其中 `端点名称` 和 `模型名称` 可以分别通过 `/auth/teams/{team_id}/endpoints` 和 `/auth/teams/{team_id}/models` 端点获取。

    ACL 也支持通配符。如果要创建一个有权访问所有模型和端点的 API 密钥,请添加两个 ACL:`api-key:endpoint:*` 和 `api-key:model:*`。

  • qps (整数) — 如果设置,则 API 密钥限制为每秒执行此数量的查询。

  • qpm (整数) — 如果设置,则 API 密钥限制为每分钟执行此数量的查询。

  • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

  • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

响应正文

  • redactedApiKey (字符串) — 一个被遮蔽的 API 密钥。创建后我们不会显示完整的密钥。

  • apiKey (字符串) — 仅在创建 API 密钥时设置。

  • userId (字符串) — 创建此 API 密钥的用户 ID。

  • name (字符串) — API 密钥的可读名称。

  • createTime (字符串) — 创建 API 密钥时的时间戳。

  • modifyTime (字符串) — 修改 API 密钥时的时间戳。

  • teamId (字符串) — 此 API 密钥所属团队的 ID。

  • apiKeyId (字符串) — API 密钥的 ID。

  • disabled (boolean) — API 是否被用户禁用。用户可以禁用 API 密钥以防止它们进行 API 调用。

  • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

  • qps (整数) — 如果设置,则此 API 密钥每秒只能执行指定数量的请求。

  • qpm (整数) — 如果设置,则此 API 密钥每分钟只能执行指定数量的请求。

  • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

  • aclStrings (数组<字符串>) — API 密钥拥有的权限。默认情况下,API 密钥没有任何权限,如果此字段为空,则所有请求都会失败。用户可以授予两种权限:(1) 端点和 (2) 模型,通过 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]` ACL。

    如果要授予对特定端点和模型的访问权限,可以使用相应的 `/endpoints` 和 `/models` 端点来获取 `端点名称` 和 `模型名称` 的可能值。

    如果要创建一个有权访问所有端点和模型的 API 密钥,可以使用通配符 ACL `api-key:endpoint:*` 和 `api-key:model:*`。

请求示例:

json
{
  "name": "My API key",
  "acls": [
    "api-key:endpoint:*",
    "api-key:model:*"
  ]
}

响应示例:

json
{
  "redactedApiKey": "xai-...oYZ4",
  "apiKey": "xai-YOUR_API_KEY_PLACEHOLDER",
  "userId": "6ad994df-7963-45e0-96c8-96b1ba849d9b",
  "name": "My API key",
  "createTime": "2025-11-13T16:14:38.164829Z",
  "modifyTime": "2025-11-13T16:38:07.059039Z",
  "teamId": "c9a0c990-53e6-491e-8df7-b9f18e6983ac",
  "apiKeyId": "fe15b799-32e1-4d02-9e65-80236f9995f7",
  "disabled": false,
  "aclStrings": [
    "api-key:endpoint:*",
    "api-key:model:*"
  ]
}

GET /auth/teams/{teamId}/api-keys

列出属于团队内用户的 API 密钥。如果调用用户是管理员,则返回所有团队 API 密钥。如果调用用户是成员,则返回该用户的 API 密钥。

路径参数

  • teamId (字符串, 必需) — 要列出其 API 密钥的团队的 ID。

查询参数

  • pageSize (整数) — 控制结果的页面大小。如果为 None,则结果作为一页返回。

  • paginationToken (字符串) — 使用分页时从前一次调用中接收的分页令牌。设置为 `undefined` 以检索第一页。

  • aclFilters (数组<字符串>) — 可选过滤器,仅返回与给定 ACL 匹配的 API 密钥。

  • activeOnly (boolean) — 如果为 true,则仅返回未过期的 API 密钥。默认为 false(返回所有密钥)。

响应正文

  • apiKeys (数组<对象>) — 属于团队的 API 密钥。

    • redactedApiKey (字符串) — 一个被遮蔽的 API 密钥。创建后我们不会显示完整的密钥。

    • apiKey (字符串) — 仅在创建 API 密钥时设置。

    • userId (字符串) — 创建此 API 密钥的用户 ID。

    • name (字符串) — API 密钥的可读名称。

    • createTime (字符串) — 创建 API 密钥时的时间戳。

    • modifyTime (字符串) — 修改 API 密钥时的时间戳。

    • teamId (字符串) — 此 API 密钥所属团队的 ID。

    • apiKeyId (字符串) — API 密钥的 ID。

    • disabled (boolean) — API 是否被用户禁用。用户可以禁用 API 密钥以防止它们进行 API 调用。

    • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

    • qps (整数) — 如果设置,则此 API 密钥每秒只能执行指定数量的请求。

    • qpm (整数) — 如果设置,则此 API 密钥每分钟只能执行指定数量的请求。

    • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

    • aclStrings (数组<字符串>) — API 密钥拥有的权限。默认情况下,API 密钥没有任何权限,如果此字段为空,则所有请求都会失败。用户可以授予两种权限:(1) 端点和 (2) 模型,通过 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]` ACL。

      如果要授予对特定端点和模型的访问权限,可以使用相应的 `/endpoints` 和 `/models` 端点来获取 `端点名称` 和 `模型名称` 的可能值。

      如果要创建一个有权访问所有端点和模型的 API 密钥,可以使用通配符 ACL `api-key:endpoint:*` 和 `api-key:model:*`。

  • paginationToken (字符串) — 在后续请求中包含此令牌以检索下一页。如果为 `undefined`,则这是最后一页。

响应示例:

json
{
  "apiKeys": [
    {
      "redactedApiKey": "xai-a**b",
      "userId": "12106c22-fa54-4255-9887-6eb73c55787f",
      "apiKeyId": "faf5f6c2-5322-4793-9b74-23129addca0c",
      "teamId": "fef05426-f6a4-4242-b9a6-b1a0ea5dc5fd",
      "disabled": "false",
      "tpm": "100000",
      "acl_strings": [
        "api-key:endpoint:*",
        "api-key:model:*"
      ]
    }
  ]
}

PUT /auth/api-keys/{api_key_id}

选择性地更新 API 密钥的子集字段。

路径参数

  • api_key_id (字符串, 必需) — API 密钥的 ID。

请求正文

  • apiKey (对象, 必需) — API 密钥。

    • redactedApiKey (字符串) — 一个被遮蔽的 API 密钥。创建后我们不会显示完整的密钥。

    • apiKey (字符串) — 仅在创建 API 密钥时设置。

    • userId (字符串) — 创建此 API 密钥的用户 ID。

    • name (字符串) — API 密钥的可读名称。

    • createTime (字符串) — 创建 API 密钥时的时间戳。

    • modifyTime (字符串) — 修改 API 密钥时的时间戳。

    • teamId (字符串) — 此 API 密钥所属团队的 ID。

    • disabled (boolean) — API 是否被用户禁用。用户可以禁用 API 密钥以防止它们进行 API 调用。

    • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

    • qps (整数) — 如果设置,则此 API 密钥每秒只能执行指定数量的请求。

    • qpm (整数) — 如果设置,则此 API 密钥每分钟只能执行指定数量的请求。

    • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

    • aclStrings (数组<字符串>) — API 密钥拥有的权限。默认情况下,API 密钥没有任何权限,如果此字段为空,则所有请求都会失败。用户可以授予两种权限:(1) 端点和 (2) 模型,通过 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]` ACL。

      如果要授予对特定端点和模型的访问权限,可以使用相应的 `/endpoints` 和 `/models` 端点来获取 `端点名称` 和 `模型名称` 的可能值。

      如果要创建一个有权访问所有端点和模型的 API 密钥,可以使用通配符 ACL `api-key:endpoint:*` 和 `api-key:model:*`。

  • fieldMask (字符串) — 指示哪些字段将被修改的字段掩码。

响应正文

  • redactedApiKey (字符串) — 一个被遮蔽的 API 密钥。创建后我们不会显示完整的密钥。

  • apiKey (字符串) — 仅在创建 API 密钥时设置。

  • userId (字符串) — 创建此 API 密钥的用户 ID。

  • name (字符串) — API 密钥的可读名称。

  • createTime (字符串) — 创建 API 密钥时的时间戳。

  • modifyTime (字符串) — 修改 API 密钥时的时间戳。

  • teamId (字符串) — 此 API 密钥所属团队的 ID。

  • apiKeyId (字符串) — API 密钥的 ID。

  • disabled (boolean) — API 是否被用户禁用。用户可以禁用 API 密钥以防止它们进行 API 调用。

  • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

  • qps (整数) — 如果设置,则此 API 密钥每秒只能执行指定数量的请求。

  • qpm (整数) — 如果设置,则此 API 密钥每分钟只能执行指定数量的请求。

  • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

  • aclStrings (数组<字符串>) — API 密钥拥有的权限。默认情况下,API 密钥没有任何权限,如果此字段为空,则所有请求都会失败。用户可以授予两种权限:(1) 端点和 (2) 模型,通过 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]` ACL。

    如果要授予对特定端点和模型的访问权限,可以使用相应的 `/endpoints` 和 `/models` 端点来获取 `端点名称` 和 `模型名称` 的可能值。

    如果要创建一个有权访问所有端点和模型的 API 密钥,可以使用通配符 ACL `api-key:endpoint:*` 和 `api-key:model:*`。

请求示例:

json
{
  "apiKey": {
    "tpm": "42"
  },
  "fieldMask": "tpm"
}

响应示例:

json
{
  "redactedApiKey": "xai-...oYZ4",
  "apiKey": "xai-YOUR_API_KEY_PLACEHOLDER",
  "userId": "6ad994df-7963-45e0-96c8-96b1ba849d9b",
  "name": "My API key",
  "createTime": "2025-11-13T16:14:38.164829Z",
  "modifyTime": "2025-11-13T16:38:07.059039Z",
  "teamId": "c9a0c990-53e6-491e-8df7-b9f18e6983ac",
  "apiKeyId": "fe15b799-32e1-4d02-9e65-80236f9995f7",
  "disabled": false,
  "aclStrings": [
    "api-key:endpoint:*",
    "api-key:model:*"
  ]
}

POST /auth/api-keys/{apiKeyId}/rotate

!!警告!! 旋转现有 API 密钥的密钥,永久使其失效。

路径参数

  • apiKeyId (字符串, 必需) — 其密钥应被旋转的 API 密钥的 ID。

请求正文

  • expireTime (字符串) — 如果设置,则更新新 API 密钥的过期时间。如果未设置,新密钥将继承旧密钥的过期时间。

  • oldSecretExpireTime (字符串) — 旧密钥停止被接受的时间。如果未设置,则默认为从现在起 24 小时(对于未过期的密钥)。不能超过从现在起 7 天。

响应正文

  • redactedApiKey (字符串) — 一个被遮蔽的 API 密钥。创建后我们不会显示完整的密钥。

  • apiKey (字符串) — 仅在创建 API 密钥时设置。

  • userId (字符串) — 创建此 API 密钥的用户 ID。

  • name (字符串) — API 密钥的可读名称。

  • createTime (字符串) — 创建 API 密钥时的时间戳。

  • modifyTime (字符串) — 修改 API 密钥时的时间戳。

  • teamId (字符串) — 此 API 密钥所属团队的 ID。

  • apiKeyId (字符串) — API 密钥的 ID。

  • disabled (boolean) — API 是否被用户禁用。用户可以禁用 API 密钥以防止它们进行 API 调用。

  • expireTime (字符串) — API 密钥的过期时间。如果已设置且在过去,则该密钥将被拒绝。

  • qps (整数) — 如果设置,则此 API 密钥每秒只能执行指定数量的请求。

  • qpm (整数) — 如果设置,则此 API 密钥每分钟只能执行指定数量的请求。

  • tpm (字符串) — 如果设置,则 API 密钥限制为每分钟生成/消耗设定数量的令牌。当限制被严格超过时,限制器会启动。导致限制超出的进行中的请求不会被中止。

  • aclStrings (数组<字符串>) — API 密钥拥有的权限。默认情况下,API 密钥没有任何权限,如果此字段为空,则所有请求都会失败。用户可以授予两种权限:(1) 端点和 (2) 模型,通过 `api-key:endpoint:[端点名称]` 和 `api-key:model:[模型名称]` ACL。

    如果要授予对特定端点和模型的访问权限,可以使用相应的 `/endpoints` 和 `/models` 端点来获取 `端点名称` 和 `模型名称` 的可能值。

    如果要创建一个有权访问所有端点和模型的 API 密钥,可以使用通配符 ACL `api-key:endpoint:*` 和 `api-key:model:*`。

响应示例:

json
{
  "redactedApiKey": "xai-...oYZ4",
  "apiKey": "xai-YOUR_API_KEY_PLACEHOLDER",
  "userId": "6ad994df-7963-45e0-96c8-96b1ba849d9b",
  "name": "My API key",
  "createTime": "2025-11-13T16:14:38.164829Z",
  "modifyTime": "2025-11-13T16:38:07.059039Z",
  "teamId": "c9a0c990-53e6-491e-8df7-b9f18e6983ac",
  "apiKeyId": "fe15b799-32e1-4d02-9e65-80236f9995f7",
  "disabled": false,
  "aclStrings": [
    "api-key:endpoint:*",
    "api-key:model:*"
  ]
}

DELETE /auth/api-keys/{apiKeyId}

!!警告!! 永久且不可撤销地删除 API 密钥。

路径参数

  • apiKeyId (字符串, 必需) — 要删除的 API 密钥的 ID。

响应示例:

json
{}

GET /auth/api-keys/{apiKeyId}/propagation

检查 API 密钥是否已成功传播。

路径参数

  • apiKeyId (字符串, 必需) — 其传播状态应检查的 API 的 ID。

响应正文

  • icPropagation (对象) — 从推理集群地址到指示 API 密钥是否已传播的标志的映射。

响应示例:

json
{
  "icPropagation": {
    "cloud9.api.x.ai": true,
    "us-east-1.api.x.ai": true
  }
}

GET /auth/teams/{teamId}/models

列出团队可访问的所有模型。

路径参数

  • teamId (字符串, 必需) — 要检索其模型的团队的 ID。

响应正文

  • clusterConfigs (数组<对象>) — 包含可通过各个推理集群访问的模型。

    • languageModels (数组<对象>) — 可用的语言模型。

      • name (字符串) — 模型在 API 中可用的名称。

      • version (字符串) — 此模型的版本号。有时模型会被原地更新(即它们保留其名称,但部署了同一模型的更新版本)。

      • inputModalities (数组<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输入模态类型。

      • outputModalities (数组<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输出模态类型。

      • promptTextTokenPrice (字符串) — 每 1 亿文本提示令牌的价格(以美分计)。

      • promptImageTokenPrice (字符串) — 每 1 亿图像提示令牌的价格(以美分计)。

      • promptTextTokenPriceLongContext (字符串) — 如果请求是长上下文请求,则每个提示令牌的价格。此价格适用于请求中的所有令牌。价格以 1/100,000,000 美分存储。

      • cachedPromptTokenPrice (字符串) — 每 1 亿缓存提示令牌的价格(以美分计)。

  • version (string) — 此模型的版本号。有时模型会原地更新(即它们保留其名称,但部署的是同一模型的更新版本)。

  • inputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输入模态类型。

  • outputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输出模态类型。

  • imagePrice (string) — [已弃用] 每张图片的固定价格。请改用 resolution_pricing。

  • rps (string) — 此团队允许的最大每秒请求数。

  • rpm (string) — 如果已配置,最大每分钟请求数。

  • tpm (string) — 允许的每分钟令牌数。如果为 0,则不应用限制。

  • rph (string) — 如果已配置,最大每小时请求数。

  • rpd (string) — 如果已配置,最大每天请求数。

  • cluster (string) — 模型所在的集群名称。

  • aliases (array<string>)) — 模型可用的其他名称。

  • resolutionPricing (array<object>) — 基于分辨率的定价层级。

    • resolution ("IMAGE_RESOLUTION_UNSPECIFIED" | "IMAGE_RESOLUTION_1K" | "IMAGE_RESOLUTION_2K" | "IMAGE_RESOLUTION_4K") — 定价的图像分辨率选项。

      - IMAGE_RESOLUTION_1K: ~1024x1024 - IMAGE_RESOLUTION_2K: ~2048x2048 - IMAGE_RESOLUTION_4K: ~4096x4096

    • pricePerImage (string) — 此分辨率的每张图片价格(以 1/100,000,000 美元分为单位)。

  • pricePerInputImage (string) — 每张输入图像的价格(以 1/100,000,000 美元分为单位)。

  • rateLimits (object)

    • queryOffset (string)

    • queryBaseRate (string)

    • queryMultiplier (string)

    • tokenOffset (string)

    • tokenBaseRate (string)

    • tokenMultiplier (string)

  • audioModels (array<object>) — 可用的音频模型。

    • name (string) — 模型在 API 中可用的名称。

    • version (string) — 此模型的版本号。有时模型会原地更新(即它们保留其名称,但部署的是同一模型的更新版本)。

    • inputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输入模态类型。

    • outputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输出模态类型。

    • promptTokenPrice (string) — 每 1 亿个提示令牌的价格(以美元分为单位)。

    • completionTokenPrice (string) — 每 1 亿个完成令牌的价格(以美元分为单位)。

    • supportedClients (array<object>) — 支持的客户端。例如,您可以将其作为查询参数传递给模型 websocket 端点,格式为 "?client=..."。

      • clientName (string) — 描述此客户端在 API 中的简短类 ID 字符串。

      • description (string) — 此类型客户端的可读描述。

    • rps (string) — 此团队允许的最大每秒请求数。

    • rpm (string) — 如果已配置,最大每分钟请求数。

    • tpm (string) — 允许的每分钟令牌数。如果为 0,则不应用限制。

    • rph (string) — 如果已配置,最大每小时请求数。

    • rpd (string) — 如果已配置,最大每天请求数。

    • cluster (string) — 模型所在的集群名称。

    • aliases (array<string>) — 模型可用的其他名称。

    • rateLimits (object)

      • queryOffset (string)

      • queryBaseRate (string)

      • queryMultiplier (string)

      • tokenOffset (string)

      • tokenBaseRate (string)

      • tokenMultiplier (string)

  • videoGenerationModels (array<object>) — 可用的视频生成模型。

    • name (string) — 模型在 API 中可用的名称。

    • version (string) — 此模型的版本号。有时模型会原地更新(即它们保留其名称,但部署的是同一模型的更新版本)。

    • inputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输入模态类型(例如,图像到视频的 TEXT、IMAGE)。

    • outputModalities (array<"INVALID" | "TEXT" | "IMAGE" | "AUDIO" | "VIDEO">) — 模型支持的输出模态类型。

    • rps (string) — 此团队允许的最大每秒请求数。

    • rpm (string) — 如果已配置,最大每分钟请求数。

    • tpm (string) — 允许的每分钟令牌数。如果为 0,则不应用限制。

    • rph (string) — 如果已配置,最大每小时请求数。

    • rpd (string) — 如果已配置,最大每天请求数。

    • cluster (string) — 模型所在的集群名称。

    • aliases (array<string>) — 模型可用的其他名称。

    • resolutionPricing (array<object>) — 基于分辨率的定价层级。

      • resolution ("VIDEO_RESOLUTION_UNSPECIFIED" | "VIDEO_RESOLUTION_480P" | "VIDEO_RESOLUTION_720P" | "VIDEO_RESOLUTION_1080P") — 定价的视频分辨率选项。

      • pricePerSecond (string) — 此分辨率的每秒视频价格(以 1/100,000,000 美元分为单位)。

    • pricePerInputImage (string) — 每张输入图像的价格(以 1/100,000,000 美元分为单位)。

    • pricePerInputVideoSecond (string) — 每秒输入视频的价格(以 1/100,000,000 美元分为单位)。

    • rateLimits (object)

      • queryOffset (string)

      • queryBaseRate (string)

      • queryMultiplier (string)

      • tokenOffset (string)

      • tokenBaseRate (string)

      • tokenMultiplier (string)

  • clusterName (string) — 推理集群的名称,例如 'us-east-1'。

响应示例:

json
{
  "clusterConfigs": [
    {
      "languageModels": [
        {
          "name": "grok-2-vision-1212",
          "version": "1.0",
          "inputModalities": [
            "TEXT",
            "IMAGE"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "20000",
          "promptImageTokenPrice": "20000",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "0",
          "completionTextTokenPrice": "100000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "0",
          "rps": "10",
          "rpm": "600",
          "tpm": "0",
          "cluster": "us-east-1",
          "maxPromptLength": 32768,
          "aliases": [
            "grok-2-vision",
            "grok-2-vision-latest"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": false
          },
          "algorithm": "MultimodalV1"
        },
        {
          "name": "grok-code-fast-1",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "2000",
          "promptImageTokenPrice": "0",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "200",
          "completionTextTokenPrice": "15000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "0",
          "rps": "8",
          "rpm": "480",
          "tpm": "2000000",
          "cluster": "us-east-1",
          "maxPromptLength": 256000,
          "aliases": [
            "grok-code-fast",
            "grok-code-fast-1-0825"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": true
          },
          "algorithm": "grok4Code"
        },
        {
          "name": "grok-2-1212",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "20000",
          "promptImageTokenPrice": "0",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "0",
          "completionTextTokenPrice": "100000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "0",
          "rps": "15",
          "rpm": "900",
          "tpm": "0",
          "cluster": "us-east-1",
          "maxPromptLength": 131072,
          "aliases": [
            "grok-2",
            "grok-2-latest"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": false
          },
          "algorithm": "MultimodalV1"
        },
        {
          "name": "grok-3-mini",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "3000",
          "promptImageTokenPrice": "0",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "750",
          "completionTextTokenPrice": "5000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "2500",
          "rps": "8",
          "rpm": "480",
          "tpm": "0",
          "cluster": "us-east-1",
          "maxPromptLength": 131072,
          "aliases": [
            "grok-3-mini-latest",
            "grok-3-mini-beta",
            "grok-3-mini-fast",
            "grok-3-mini-fast-latest",
            "grok-3-mini-fast-beta"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": true
          },
          "algorithm": "grok3Reasoning"
        },
        {
          "name": "grok-4-0709",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "30000",
          "promptImageTokenPrice": "30000",
          "promptTextTokenPriceLongContext": "60000",
          "cachedPromptTokenPrice": "7500",
          "completionTextTokenPrice": "150000",
          "completionTokenPriceLongContext": "300000",
          "searchPrice": "2500",
          "rps": "8",
          "rpm": "480",
          "tpm": "2000000",
          "cluster": "us-east-1",
          "maxPromptLength": 256000,
          "aliases": [
            "grok-4",
            "grok-4-latest"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": true
          },
          "algorithm": "grok4",
          "longContextThreshold": "128000"
        },
        {
          "name": "grok-3",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "30000",
          "promptImageTokenPrice": "0",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "7500",
          "completionTextTokenPrice": "150000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "2500",
          "rps": "10",
          "rpm": "600",
          "tpm": "0",
          "cluster": "us-east-1",
          "maxPromptLength": 131072,
          "aliases": [
            "grok-3-latest",
            "grok-3-beta",
            "grok-3-fast",
            "grok-3-fast-latest",
            "grok-3-fast-beta"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": false
          },
          "algorithm": "grok3"
        }
      ],
      "embeddingModels": [],
      "imageGenerationModels": [
        {
          "name": "grok-2-image-1212",
          "version": "1.0",
          "inputModalities": [
            "TEXT",
            "IMAGE"
          ],
          "outputModalities": [
            "IMAGE"
          ],
          "imagePrice": "700000000",
          "rps": "5",
          "rpm": "300",
          "tpm": "0",
          "cluster": "us-east-1",
          "aliases": [
            "grok-2-image",
            "grok-2-image-latest"
          ]
        }
      ],
      "audioModels": [],
      "clusterName": "us-east-1"
    },
    {
      "languageModels": [
        {
          "name": "grok-2-1212",
          "version": "1.0",
          "inputModalities": [
            "TEXT"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "20000",
          "promptImageTokenPrice": "0",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "0",
          "completionTextTokenPrice": "100000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "0",
          "rps": "50",
          "tpm": "0",
          "cluster": "eu-west-1",
          "maxPromptLength": 131072,
          "aliases": [
            "grok-2",
            "grok-2-latest"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": false
          },
          "algorithm": "MultimodalV1"
        },
        {
          "name": "grok-2-vision-1212",
          "version": "1.0",
          "inputModalities": [
            "TEXT",
            "IMAGE"
          ],
          "outputModalities": [
            "TEXT"
          ],
          "promptTextTokenPrice": "20000",
          "promptImageTokenPrice": "20000",
          "promptTextTokenPriceLongContext": "0",
          "cachedPromptTokenPrice": "0",
          "completionTextTokenPrice": "100000",
          "completionTokenPriceLongContext": "0",
          "searchPrice": "0",
          "rps": "50",
          "tpm": "0",
          "cluster": "eu-west-1",
          "maxPromptLength": 32768,
          "aliases": [
            "grok-2-vision",
            "grok-2-vision-latest"
          ],
          "features": {
            "functionCalling": true,
            "structuredOutputs": true,
            "reasoning": false
          },
          "algorithm": "MultimodalV1"
        }
      ],
      "embeddingModels": [],
      "imageGenerationModels": [],
      "audioModels": [],
      "clusterName": "eu-west-1"
    }
  ]
}

GET /auth/teams/{teamId}/endpoints

列出可用于 API 密钥的所有端点 ACL。

路径参数

  • teamId (string, required) — 将接收其可访问端点的团队 ID。

响应体

  • acls (array<object>) — 可以分配给 API 密钥的 ACL 列表。

    • acl (string) — 要在 API 密钥上使用的 acl 键。

    • description (string) — 描述此 ACL 功能的说明。

    • namespace (string) — ACL 命名空间。

    • key (string) — ACL 键。

    • value (string) — ACL 值(可选)。

响应示例:

json
{
  "acls": [
    {
      "acl": "api-key:endpoint:chat",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "chat"
    },
    {
      "acl": "api-key:endpoint:embed",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "embed"
    },
    {
      "acl": "api-key:endpoint:image",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "image"
    },
    {
      "acl": "api-key:endpoint:models",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "models"
    },
    {
      "acl": "api-key:endpoint:sample",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "sample"
    },
    {
      "acl": "api-key:endpoint:tokenize",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "tokenize"
    },
    {
      "acl": "api-key:endpoint:documents",
      "description": "Grants access to use a specific endpoint with an API Key.",
      "namespace": "api-key",
      "key": "endpoint",
      "value": "documents"
    }
  ]
}

GET /auth/management-keys/validation

GET 请求到 /auth/management-keys/validation 的 API 端点。

响应体

  • apiKeyId (string) — 此密钥的 ID。

  • teamId (string) — [已弃用] 请使用 scope 和 scope_id。 密钥可以代表其操作的团队 ID。

  • scope ("SCOPE_UNSPECIFIED" | "SCOPE_TEAM" | "SCOPE_ORGANIZATION")) — 密钥关联的范围。

  • scopeId (string) — 密钥关联的范围 ID。

  • ownerUserId (string) — 拥有此密钥的用户 ID。

  • createTime (string) — 密钥创建的时间。

  • modifyTime (string) — 密钥上次修改的时间。

  • name (string) — 此密钥的名称(仅用于人类)。

  • acls (array<string>) — 此密钥的 ACL(控制可以使用密钥访问哪些 API)。

  • apiKey (string) — 仅在密钥创建时设置。

  • redactedApiKey (string) — 实际密钥的缩短版本。

  • ipRanges (object)

    • ipRanges (array<object>)) — IP 范围列表。

      • address (object)

        • ipv4 (string)

        • ipv6 (string)

      • prefixLength (integer)

响应示例:

json
{
  "apiKeyId": "b86ba29d-9f47-4b3a-a6ae-e69432d5f0dc",
  "teamId": "65c1e471-205f-4566-9c5a-07198badf4ce",
  "scope": "SCOPE_TEAM",
  "scopeId": "65c1e471-205f-4566-9c5a-07198badf4ce",
  "ownerUserId": "4d52c406-6ec6-4361-9b7c-40dc7e8ff284",
  "createTime": "2025-12-10T23:17:49.460374Z",
  "modifyTime": "2025-12-10T23:17:49.460374Z",
  "name": "test key",
  "acls": [
    "team-token:endpoint:ListApiKeys",
    "team-token:endpoint:CheckApiKeyPropagation",
    "team-token:endpoint:ListPossibleEndpointAcls"
  ],
  "reactedApiKey": "xai-...r42q",
  "ipRanges": null
}

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。