# API GitHub Docs

Используйте официальный GitHub Docs API для программного перечисления страниц, поиска и получения GitHub содержимого документации.

<!-- markdownlint-disable search-replace -->

GitHub Docs предоставляет несколько способов программного доступа к содержимому документации. Вы можете получить отдельные статьи в формате Markdown, перечислить все доступные страницы, искать в документации или направлять агентов ИИ к `llms.txt` файлу для поиска контента.

## Конечная точка статьи

Конечная точка статьи возвращает содержимое и метаданные Markdown любой GitHub Docs страницы. Поддерживается все типы страниц, включая стандартные статьи, страницы REST API, страницы GraphQL и целевые страницы.

Конечная точка статьи принимает следующий параметр запроса:

* `pathname` (обязательно): путь к артиклу, включая языковой префикс, например `/en/` или `/ja/`.
  * Например: `/en/get-started/start-your-journey/what-is-github`.

Кроме `GET /api/article` того, и `GET /api/article/body` принимаем следующий опциональный параметр запроса:

* `apiVersion`: Для страниц ссылок REST API указывает, какую версию API использовать. По умолчанию установлена последняя версия.

### Получение контента статей

`GET https://docs.github.com/api/article/body` Полный материал статьи возвращается в виде Markdown.

```shell
curl "https://docs.github.com/api/article/body?pathname=/en/get-started/start-your-journey/what-is-github"
```

Чтобы получить доступ к версионной статье (например, для GitHub Enterprise Cloud), включите версию в путь:

```shell
curl "https://docs.github.com/api/article/body?pathname=/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud"
```

### Получение метаданных статьи

`GET https://docs.github.com/api/article/meta` возвращает метаданные статьи в формате JSON, включая заголовок, введение, область продукта, тип документа и следующие.

```shell
curl "https://docs.github.com/api/article/meta?pathname=/en/get-started/start-your-journey/what-is-github"
```

### Сбор контента и метаданных вместе

`GET https://docs.github.com/api/article` возвращает как метаданные, так и тело статьи в одном JSON-ответе, объединяя результаты тела и мета-конечных точек.

```shell
curl "https://docs.github.com/api/article?pathname=/en/get-started/start-your-journey/what-is-github"
```

## Конечная точка списка страниц

Endpoint Pagelist возвращает список всех доступных путей страницы для данного языка и версии документации. Вы можете использовать его, чтобы найти все статьи, а затем получить отдельные статьи с точки зрения статьи.

### Список всех страниц

`GET https://docs.github.com/api/pagelist/:lang/:version` возвращает список всех путей страницы с разделёнными строками для указанного языка и версии.

```shell
curl "https://docs.github.com/api/pagelist/en/free-pro-team@latest"
```

#### Список языков

`GET https://docs.github.com/api/pagelist/languages` возвращает все доступные языковые коды в формате JSON. Используйте это, чтобы найти допустимые значения для вышеуказанного `:lang` параметра.

#### Список версий

`GET https://docs.github.com/api/pagelist/versions` возвращает все доступные версии документации в формате JSON, включая GitHub Enterprise Server номера версий. Используйте это, чтобы найти допустимые значения для вышеуказанного `:version` параметра.

## Конечная точка поиска

Конечная точка поиска позволяет искать по всему GitHub Docs контенту. Он возвращает результаты, отсортированные по релевантности, с выделенными моментами и метаданными для каждой соответствующей страницы.

### Поиск содержимого документации

`GET https://docs.github.com/api/search/v1` принимает следующие параметры запроса:

* `query` (требуется): Поисковый запрос.
* `client_name` (требуется для внешних клиентов, таких `curl`как ): Имя, которое идентифицирует вашего клиента или интеграцию.
* `version` (опционально): Документация для поиска. По умолчанию — `free-pro-team`. Допустимые значения включают `free-pro-team`, `enterprise-cloud`и GitHub Enterprise Server номера версий, такие `3.19`как .
* `language` (по желанию): Язык для поиска. По умолчанию — `en`.
* `page` (по желанию): Номер страницы для результатов с пагинами. По умолчанию — `1`.
* `size` (по желанию): количество результатов на странице, до максимума `50`. По умолчанию — `10`.

```shell
curl "https://docs.github.com/api/search/v1?query=actions&client_name=docs-api-example&version=free-pro-team&language=en"
```

Ответ включает `meta` объект с информацией о общем количестве совпадений и `hits` массив с соответствующими страницами с названиями, URL-адресами, панировочными крошками и выделенными элементами содержания.

## `llms.txt` для агентов ИИ

GitHub Docsпубликует `llms.txt` файл по `https://docs.github.com/llms.txt`адресу , следуя [стандарту`llms.txt`](https://llmstxt.org/). Этот файл предоставляет структурированный обзор документационного сайта, предназначенного для использования LLM и инструментами на базе ИИ.

Если вы создаёте агент или инструмент, которому нужен доступ GitHub Docs, `llms.txt` это рекомендуемая отправная точка для поиска доступного контента и API-конечных точек.