# Example schema for Copilot usage metrics

See an example schema of the data returned by the Copilot usage metrics API.

The following are example schemas for the user-level, enterprise-level, and repository-level data returned by the Copilot usage metrics endpoints. The actual data returned may vary based on the specific metrics being tracked and the level of aggregation. You can use these examples as a reference for understanding the structure of the data and how to interpret the various fields and metrics included in the API response.

## User-level schema example

```json copy
[{
  "ai_adoption_phase": {
    "phase": "Phase 2",
    "phase_number": 2,
    "version": "v1"
  },
  "ai_credits_used": 12.5,
  "code_acceptance_activity_count": 3,
  "code_generation_activity_count": 3,
  "day": "2025-10-01",
  "enterprise_id": "1",
  "loc_added_sum": 32,
  "loc_deleted_sum": 6,
  "loc_suggested_to_add_sum": 34,
  "loc_suggested_to_delete_sum": 6,
  "totals_by_cli": {
    "last_known_cli_version": {
      "cli_version": "1.0.8",
      "sampled_at": "2025-10-01T00:01:43.000Z"
    },
    "prompt_count": 2,
    "request_count": 2,
    "session_count": 2,
    "token_usage": {
      "avg_tokens_per_request": 4400.0,
      "output_tokens_sum": 5000,
      "prompt_tokens_sum": 3800
    }
  },
  "totals_by_copilot_app": {
    "prompt_count": 1,
    "request_count": 3,
    "session_count": 1,
    "token_usage": {
      "avg_tokens_per_request": 3200.0,
      "output_tokens_sum": 4200,
      "prompt_tokens_sum": 5400
    }
  },
  "totals_by_3rd_party_agent": [{
    "agent_id": "2246796",
    "agent_name": "Claude (Anthropic)",
    "user_initiated_interaction_count": 2
  }, {
    "agent_id": "2248422",
    "agent_name": "Codex (OpenAI)",
    "user_initiated_interaction_count": 2
  }],
  "totals_by_feature": [{
    "code_acceptance_activity_count": 1,
    "code_generation_activity_count": 1,
    "feature": "code_completion",
    "loc_added_sum": 8,
    "loc_deleted_sum": 0,
    "loc_suggested_to_add_sum": 10,
    "loc_suggested_to_delete_sum": 0,
    "user_initiated_interaction_count": 0
  }, {
    "code_acceptance_activity_count": 2,
    "code_generation_activity_count": 2,
    "feature": "copilot_app",
    "loc_added_sum": 24,
    "loc_deleted_sum": 6,
    "loc_suggested_to_add_sum": 24,
    "loc_suggested_to_delete_sum": 6,
    "user_initiated_interaction_count": 1
  }],
  "totals_by_ide": [{
    "code_acceptance_activity_count": 1,
    "code_generation_activity_count": 1,
    "ide": "vscode",
    "last_known_ide_version": {
      "ide_version": "1.85.0",
      "sampled_at": "2025-10-01T00:00:02.000Z"
    },
    "last_known_plugin_version": {
      "plugin": "",
      "plugin_version": "",
      "sampled_at": "2025-10-01T00:00:02.000Z"
    },
    "loc_added_sum": 8,
    "loc_deleted_sum": 0,
    "loc_suggested_to_add_sum": 10,
    "loc_suggested_to_delete_sum": 0,
    "user_initiated_interaction_count": 0
  }],
  "totals_by_language_feature": [{
    "code_acceptance_activity_count": 1,
    "code_generation_activity_count": 1,
    "feature": "code_completion",
    "language": "unknown",
    "loc_added_sum": 8,
    "loc_deleted_sum": 0,
    "loc_suggested_to_add_sum": 10,
    "loc_suggested_to_delete_sum": 0
  }, {
    "code_acceptance_activity_count": 2,
    "code_generation_activity_count": 2,
    "feature": "copilot_app",
    "language": "markdown",
    "loc_added_sum": 24,
    "loc_deleted_sum": 6,
    "loc_suggested_to_add_sum": 24,
    "loc_suggested_to_delete_sum": 6
  }],
  "totals_by_language_model": [],
  "totals_by_model_feature": [],
  "used_agent": false,
  "used_chat": false,
  "used_cli": true,
  "used_copilot_app": true,
  "used_copilot_cloud_agent": false,
  "used_copilot_code_review_active": null,
  "used_copilot_code_review_passive": null,
  "used_copilot_coding_agent": false,
  "user_id": 1,
  "user_login": "login1",
  "user_initiated_interaction_count": 1,
  "etl_id": "green",
  "day_partition": "2025-10-01",
  "entity_id_partition": 1
}]
```

