Skip to main content
Skip to content

REST-API-Endpunkte zur Lizenzkonformität

Verwenden Sie die REST-API, um Pakete anhand der Lizenzcompliance-Richtlinie eines Repositorys zu überprüfen.

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.

Feinkörnige Zugriffstoken für "Get the license compliance policy for an enterprise"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Enterprise license policy" enterprise permissions (read)

Parameter für "Get the license compliance policy for an enterprise"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
enterprise string Erforderlich

The slug version of the enterprise name.

policy_id string Erforderlich

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

HTTP-Antwortstatuscodes für "Get the license compliance policy for an enterprise"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

503

Service unavailable

Codebeispiele für "Get the license compliance policy for an enterprise"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

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.

Feinkörnige Zugriffstoken für "Set the license compliance policy for an enterprise"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Enterprise license policy" enterprise permissions (write)

Parameter für "Set the license compliance policy for an enterprise"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
enterprise string Erforderlich

The slug version of the enterprise name.

policy_id string Erforderlich

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

Körperparameter
Name, Typ, BESCHREIBUNG
licenses object Erforderlich
Name, Typ, BESCHREIBUNG
allowed array of objects Erforderlich

The licenses allowed by this policy.

Name, Typ, BESCHREIBUNG
spdx_id string Erforderlich

The SPDX identifier of the license.

added_at string or null Erforderlich

The time the license was added to the policy.

packages array of objects Erforderlich

The package-level exceptions in this policy.

Name, Typ, BESCHREIBUNG
package_manager string Erforderlich

The package manager the package belongs to.

Kann eine der folgenden sein: unknown, rubygems, npm, pip, maven, nuget, composer, gomod, rust, actions, pub, swift

name string Erforderlich

The name of the package.

action string Erforderlich

How the package is treated by the policy.

Kann eine der folgenden sein: unknown, allowed, private

reason string Erforderlich

The reason the exception was added.

extra_allowed_spdx_ids array of strings Erforderlich

Additional SPDX identifiers allowed for this package.

added_at string or null Erforderlich

The time the exception was added to the policy.

HTTP-Antwortstatuscodes für "Set the license compliance policy for an enterprise"

StatuscodeBESCHREIBUNG
204

A header with no content is returned.

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

503

Service unavailable

Codebeispiele für "Set the license compliance policy for an enterprise"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Anforderungsbeispiel

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.

Feinkörnige Zugriffstoken für "Check license compliance for packages"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Repository license policy" repository permissions (read)

Parameter für "Check license compliance for packages"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

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

Körperparameter
Name, Typ, BESCHREIBUNG
purls array of strings Erforderlich

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

HTTP-Antwortstatuscodes für "Check license compliance for packages"

StatuscodeBESCHREIBUNG
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

Codebeispiele für "Check license compliance for packages"

Wenn Sie bei GHE.com auf GitHub zugreifen, ersetzen Sie api.github.com durch die dedizierte Unterdomäne Ihres Unternehmens unter api.SUBDOMAIN.ghe.com.

Beispiele für Anfragen

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" } } }