Points de terminaison d’API REST pour la gestion des stratégies de modèle Copilot
Utilisez l’API REST pour gérer les Copilot politiques de modèle pour une organisation.
Get model policies for an organization
Use this endpoint to retrieve the effective Copilot model policy for every model available to an organization, whether explicitly configured or determined by default availability.
For a model without an effective explicit policy that is eligible for default availability, the enterprise default is used when it is configured. Otherwise, the organization's default is used. A model that is not eligible for default availability and has no effective explicit policy is disabled. For more information, see About default availability of Copilot models.
The organization must either be independent or belong to an enterprise that is not using enterprise teams for model policy.
Organization owners can use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.
Organization SAML authorization and OAuth app access restrictions also apply.
Jetons d'accès granulaires pour «Get model policies for an organization»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
- jetons d’accès utilisateur de l’application GitHub
- jetons d’accès d’installation de l’application GitHub
- Tokens d’accès personnel à granularité fine
Le token à granularité fine doit disposer de l’ensemble d’autorisations suivant:
- "Administration" organization permissions (write)
Paramètres pour «Get model policies for an organization »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
org string RequisThe organization name. The name is not case sensitive. |
Codes d’état de réponse HTTP pour «Get model policies for an organization »
| Code de statut | Description |
|---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Exemples de code pour «Get model policies for an organization »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/orgs/ORG/copilot/model-policiesOK
Status: 200{
"default_availability": {
"policy_state": "disabled",
"editable": true
},
"models": [
{
"model_name": "gpt-5.6-sol",
"display_name": "OpenAI GPT-5.6 Sol",
"policy_state": "enabled"
},
{
"model_name": "gpt-5",
"display_name": "GPT-5",
"policy_state": "disabled"
}
]
}Update model policies for an organization
Use this endpoint to set explicit Copilot model policies and default availability for an organization. All policies in the request are updated atomically, meaning if any change in the request cannot be applied, none of the changes are saved.
Use the model_name values returned by the "Get model policies for an organization"
endpoint. Models with an inherited enterprise policy are locked and cannot be updated.
Default availability cannot be updated when its editable value is false.
The response contains the effective policies for all models available to the organization, not only the policies updated by the request.
The organization must either be independent or belong to an enterprise that is not using enterprise teams for model policy.
Organization owners can use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.
Organization SAML authorization and OAuth app access restrictions apply.
Jetons d'accès granulaires pour «Update model policies for an organization»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
- jetons d’accès utilisateur de l’application GitHub
- jetons d’accès d’installation de l’application GitHub
- Tokens d’accès personnel à granularité fine
Le token à granularité fine doit disposer de l’ensemble d’autorisations suivant:
- "Administration" organization permissions (write)
Paramètres pour «Update model policies for an organization »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
org string RequisThe organization name. The name is not case sensitive. |
| Nom, Type, Description | |||
|---|---|---|---|
default_availability object The organization's default availability for eligible models without an explicit policy. It cannot be updated when it is inherited from the enterprise. | |||
Properties of |
| Nom, Type, Description |
|---|
policy_state string RequisPeut être l'un des: |
models array of objects The model policies to update. Each model_name must be unique.
Properties of models
| Nom, Type, Description |
|---|
model_name string RequisThe public identifier of a model returned by the get endpoint. |
policy_state string RequisThe explicit policy state to set for the organization. Peut être l'un des: |
Codes d’état de réponse HTTP pour «Update model policies for an organization »
| Code de statut | Description |
|---|---|
200 | OK |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Exemples de code pour «Update model policies for an organization »
Si vous accédez à GitHub à GHE.com, remplacez api.github.com par le sous-domaine dédié de votre entreprise à api.SUBDOMAIN.ghe.com.
Exemple de requête
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/orgs/ORG/copilot/model-policies \
-d '{"default_availability":{"policy_state":"disabled"},"models":[{"model_name":"gpt-5.6-sol","policy_state":"enabled"},{"model_name":"gpt-5","policy_state":"disabled"}]}'OK
Status: 200{
"default_availability": {
"policy_state": "disabled",
"editable": true
},
"models": [
{
"model_name": "gpt-5.6-sol",
"display_name": "OpenAI GPT-5.6 Sol",
"policy_state": "enabled"
},
{
"model_name": "gpt-5",
"display_name": "GPT-5",
"policy_state": "disabled"
}
]
}