Organization per-user reports use the same `totals_by_3rd_party_agent` entry fields and also include `organization_id`. Per-user entries do not include `session_count`.

In this example, `used_copilot_code_review_active` and `used_copilot_code_review_passive` are `null` because there was no Copilot code review signal for the user that day. `used_copilot_cloud_agent` and `used_copilot_coding_agent` always carry the same value.

## Enterprise-level schema example

```json copy
[ {
  "day_totals" : [ {
    "code_acceptance_activity_count" : 4,
    "code_generation_activity_count" : 4,
    "daily_active_cli_users" : 2,
    "daily_active_copilot_app_users" : 1,
    "daily_active_copilot_cloud_agent_users" : 1,
    "daily_active_copilot_code_review_users" : 1,
    "daily_active_users" : 2,
    "daily_passive_copilot_code_review_users" : 0,
    "day" : "2025-10-01",
    "enterprise_id" : "1",
    "loc_added_sum" : 54,
    "loc_deleted_sum" : 6,
    "loc_suggested_to_add_sum" : 59,
    "loc_suggested_to_delete_sum" : 6,
    "monthly_active_agent_users" : 0,
    "monthly_active_chat_users" : 0,
    "monthly_active_copilot_cloud_agent_users" : 1,
    "monthly_active_copilot_code_review_users" : 1,
    "monthly_active_users" : 2,
    "monthly_passive_copilot_code_review_users" : 0,
    "pull_requests" : {
      "median_minutes_to_merge" : 2.5,
      "median_minutes_to_merge_copilot_authored" : 2.5,
      "median_minutes_to_merge_copilot_reviewed" : 2.5,
      "total_applied_suggestions" : 1,
      "total_copilot_applied_suggestions" : 1,
      "total_copilot_suggestions" : 1,
      "total_created" : 2,
      "total_created_by_copilot" : 1,
      "total_merged" : 2,
      "total_merged_created_by_copilot" : 1,
      "total_merged_reviewed_by_copilot" : 1,
      "total_reviewed" : 1,
      "total_reviewed_by_copilot" : 1,
      "total_suggestions" : 1
    },
    "totals_by_3rd_party_agent" : [ {
      "agent_id" : "2246796",
      "agent_name" : "Claude (Anthropic)",
      "session_count" : 1,
      "user_initiated_interaction_count" : 2
    }, {
      "agent_id" : "2248422",
      "agent_name" : "Codex (OpenAI)",
      "session_count" : 2,
      "user_initiated_interaction_count" : 2
    } ],
    "totals_by_ai_adoption_phase" : [ {
      "avg_code_acceptance_activities" : 1.0,
      "avg_code_generation_activities" : 1.0,
      "avg_loc_added" : 22.0,
      "avg_loc_deleted" : 0.0,
      "avg_pull_requests_created" : 1.0,
      "avg_pull_requests_median_minutes_to_merge" : 2.5,
      "avg_pull_requests_merged" : 1.0,
      "avg_pull_requests_minutes_to_review" : 1.5,
      "avg_pull_requests_review_cycles" : 1.0,
      "avg_pull_requests_reviewed" : 0.0,
      "avg_user_initiated_interactions" : 0.0,
      "phase" : "Phase 1",
      "phase_number" : 1,
      "total_engaged_users" : 1,
      "total_pull_requests_merged" : 1
    }, {
      "avg_code_acceptance_activities" : 3.0,
      "avg_code_generation_activities" : 3.0,
      "avg_loc_added" : 32.0,
      "avg_loc_deleted" : 6.0,
      "avg_pull_requests_created" : 1.0,
      "avg_pull_requests_median_minutes_to_merge" : 2.5,
      "avg_pull_requests_merged" : 1.0,
      "avg_pull_requests_minutes_to_review" : 2.0,
      "avg_pull_requests_review_cycles" : 2.0,
      "avg_pull_requests_reviewed" : 1.0,
      "avg_user_initiated_interactions" : 1.0,
      "phase" : "Phase 2",
      "phase_number" : 2,
      "total_engaged_users" : 1,
      "total_pull_requests_merged" : 1
    } ],
    "totals_by_cli" : {
      "prompt_count" : 3,
      "request_count" : 3,
      "session_count" : 3,
      "token_usage" : {
        "avg_tokens_per_request" : 4100.0,
        "output_tokens_sum" : 7000,
        "prompt_tokens_sum" : 5300
      }
    },
    "totals_by_copilot_app" : {
      "prompt_count" : 2,
      "request_count" : 6,
      "session_count" : 2,
      "token_usage" : {
        "avg_tokens_per_request" : 2466.67,
        "output_tokens_sum" : 6200,
        "prompt_tokens_sum" : 8600
      }
    },
    "totals_by_feature" : [ {
      "code_acceptance_activity_count" : 2,
      "code_generation_activity_count" : 2,
      "feature" : "code_completion",
      "loc_added_sum" : 30,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 35,
      "loc_suggested_to_delete_sum" : 0,
      "user_initiated_interaction_count" : 0
    }, {
      "code_acceptance_activity_count" : 2,
      "code_generation_activity_count" : 2,
      "feature" : "copilot_app",
      "loc_added_sum" : 24,
      "loc_deleted_sum" : 6,
      "loc_suggested_to_add_sum" : 24,
      "loc_suggested_to_delete_sum" : 6,
      "user_initiated_interaction_count" : 1
    } ],
    "totals_by_ide" : [ {
      "code_acceptance_activity_count" : 2,
      "code_generation_activity_count" : 2,
      "ide" : "vscode",
      "loc_added_sum" : 30,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 35,
      "loc_suggested_to_delete_sum" : 0,
      "user_initiated_interaction_count" : 0
    } ],
    "totals_by_language_feature" : [ {
      "code_acceptance_activity_count" : 2,
      "code_generation_activity_count" : 2,
      "feature" : "code_completion",
      "language" : "unknown",
      "loc_added_sum" : 30,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 35,
      "loc_suggested_to_delete_sum" : 0
    }, {
      "code_acceptance_activity_count" : 2,
      "code_generation_activity_count" : 2,
      "feature" : "copilot_app",
      "language" : "markdown",
      "loc_added_sum" : 24,
      "loc_deleted_sum" : 6,
      "loc_suggested_to_add_sum" : 24,
      "loc_suggested_to_delete_sum" : 6
    } ],
    "totals_by_language_model" : [ ],
    "totals_by_model_feature" : [ ],
    "user_initiated_interaction_count" : 1,
    "weekly_active_copilot_cloud_agent_users" : 1,
    "weekly_active_copilot_code_review_users" : 1,
    "weekly_active_users" : 2,
    "weekly_passive_copilot_code_review_users" : 0
  } ],
  "enterprise_id" : "1",
  "report_end_day" : "2025-10-01",
  "report_start_day" : "2025-09-04",
  "etl_id" : "green",
  "day_partition" : "2025-10-01",
  "entity_id_partition" : 1
}, {
  "day_totals" : [ {
    "code_acceptance_activity_count" : 2,
    "code_generation_activity_count" : 3,
    "daily_active_copilot_cloud_agent_users" : 0,
    "daily_active_copilot_code_review_users" : 0,
    "daily_active_users" : 2,
    "daily_passive_copilot_code_review_users" : 0,
    "day" : "2025-10-01",
    "enterprise_id" : "2",
    "loc_added_sum" : 50,
    "loc_deleted_sum" : 3,
    "loc_suggested_to_add_sum" : 52,
    "loc_suggested_to_delete_sum" : 3,
    "monthly_active_agent_users" : 0,
    "monthly_active_chat_users" : 0,
    "monthly_active_copilot_cloud_agent_users" : 0,
    "monthly_active_copilot_code_review_users" : 0,
    "monthly_active_users" : 2,
    "monthly_passive_copilot_code_review_users" : 0,
    "pull_requests" : {
      "total_applied_suggestions" : 0,
      "total_copilot_applied_suggestions" : 0,
      "total_copilot_suggestions" : 0,
      "total_created" : 1,
      "total_created_by_copilot" : 0,
      "total_merged" : 0,
      "total_merged_created_by_copilot" : 0,
      "total_merged_reviewed_by_copilot" : 0,
      "total_reviewed" : 1,
      "total_reviewed_by_copilot" : 0,
      "total_suggestions" : 1
    },
    "totals_by_ai_adoption_phase" : [ {
      "avg_code_acceptance_activities" : 0.0,
      "avg_code_generation_activities" : 1.0,
      "avg_loc_added" : 12.0,
      "avg_loc_deleted" : 3.0,
      "avg_pull_requests_created" : 0.0,
      "avg_pull_requests_median_minutes_to_merge" : 0.0,
      "avg_pull_requests_merged" : 0.0,
      "avg_pull_requests_minutes_to_review" : 0.0,
      "avg_pull_requests_review_cycles" : 0.0,
      "avg_pull_requests_reviewed" : 0.0,
      "avg_user_initiated_interactions" : 0.0,
      "phase" : "No Cohort",
      "phase_number" : 0,
      "total_engaged_users" : 1,
      "total_pull_requests_merged" : 0
    }, {
      "avg_code_acceptance_activities" : 2.0,
      "avg_code_generation_activities" : 2.0,
      "avg_loc_added" : 38.0,
      "avg_loc_deleted" : 0.0,
      "avg_pull_requests_created" : 1.0,
      "avg_pull_requests_median_minutes_to_merge" : 0.0,
      "avg_pull_requests_merged" : 0.0,
      "avg_pull_requests_minutes_to_review" : 0.0,
      "avg_pull_requests_review_cycles" : 0.0,
      "avg_pull_requests_reviewed" : 1.0,
      "avg_user_initiated_interactions" : 1.0,
      "phase" : "Phase 1",
      "phase_number" : 1,
      "total_engaged_users" : 1,
      "total_pull_requests_merged" : 0
    } ],
    "totals_by_feature" : [ {
      "code_acceptance_activity_count" : 1,
      "code_generation_activity_count" : 2,
      "feature" : "code_completion",
      "loc_added_sum" : 38,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 40,
      "loc_suggested_to_delete_sum" : 0,
      "user_initiated_interaction_count" : 0
    }, {
      "code_acceptance_activity_count" : 1,
      "code_generation_activity_count" : 1,
      "feature" : "copilot_app",
      "loc_added_sum" : 12,
      "loc_deleted_sum" : 3,
      "loc_suggested_to_add_sum" : 12,
      "loc_suggested_to_delete_sum" : 3,
      "user_initiated_interaction_count" : 1
    } ],
    "totals_by_ide" : [ {
      "code_acceptance_activity_count" : 1,
      "code_generation_activity_count" : 2,
      "ide" : "vscode",
      "loc_added_sum" : 38,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 40,
      "loc_suggested_to_delete_sum" : 0,
      "user_initiated_interaction_count" : 0
    } ],
    "totals_by_language_feature" : [ {
      "code_acceptance_activity_count" : 1,
      "code_generation_activity_count" : 2,
      "feature" : "code_completion",
      "language" : "unknown",
      "loc_added_sum" : 38,
      "loc_deleted_sum" : 0,
      "loc_suggested_to_add_sum" : 40,
      "loc_suggested_to_delete_sum" : 0
    }, {
      "code_acceptance_activity_count" : 1,
      "code_generation_activity_count" : 1,
      "feature" : "copilot_app",
      "language" : "markdown",
      "loc_added_sum" : 12,
      "loc_deleted_sum" : 3,
      "loc_suggested_to_add_sum" : 12,
      "loc_suggested_to_delete_sum" : 3
    } ],
    "totals_by_language_model" : [ ],
    "totals_by_model_feature" : [ ],
    "user_initiated_interaction_count" : 1,
    "weekly_active_copilot_cloud_agent_users" : 0,
    "weekly_active_copilot_code_review_users" : 0,
    "weekly_active_users" : 2,
    "weekly_passive_copilot_code_review_users" : 0
  } ],
  "enterprise_id" : "2",
  "report_end_day" : "2025-10-01",
  "report_start_day" : "2025-09-04",
  "etl_id" : "green",
  "day_partition" : "2025-10-01",
  "entity_id_partition" : 2
} ]
```

