# Puntos de conexión de la API de REST para licencias

Use la API REST para recuperar licencias de open source populares e información sobre el archivo de licencia de un proyecto determinado.

## Acerca de las licencias

GitHub usa [the open source Ruby Gem Licensee](https://github.com/benbalter/licensee) para intentar identificar la licencia de un proyecto. El licenciatario compara el contenido del archivo de `LICENSE` de un proyecto (si es que existe) contra una lista breve de licencias conocidas. Como resultado, la API no toma en cuenta las licencias de las dependencias del proyecto u otros medios de documentar la licencia de un proyecto tales como las referencias al nombre de la licencia en la documentación.

Si una licencia coincide, la llave de licencia y el nombre devuelto cumplen con la [especificación SPDX](https://spdx.org/).

**Nota**: Estos puntos de conexión también devolverán la información de licencia de un repositorio:

* [Obtener un repositorio](/es/enterprise-server@3.20/rest/repos/repos#get-a-repository)
* [Enumerar los repositorios para un usuario](/es/enterprise-server@3.20/rest/repos/repos#list-repositories-for-a-user)
* [Enumerar los repositorios de una organización](/es/enterprise-server@3.20/rest/repos/repos#list-organization-repositories)
* [Enumerar las bifurcaciones](/es/enterprise-server@3.20/rest/repos/forks#list-forks)
* [Enumerar los repositorios que el usuario está observando](/es/enterprise-server@3.20/rest/activity/watching#list-repositories-watched-by-a-user)
* [Listar los repositorios del equipo](/es/enterprise-server@3.20/rest/teams/teams#list-team-repositories)

> \[!WARNING]
> GitHub es una gran cantidad de cosas, pero no es un bufete de abogados. Por lo tanto, GitHub no proporciona asesoramiento legal. El hecho de usar la API o enviarnos un mensaje de correo electrónico al respecto no constituye asesoramiento legal ni establece una relación abogado-cliente. Si tienes cualquier pregunta acerca de lo que puedes o no hacer con una licencia específica, debes acudir a tu propio consejero legal antes de continuar. De hecho, siempre debes consultar con tu propio abogado antes de que decidas tomar cualquier decisión que pudiera tener implicaciones legales o que pudiera impactar tus derechos.
>
> GitHub creó estos puntos finales para ayudar a los usuarios a obtener información sobre licencias de código abierto y los proyectos que las usan. Esperamos que te sea útil, pero ten presente que no somos abogados (por lo menos, la mayoría de nosotros no lo somos) y que cometemos errores como todo el mundo. Por esta razón, GitHub proporciona la API "tal como está" y no ofrece ninguna garantía con respecto a la información o las licencias que se proporcionen en ella o a través de ella, y rechaza cualquier responsabilidad derivada de los daños que pudiesen resultar de su uso.

> \[!NOTE]
> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2022-11-28`. Curl examples below omit these standard headers for brevity.

## Get all commonly used licenses

```
GET /licenses
```

Lists the most commonly used licenses on GitHub. For more information, see "Licensing a repository ."

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Path and query parameters

* **`featured`** (boolean)

* **`per_page`** (integer)
  The number of results per page (max 100). For more information, see "Using pagination in the REST API."
  Default: `30`

* **`page`** (integer)
  The page number of the results to fetch. For more information, see "Using pagination in the REST API."
  Default: `1`

### HTTP response status codes

* **200** - OK

* **304** - Not modified

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  http(s)://HOSTNAME/api/v3/licenses
```

**Response schema (Status: 200):**

Array of `License Simple`:

* `key`: required, string
* `name`: required, string
* `url`: required, string or null, format: uri
* `spdx_id`: required, string or null
* `node_id`: required, string
* `html_url`: string, format: uri

## Get a license

```
GET /licenses/{license}
```

Gets information about a specific license. For more information, see "Licensing a repository ."

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Path and query parameters

* **`license`** (string) (required)

### HTTP response status codes

* **200** - OK

* **304** - Not modified

* **403** - Forbidden

* **404** - Resource not found

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  http(s)://HOSTNAME/api/v3/licenses/LICENSE
```

**Response schema (Status: 200):**

* `key`: required, string
* `name`: required, string
* `spdx_id`: required, string or null
* `url`: required, string or null, format: uri
* `node_id`: required, string
* `html_url`: required, string, format: uri
* `description`: required, string
* `implementation`: required, string
* `permissions`: required, array of string
* `conditions`: required, array of string
* `limitations`: required, array of string
* `body`: required, string
* `featured`: required, boolean

## Get the license for a repository

```
GET /repos/{owner}/{repo}/license
```

This method returns the contents of the repository's license file, if one is detected.
This endpoint supports the following custom media types. For more information, see "Media types."

application/vnd.github.raw+json: Returns the raw contents of the license.
application/vnd.github.html+json: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source Markup library.

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Path and query parameters

* **`owner`** (string) (required)
  The account owner of the repository. The name is not case sensitive.

* **`repo`** (string) (required)
  The name of the repository without the .git extension. The name is not case sensitive.

* **`ref`** (string)
  The Git reference for the results you want to list. The ref for a branch can be formatted either as refs/heads/<branch name> or simply <branch name>. To reference a pull request use refs/pull/<number>/merge.

### HTTP response status codes

* **200** - OK

* **404** - Resource not found

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/license
```

**Response schema (Status: 200):**

* `name`: required, string
* `path`: required, string
* `sha`: required, string
* `size`: required, integer
* `url`: required, string, format: uri
* `html_url`: required, string or null, format: uri
* `git_url`: required, string or null, format: uri
* `download_url`: required, string or null, format: uri
* `type`: required, string
* `content`: required, string
* `encoding`: required, string
* `_links`: required, object:
  * `git`: required, string or null, format: uri
  * `html`: required, string or null, format: uri
  * `self`: required, string, format: uri
* `license`: required, any of:
  * **null**
  * **License Simple**
    * `key`: required, string
    * `name`: required, string
    * `url`: required, string or null, format: uri
    * `spdx_id`: required, string or null
    * `node_id`: required, string
    * `html_url`: string, format: uri