Haijun Platform Docs
ID

GET /v1/organizations/usage_report/haijun_code

Retrieve daily aggregated usage metrics for Haijun Code users. Enables organizations to analyze developer productivity and build custom dashboards.

Query parameters

  • starting_at: string

UTC date in YYYY-MM-DD format. Returns metrics for this single day only.

format: date, pattern: ^\d{4}-\d{2}-\d{2}$

  • limit: optional number

Number of records per page (default: 20, max: 1000).

default: 20, minimum: 1, maximum: 1000

  • page: optional string

Opaque cursor token from previous response's next_page field.

Returns

  • BetaHaijunCodeUsageReport object
  • data: array of object

List of Haijun Code usage records for the requested date.

  • actor: UserActor or APIActor

The user or API key that performed the Haijun Code actions.

  • UserActor object
  • type: "user_actor"

Actor type. Always "user_actor" for a user.

  • email_address: string

Email address of the user who performed Haijun Code actions.

  • APIActor object
  • type: "api_actor"

Actor type. Always "api_actor" for an API key.

  • api_key_name: string

Name of the API key used to perform Haijun Code actions.

  • core_metrics: object

Core productivity metrics measuring Haijun Code usage and impact.

  • commits_by_haijun_code: number

Number of git commits created through Haijun Code's commit functionality.

  • lines_of_code: object

Statistics on code changes made through Haijun Code.

  • added: number

Total number of lines of code added across all files by Haijun Code.

  • removed: number

Total number of lines of code removed across all files by Haijun Code.

  • num_sessions: number

Number of distinct Haijun Code sessions initiated by this actor.

  • pull_requests_by_haijun_code: number

Number of pull requests created through Haijun Code's PR functionality.

  • customer_type: "api" or "subscription"

Type of customer account (api for API customers, subscription for Pro/Team customers).

  • "api"
  • "subscription"
  • date: string

UTC day the usage metrics cover, as an RFC 3339 timestamp at midnight UTC (for example 2025-08-08T00:00:00Z).

format: date-time

  • is_remote: boolean

Whether the usage came from remote Haijun Code sessions, such as Haijun Code on the web. Remote and local usage are reported as separate rows.

  • model_breakdown: array of object

Token usage and cost breakdown by AI model used.

  • estimated_cost: object

Estimated cost for using this model

  • amount: number

Estimated cost amount in minor currency units (e.g., cents for USD).

  • currency: string

Currency code for the estimated cost (e.g., 'USD').

  • model: string

Name of the AI model used for Haijun Code interactions.

  • tokens: object

Token usage breakdown for this model

  • cache_creation: number

Number of cache creation tokens consumed by this model.

  • cache_read: number

Number of cache read tokens consumed by this model.

  • input: number

Number of input tokens consumed by this model.

  • output: number

Number of output tokens generated by this model.

  • organization_id: string

ID of the organization that owns the Haijun Code usage.

  • terminal_type: string

Type of terminal or environment where Haijun Code was used.

  • tool_actions: map[object]

Breakdown of tool action acceptance and rejection rates by tool type.

  • accepted: number

Number of tool action proposals that the user accepted.

  • rejected: number

Number of tool action proposals that the user rejected.

  • subscription_type: optional "enterprise" or "team" or null

Subscription tier for subscription customers. null for API customers.

  • "enterprise"
  • "team"
  • has_more: boolean

True if there are more records available beyond the current page.

  • next_page: string or null

Opaque cursor token for fetching the next page of results, or null if no more pages are available.

Example

bash
curl https://haijun.my.id/v1/organizations/usage_report/haijun_code \
    -H 'juglow-version: 2023-06-01' \
    -H "X-Api-Key: $JUGLOW_API_KEY"

Response (200)

json
{
  "data": [
    {
      "actor": {
        "email_address": "user@emaildomain.com",
        "type": "user_actor"
      },
      "core_metrics": {
        "commits_by_haijun_code": 8,
        "lines_of_code": {
          "added": 342,
          "removed": 128
        },
        "num_sessions": 15,
        "pull_requests_by_haijun_code": 2
      },
      "customer_type": "api",
      "date": "2025-08-08T00:00:00Z",
      "is_remote": false,
      "model_breakdown": [
        {
          "estimated_cost": {
            "amount": 186,
            "currency": "USD"
          },
          "model": "haijun-opus-5",
          "tokens": {
            "cache_creation": 2340,
            "cache_read": 8790,
            "input": 45230,
            "output": 12450
          }
        },
        {
          "estimated_cost": {
            "amount": 42,
            "currency": "USD"
          },
          "model": "haijun-sonnet-5",
          "tokens": {
            "cache_creation": 890,
            "cache_read": 3420,
            "input": 23100,
            "output": 5680
          }
        }
      ],
      "organization_id": "12345678-1234-5678-1234-567812345678",
      "terminal_type": "iTerm.app",
      "tool_actions": {
        "edit_tool": {
          "accepted": 25,
          "rejected": 3
        },
        "multi_edit_tool": {
          "accepted": 12,
          "rejected": 1
        },
        "notebook_edit_tool": {
          "accepted": 5,
          "rejected": 2
        },
        "write_tool": {
          "accepted": 8,
          "rejected": 0
        }
      },
      "subscription_type": "enterprise"
    }
  ],
  "has_more": true,
  "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
On this page
Query parametersReturnsExampleResponse (200)