Skip to main content
OpenAPI

用量 API

Credits 用量事件查询、汇总及组织资源包与席位相关接口。

列出成员用量事件

GET /v1/organizations/{org_id}/members/{member_id}/usage-events
查询参数:
参数类型说明
startDatestring可选;开始时间,支持 RFC 3339 或 Unix 毫秒时间戳
endDatestring可选;结束时间,支持 RFC 3339 或 Unix 毫秒时间戳;同时提供起止时间时,范围不得超过 7 天
sourcesstring来源过滤,逗号分隔
operationsstring操作类型过滤,逗号分隔
modelTiersstring模型层级过滤,逗号分隔
maxResultsinteger每页条目数,默认 20,最大 100
nextTokenstring分页游标
请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/members/member_001/usage-events?startDate=2025-01-01T00:00:00Z&endDate=2025-01-07T23:59:59Z&maxResults=20" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "usages": [
    {
      "timestamp": 1736073000000,
      "userId": "550e8400-e29b-41d4-a716-446655440000",
      "memberId": "member_001",
      "userEmail": "user@example.com",
      "source": "IDE",
      "operation": "Agent",
      "modelTier": "Standard",
      "credits": 1.5,
      "cost": 1.5
    }
  ],
  "maxResults": 20,
  "nextToken": "token_xyz"
}
这是旧版用量接口:顶层字段为 usages,不会返回 eventIddurationMs。这两个字段属于以 /usage/ 开头的 V2 events 接口。

获取用量汇总

GET /v1/organizations/{org_id}/members/{member_id}/usage-summary
查询参数:
参数类型说明
startDatestring开始日期(ISO 8601)
endDatestring结束日期(ISO 8601),时间范围不超过 7 天
groupBystring分组方式:sourceoperation
请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/members/member_001/usage-summary?startDate=2025-01-10T00:00:00Z&endDate=2025-01-16T23:59:59Z&groupBy=source" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "summary": {
    "IDE": 120.5,
    "Web": 30.0
  }
}

列出组织用量事件

GET /v1/organizations/{org_id}/usage-events
查询参数与成员用量事件接口一致(支持 startDateendDatesourcesoperationsmodelTiersmaxResultsnextToken),返回组织内所有成员的用量事件。 请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/usage-events?startDate=2025-01-01T00:00:00Z&endDate=2025-01-07T23:59:59Z" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "usages": [
    {
      "timestamp": 1736073000000,
      "userId": "550e8400-e29b-41d4-a716-446655440005",
      "memberId": "member_005",
      "userEmail": "member5@example.com",
      "source": "IDE",
      "operation": "Inline Chat",
      "modelTier": "Premium",
      "credits": 5.0,
      "cost": 5.0
    }
  ],
  "maxResults": 20,
  "nextToken": "token_next"
}

列出组织共享资源包

GET /v1/organizations/{org_id}/resource-packages
查询参数:
参数类型说明
statusstring资源包状态过滤
orderBystring排序字段
orderstring排序方向:ascdesc
maxResultsinteger每页条目数,默认 20,最大 100
nextTokenstring分页游标
请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/resource-packages?status=ACTIVE&orderBy=createdAt&order=desc" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "resourcePackages": [
    {
      "packageId": "pkg_001",
      "name": "Premium Credits Pack",
      "totalCredits": 10000,
      "remainingCredits": 7500,
      "status": "ACTIVE",
      "expiresAt": "2025-06-30T23:59:59Z",
      "createdAt": "2025-01-01T00:00:00Z"
    }
  ],
  "nextToken": null
}

席位·月余额批次

GET /v1/organizations/{org_id}/seat-month-batches
仅适用于通过三方渠道购买的组织。
请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/seat-month-batches" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "batches": [
    {
      "batchId": "batch_001",
      "totalSeatMonths": 120,
      "remainingSeatMonths": 80,
      "effectiveAt": "2025-01-01T00:00:00Z",
      "expiresAt": "2025-12-31T23:59:59Z"
    }
  ]
}

指定周期席位·月消耗

GET /v1/organizations/{org_id}/seat-month-usages
仅适用于通过三方渠道购买的组织。
查询参数:
参数类型说明
periodStartstring必填;周期范围开始时间,RFC 3339 格式
periodEndstring必填;周期范围结束时间,RFC 3339 格式,必须晚于 periodStart
memberIdstring可选;按组织成员 ID 过滤
userIdstring可选;按用户 ID 过滤
pageSizeinteger可选;每页数量,默认 100,最大 500
pageTokenstring可选;传入上一次响应的 nextToken
请求示例:
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/seat-month-usages?periodStart=2025-01-01T00:00:00Z&periodEnd=2025-04-01T00:00:00Z&pageSize=100" \
  -H "Authorization: Bearer <api_key>"
响应示例:
{
  "seatMonthUsages": [
    {
      "memberId": "member_001",
      "userId": "550e8400-e29b-41d4-a716-446655440000",
      "periodStart": "2025-01-01T00:00:00Z",
      "periodEnd": "2025-02-01T00:00:00Z",
      "consumedSeatMonths": 20.0,
      "refundedSeatMonths": 5.0,
      "netSeatMonths": 15.0
    }
  ],
  "pageSize": 100,
  "nextToken": "2"
}