Organization aggregated reports use the same `totals_by_3rd_party_agent` entry fields, including `session_count`, and also include `organization_id`.

The following user-teams report examples are returned by the `user-teams-1-day` endpoints and are intended to be joined with the per-user usage report on `user_id`, `day`, and the relevant entity id (`organization_id` for the organization scope, `enterprise_id` for the enterprise scope) to derive team-level metrics. For more guidance, see [Team-level Copilot usage metrics](/en/copilot/reference/copilot-usage-metrics/team-level-metrics).

> \[!NOTE]
> Teams with fewer than 5 seated Copilot users are omitted from user-teams reports.

## Organization user-teams schema example

```json copy
[
  {
    "user_id": 1001,
    "user_login": "octocat",
    "day": "2026-05-14",
    "organization_id": "999",
    "team_id": 42,
    "slug": "frontend"
  },
  {
    "user_id": 1001,
    "user_login": "octocat",
    "day": "2026-05-14",
    "organization_id": "999",
    "team_id": 43,
    "slug": "backend"
  },
  {
    "user_id": 1002,
    "user_login": "hubot",
    "day": "2026-05-14",
    "organization_id": "999",
    "team_id": 42,
    "slug": "frontend"
  }
]
```

## Enterprise user-teams schema example

```json copy
[
  {
    "user_id": 1001,
    "user_login": "octocat",
    "day": "2026-05-14",
    "enterprise_id": "1",
    "team_id": 9001,
    "slug": "eng-platform"
  },
  {
    "user_id": 1001,
    "user_login": "octocat",
    "day": "2026-05-14",
    "enterprise_id": "1",
    "team_id": 7001,
    "slug": "business-analytics"
  },
  {
    "user_id": 1002,
    "user_login": "hubot",
    "day": "2026-05-14",
    "enterprise_id": "1",
    "team_id": 9001,
    "slug": "eng-platform"
  }
]
```

