Skip to main content
Skip to content

endpoints de API REST para la conformidad de licencias

Use la API REST para comprobar los paquetes según la política de cumplimiento de licencias de un repositorio.

Get the license compliance policy for an enterprise

Gets the license compliance policy for an enterprise.

Currently, only the policy with the ID default is supported.

The authenticated user must be an enterprise owner, or have the "View enterprise license policy" or "Edit enterprise license policy" fine-grained permission on the enterprise.

Tokens de acceso granulares para "Get the license compliance policy for an enterprise"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Enterprise license policy" enterprise permissions (read)

Parámetros para "Get the license compliance policy for an enterprise"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
enterprise string Obligatorio

The slug version of the enterprise name.

policy_id string Obligatorio

The unique identifier of the policy within the enterprise. Currently, only default is supported.

Códigos de estado de respuesta HTTP para "Get the license compliance policy for an enterprise"

código de estadoDescripción
200

OK

404

Resource not found

503

Service unavailable

Ejemplos de código para "Get the license compliance policy for an enterprise"

Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.

Ejemplo de solicitud

get/enterprises/{enterprise}/license-compliance/policies/{policy_id}
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/enterprises/ENTERPRISE/license-compliance/policies/POLICY_ID

Response

Status: 200
{ "created_at": "2026-09-22T12:00:00Z", "licenses": { "allowed": [ { "spdx_id": "MIT", "added_at": "2026-09-22T12:00:00Z" } ] }, "packages": [ { "package_manager": "npm", "name": "example-package", "action": "allowed", "reason": "Approved exception.", "extra_allowed_spdx_ids": [ "MIT" ], "added_at": "2026-09-22T12:00:00Z" } ] }

Set the license compliance policy for an enterprise

Sets the license compliance policy for an enterprise.

Currently, only the policy with the ID default is supported.

The authenticated user must be an enterprise owner, or have the "Edit enterprise license policy" fine-grained permission on the enterprise.

Tokens de acceso granulares para "Set the license compliance policy for an enterprise"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Enterprise license policy" enterprise permissions (write)

Parámetros para "Set the license compliance policy for an enterprise"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
enterprise string Obligatorio

The slug version of the enterprise name.

policy_id string Obligatorio

The unique identifier of the policy within the enterprise. Currently, only default is supported.

Parámetros del cuerpo
Nombre, Tipo, Descripción
licenses object Obligatorio
Nombre, Tipo, Descripción
allowed array of objects Obligatorio

The licenses allowed by this policy.

Nombre, Tipo, Descripción
spdx_id string Obligatorio

The SPDX identifier of the license.

added_at string or null Obligatorio

The time the license was added to the policy.

packages array of objects Obligatorio

The package-level exceptions in this policy.

Nombre, Tipo, Descripción
package_manager string Obligatorio

The package manager the package belongs to.

Puede ser uno de los siguientes: unknown, rubygems, npm, pip, maven, nuget, composer, gomod, rust, actions, pub, swift

name string Obligatorio

The name of the package.

action string Obligatorio

How the package is treated by the policy.

Puede ser uno de los siguientes: unknown, allowed, private

reason string Obligatorio

The reason the exception was added.

extra_allowed_spdx_ids array of strings Obligatorio

Additional SPDX identifiers allowed for this package.

added_at string or null Obligatorio

The time the exception was added to the policy.

Códigos de estado de respuesta HTTP para "Set the license compliance policy for an enterprise"

código de estadoDescripción
204

A header with no content is returned.

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

503

Service unavailable

Ejemplos de código para "Set the license compliance policy for an enterprise"

Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.

Ejemplo de solicitud

put/enterprises/{enterprise}/license-compliance/policies/{policy_id}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/enterprises/ENTERPRISE/license-compliance/policies/POLICY_ID \ -d '{"licenses":{"allowed":[{"spdx_id":"MIT","added_at":"2026-09-22T12:00:00Z"}]},"packages":[{"package_manager":"npm","name":"example-package","action":"allowed","reason":"Approved exception.","extra_allowed_spdx_ids":["MIT"],"added_at":"2026-09-22T12:00:00Z"}]}'

A header with no content is returned.

Status: 204

Check license compliance for packages

Checks whether packages identified by the supplied package URLs (PURLs) are allowed by the repository's license compliance policy.

For requests made on behalf of a user, that user must have write access to the repository or the "View repository license policy" permission. OAuth apps and classic personal access tokens require the repo scope.

Tokens de acceso granulares para "Check license compliance for packages"

Este punto de conexión funciona con los siguientes tipos de token pormenorizados:

El token pormenorizado debe tener el siguiente conjunto de permisos:

  • "Repository license policy" repository permissions (read)

Parámetros para "Check license compliance for packages"

Encabezados
Nombre, Tipo, Descripción
accept string

Setting to application/vnd.github+json is recommended.

Parámetros de ruta
Nombre, Tipo, Descripción
owner string Obligatorio

The account owner of the repository. The name is not case sensitive.

repo string Obligatorio

The name of the repository without the .git extension. The name is not case sensitive.

Parámetros del cuerpo
Nombre, Tipo, Descripción
purls array of strings Obligatorio

Up to 40 package URLs to check against the license compliance policy. Duplicate package URLs count toward the limit but are checked once.

Códigos de estado de respuesta HTTP para "Check license compliance for packages"

código de estadoDescripción
200

Package license compliance results.

403

Forbidden

404

License compliance policy not found.

422

Validation failed, or the endpoint has been spammed.

503

Service unavailable

Ejemplos de código para "Check license compliance for packages"

Si accede a GitHub en GHE.com, reemplace api.github.com por el subdominio dedicado de la empresa en api.SUBDOMAIN.ghe.com.

Ejemplos de solicitud

post/repos/{owner}/{repo}/license-compliance/package-checks
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/license-compliance/package-checks \ -d '{"purls":["pkg:npm/lodash@4.17.21"]}'

Package license compliance results.

Status: 200
{ "purls": { "pkg:npm/lodash@4.17.21": { "status": "allowed", "license": "MIT", "reason": "allowed_license" } } }