{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/github-copilot/json-schema/github-copilot-copilot-organization-details-schema.json",
  "title": "Copilot Organization Details",
  "description": "Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-copilot-copilot-api-openapi.yml#/components/schemas/copilot-organization-details",
  "type": "object",
  "properties": {
    "seat_breakdown": {
      "$ref": "#/$defs/copilot-organization-seat-breakdown"
    },
    "public_code_suggestions": {
      "type": "string",
      "description": "The organization policy for allowing or blocking suggestions matching public code (duplication detection filter).",
      "enum": [
        "allow",
        "block",
        "unconfigured"
      ]
    },
    "ide_chat": {
      "type": "string",
      "description": "The organization policy for allowing or disallowing Copilot Chat in the IDE.",
      "enum": [
        "enabled",
        "disabled",
        "unconfigured"
      ]
    },
    "platform_chat": {
      "type": "string",
      "description": "The organization policy for allowing or disallowing Copilot features on GitHub.com.",
      "enum": [
        "enabled",
        "disabled",
        "unconfigured"
      ]
    },
    "cli": {
      "type": "string",
      "description": "The organization policy for allowing or disallowing Copilot CLI.",
      "enum": [
        "enabled",
        "disabled",
        "unconfigured"
      ]
    },
    "seat_management_setting": {
      "type": "string",
      "description": "The mode of assigning new seats.",
      "enum": [
        "assign_all",
        "assign_selected",
        "disabled",
        "unconfigured"
      ]
    },
    "plan_type": {
      "type": "string",
      "description": "The Copilot plan of the organization, or the parent enterprise, when applicable.",
      "enum": [
        "business",
        "enterprise",
        "access"
      ]
    }
  },
  "required": [
    "seat_breakdown",
    "public_code_suggestions",
    "seat_management_setting"
  ],
  "additionalProperties": true,
  "$defs": {
    "copilot-organization-seat-breakdown": {
      "title": "Copilot Seat Breakdown",
      "description": "The breakdown of Copilot Business seats for the organization.",
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "description": "The total number of seats being billed for the organization as of the current billing cycle."
        },
        "added_this_cycle": {
          "type": "integer",
          "description": "Seats added during the current billing cycle."
        },
        "pending_cancellation": {
          "type": "integer",
          "description": "The number of seats that are pending cancellation at the end of the current billing cycle."
        },
        "pending_invitation": {
          "type": "integer",
          "description": "The number of users who have been invited to receive a Copilot seat through this organization."
        },
        "active_this_cycle": {
          "type": "integer",
          "description": "The number of seats that have used Copilot during the current billing cycle."
        },
        "inactive_this_cycle": {
          "type": "integer",
          "description": "The number of seats that have not used Copilot during the current billing cycle."
        }
      }
    }
  }
}