## Repository-level schema example

The following repository-level report example is returned in the NDJSON files downloaded from the `repos-1-day` endpoints. Each row represents one repository with pull request activity on the requested day. Both enterprise- and organization-scoped rows populate `organization_id` (the organization that owns each repository). Enterprise-scoped rows also populate `enterprise_id`, and organization-scoped rows populate `enterprise_id` only for organizations owned by an enterprise. For the field reference, see [Data available in Copilot usage metrics](/en/copilot/reference/copilot-usage-metrics/copilot-usage-metrics#repository-level-fields-api-only).

```json copy
[
  {
    "day": "2026-07-14",
    "enterprise_id": "1001",
    "organization_id": "2002",
    "repo_id": 900000001,
    "repo_owner_name": "octodemo-metrics",
    "repo_name": "example-service-alpha",
    "repo_visibility": "INTERNAL",
    "pull_requests": {
      "total_reviewed": 1,
      "total_created": 1,
      "total_created_by_copilot": 1,
      "total_reviewed_by_copilot": 1,
      "total_merged": 1,
      "median_minutes_to_merge": 372.62,
      "total_suggestions": 0,
      "total_applied_suggestions": 0,
      "total_merged_created_by_copilot": 1,
      "median_minutes_to_merge_copilot_authored": 372.62,
      "total_copilot_suggestions": 0,
      "total_copilot_applied_suggestions": 0,
      "total_merged_reviewed_by_copilot": 1,
      "median_minutes_to_merge_copilot_reviewed": 372.62,
      "copilot_suggestions_by_comment_type": []
    }
  },
  {
    "day": "2026-07-14",
    "enterprise_id": "1001",
    "organization_id": "2002",
    "repo_id": 900000003,
    "repo_owner_name": "octodemo-metrics",
    "repo_name": "example-service-gamma",
    "repo_visibility": "INTERNAL",
    "pull_requests": {
      "total_reviewed": 1,
      "total_created": 0,
      "total_created_by_copilot": 0,
      "total_reviewed_by_copilot": 1,
      "total_merged": 1,
      "median_minutes_to_merge": 1020.53,
      "total_suggestions": 0,
      "total_applied_suggestions": 1,
      "total_merged_created_by_copilot": 0,
      "total_copilot_suggestions": 0,
      "total_copilot_applied_suggestions": 1,
      "total_merged_reviewed_by_copilot": 1,
      "median_minutes_to_merge_copilot_reviewed": 1020.53,
      "copilot_suggestions_by_comment_type": [
        {
          "comment_type": "spelling",
          "total_copilot_suggestions": 0,
          "total_copilot_applied_suggestions": 1
        }
      ]
    }
  },
  {
    "day": "2026-07-14",
    "organization_id": "3003",
    "enterprise_id": "",
    "repo_id": 900000010,
    "repo_owner_name": "octodemo-metrics",
    "repo_name": "example-service-delta",
    "repo_visibility": "PRIVATE",
    "pull_requests": {
      "total_reviewed": 1,
      "total_created": 0,
      "total_created_by_copilot": 0,
      "total_reviewed_by_copilot": 1,
      "total_merged": 2,
      "median_minutes_to_merge": 1332.96,
      "total_suggestions": 1,
      "total_applied_suggestions": 2,
      "total_merged_created_by_copilot": 1,
      "median_minutes_to_merge_copilot_authored": 1329.47,
      "total_copilot_suggestions": 1,
      "total_copilot_applied_suggestions": 2,
      "total_merged_reviewed_by_copilot": 2,
      "median_minutes_to_merge_copilot_reviewed": 1332.96,
      "copilot_suggestions_by_comment_type": [
        {
          "comment_type": "documentation",
          "total_copilot_suggestions": 1,
          "total_copilot_applied_suggestions": 1
        },
        {
          "comment_type": "spelling",
          "total_copilot_suggestions": 0,
          "total_copilot_applied_suggestions": 1
        }
      ]
    }
  }
]
```