---
metadata:
  - name: generator
    content: Diplodoc Platform v5.44.0
alternate:
  - https://yandex.ru/dev/id/doc/en/user-information.md
  - https://yandex.ru/dev/id/doc/ru/user-information.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/id/doc/ru/llms.txt

# Обмен токена на информацию о пользователе

По запросу информации о пользователе API Яндекс ID возвращает все данные, права на которые дает указанный в запросе OAuth-токен.

Состав ответа сервиса зависит от прав приложения, выбранных при [регистрации](https://yandex.ru/dev/id/doc/ru/register-client.md) на Яндекс OAuth. Если выбрано несколько прав, ответ составляется из элементов, специфических для каждого из прав.

{% note info %}

Для запроса к API Яндекс ID можно использовать OAuth-токен с правами доступа к любому из сервисов Яндекса. Однако расширенный доступ к данным пользователя дают только токены с правами доступа из секции **API Яндекс ID**, настроенные при регистрации приложения.

{% endnote %}

## Формат запроса {#request-format}

Запрос информации о пользователе Яндекса формируется следующим образом:

{% list tabs %}

- Рекомендуемый способ

  ```
  GET https://login.yandex.ru/info?
  [& format=json | xml | jwt]
  [& jwt_secret=<секретный ключ>]

  Authorization: OAuth <OAuth-токен>
  ```

- Небезопасный способ

   ```
   GET https://login.yandex.ru/info?
    & oauth_token=<OAuth-токен>
   [& format=json | xml | jwt]
   [& jwt_secret=<секретный ключ>]
   ```
   
   {% note alert %}

   При использовании этого способа OAuth-токен передается в параметре GET-запроса и может сохраниться в открытом виде в истории браузера или в access-логах любого промежуточного хоста. Сохраненным OAuth-токеном может воспользоваться злоумышленник.

   {% endnote %}

{% endlist %}

### Параметры запроса {#request-params}

#|
|| **Параметр** | **Значение** | **Описание** ||
|| `oauth_token` | <OAuth-токен> | OAuth-токен, который разрешает доступ к данным учетной записи пользователя через API Яндекс ID. От прав, которые дает указанный в запросе OAuth-токен, зависит содержание [ответа](#response-format).

OAuth-токен должен быть указан в запросе одним из двух способов:

* В HTTP-заголовке `Authorization` при каждом вызове API Яндекс ID с указанием типа токена перед его значением (рекомендуемый способ):

  ```
  Authorization: OAuth <OAuth-токен>
  ```

* В значении параметра `oauth_token` (небезопасный способ):

  ```
  oauth_token=<OAuth-токен>
  ```
||
||`format` | xml \| json \| jwt | Формат возвращаемых данных. Возможные значения:

* json — JSON-документ. Это значение используется по умолчанию, если параметр не указан в запросе.
* xml — XML-документ.
* jwt — [JSON Web Token](https://yandex.ru/dev/id/doc/ru/tokens/jwt.md). ||
|| `jwt_secret` | <секретный ключ> | Секрет, которым будет подписан JWT. Если параметр не передан, вместо него будет использован `client_secret` OAuth-приложения.
Рекомендуется этот параметр не передавать. ||
|#

## Формат ответа {#response-format}

В ответе сервиса возвращается набор [стандартных](#common) и [дополнительных](#optional) полей в зависимости от прав приложения.

Формат тела ответа по умолчанию — JSON. Вы также можете получить ответ в формате XML или JWT: для этого укажите в запросе параметр `format` со значением `xml` или `jwt`:
* Ответ в формате XML имеет такую же структуру, как и JSON. При этом данные обрамляются корневым тегом `<user>`.
* Ответ в формате JWT всегда имеет [стандартный набор полей](https://yandex.ru/dev/id/doc/ru/tokens/jwt.md). В зависимости от выбранных прав, помимо стандартных полей, возвращаются и специальные поля.

### Стандартные параметры ответа {#common}

Ответ на запрос информации о пользователе содержит набор полей, перечисленных ниже:

#|
|| **Свойство** | **Описание** ||
|| `login` | Логин пользователя на Яндексе. ||
|| `id` | Уникальный идентификатор пользователя Яндекса. ||
|| `client_id` | Идентификатор приложения, для которого был выдан переданный в [запросе](#request-format) OAuth-токен. Доступен в [свойствах приложения](https://oauth.yandex.ru/). Чтобы открыть свойства, нажмите на название приложения. ||
|| `uid` | Аналог id. Поле доступно только в формате JWT. ||
|| `psuid` | Идентификатор авторизованного пользователя в Яндексе. Формируется на стороне Яндекса на основе пары `client_id` и `user_id`. ||
|#

### Дополнительные параметры ответа {#optional}

Дополнительные поля ответа зависят от прав, выбранных при [регистрации приложения](https://yandex.ru/dev/id/doc/ru/register-client.md#access) на Яндекс OAuth и предоставленных OAuth-токеном:

* [Отсутствие прав из секции API Яндекс ID](#norights)

* [Доступ к адресу электронной почты](#email-access)

* [Доступ к портрету пользователя](#avatar-access)

* [Доступ к дате рождения](#birthday-access)

* [Доступ к логину, имени и фамилии, полу](#name-access)

* [Доступ к номеру телефона](#phone-access)

Если выбрано несколько прав, ответ составляется из элементов, специфических для каждого из прав.

#### Отсутствие прав из секции API Яндекс ID {#norights}

Запрос к API Яндекс ID можно составить, используя OAuth-токен, выданный для другого сервиса Яндекса. Если токен валиден, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "login": "ivan",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <login>ivan</login>
     <id>1000034426</id>
     <client_id>4760187d81bc4b7799476b42b5103713</client_id>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common).

#### Доступ к адресу электронной почты {#email-access}

При запросе с OAuth-токеном, дающим право **Адрес электронной почты**, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "login": "ivan",
      "old_social_login": "uid-mmzxrnry",
      "default_email": "test@yandex.ru",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "emails": [
         "test@yandex.ru",
         "other-test@yandex.ru"
      ],
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <login>ivan</login>
     <old_social_login>uid-mmzxrnry</old_social_login>
     <default_email>test@yandex.ru</default_email>
     <id>1000034426</id>
     <client_id>4760187d81bc4b7799476b42b5103713</client_id>
     <emails>
       <address>test@yandex.ru</address>
       <address>other-test@yandex.ru</address>
     </emails>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "email": "test@yandex.ru",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }        
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common), а также дополнительные параметры:

#|
|| **Свойство** | **Описание** ||
|| `emails` | Массив электронных адресов пользователя. В настоящее время включает единственный e-mail — e-mail по умолчанию. ||
|| `default_email` | E-mail по умолчанию, предназначенный для связи с пользователем. ||
|| `email` | Аналог default_email. Поле доступно только в формате JWT. ||
|#

#### Доступ к портрету пользователя {#avatar-access}

При запросе с OAuth-токеном, дающим право **Портрет пользователя**, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "login": "ivan",
      "old_social_login": "uid-mmzxrnry",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "is_avatar_empty": false,
      "default_avatar_id": "131652443",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <login>zamulla.aleksey</login>
     <old_social_login>uid-mmzxrnry</old_social_login>
     <id>31652443</id>
     <client_id>4760187d81bc4b7799476b42b5103713</client_id>
     <is_avatar_empty>False</is_avatar_empty>
     <default_avatar_id>31652443</default_avatar_id>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "avatar_id": "131652443",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }     
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common), а также дополнительные параметры:

#|
|| **Свойство** | **Описание** ||
|| `is_avatar_empty` | Признак того, что в поле `default_avatar_id` указан идентификатор заглушки (портрета, который автоматически назначается при регистрации на Яндексе). ||
|| `default_avatar_id` | Идентификатор портрета пользователя Яндекса.
Портрет с данным идентификатором можно скачать по ссылке следующего формата:

```
https://avatars.yandex.net/get-yapic/<идентификатор портрета>/<размер>
```
Если портрета с переданным идентификатором нет, по ссылке будет заглушка указанного размера.

{% cut "Доступные размеры" %}

Чтобы получить изображение нужного размера, Яндекс пытается найти на портрете лицо и вырезает изображение из этой области.

Значения, которые можно задать в URL портрета:

* `islands-small` — 28×28 пикселей.
* `islands-34` — 34×34 пикселей.
* `islands-middle` — 42×42 пикселей.
* `islands-50` — 50×50 пикселей.
* `islands-retina-small` — 56×56 пикселей.
* `islands-68` — 68×68 пикселей.
* `islands-75` — 75×75 пикселей.
* `islands-retina-middle` — 84×84 пикселей.
* `islands-retina-50` — 100×100 пикселей.
* `islands-200` — 200×200 пикселей.

{% endcut %} 

||
|| `avatar_id` | Аналог default_avatar_id. Поле доступно только в формате JWT. ||
|#

#### Доступ к дате рождения {#birthday-access}

При запросе с OAuth-токеном, дающим право **Дата рождения**, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "login": "ivan",
      "old_social_login": "uid-mmzxrnry",
      "birthday": "1987-03-12",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <login>ivan</login>
     <old_social_login>uid-mmzxrnry</old_social_login>
     <birthday>1987-03-12</birthday>
     <id>1000034426</id>
     <client_id>4760187d81bc4b7799476b42b5103713</client_id>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "birthday": "1987-03-12",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }    
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common), а также дополнительный параметр:

#|
|| **Свойство** | **Описание** ||
|| `birthday` | Дата рождения пользователя в формате ГГГГ-ММ-ДД.

Неизвестные части даты заполняются нулями, например: `0000-12-23`.

Если дата рождения пользователя неизвестна:

* в JSON-документе возвращается ключ `"birthday": null`;
* в XML-документе возвращается пустой тег `<birthday/>`. ||
|#

#### Доступ к логину, имени и фамилии, полу {#name-access}

При запросе с OAuth-токеном, дающим право **Логин, имя и фамилия, пол**, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "first_name": "Иван",
      "last_name": "Иванов",
      "display_name": "Ivan",
      "real_name": "Иван Иванов",
      "login": "ivan",
      "old_social_login": "uid-mmzxrnry",
      "sex": "male",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <first_name>Иван</first_name>
     <last_name></last_name>
     <display_name>Ivan</display_name>
     <real_name>Иван Иванов</real_name>
     <login>ivan</login>
     <old_social_login>uid-mmzxrnry</old_social_login>
     <sex>male</sex>
     <id>1000034426</id>
     <client_id>4760187d81bc4b7799476b42b5103713</client_id>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "login": "ivan",
      "uid": 1000034426,
      "display_name": "Ivan",
      "name": "Иван Иванов",
      "gender": "male",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }        
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common), а также дополнительные параметры:

#|
|| **Свойство** | **Описание** ||
|| `first_name` | Имя пользователя, указанное им в Яндекс ID. ||
|| `last_name` | Фамилия пользователя, указанная им в Яндекс ID. ||
|| `display_name` | Имя, которое отображается для данной учетной записи в интерфейсе Яндекса. ||
|| `real_name` | Имя и фамилия пользователя, указанные им в Яндекс ID.
В формате JSON нелатинские символы имени и фамилии представлены в формате Unicode. ||
|| `sex` | Пол пользователя. Возможные значения:

  - male — мужской;
  - female — женский;
  - неизвестный пол:
     - в JSON-документе обозначается ключом `"sex": null`;
     - в XML-документе обозначается пустым тегом `<sex/>`. ||

|| `gender` | Аналог **sex**. Поле доступно только в формате JWT. ||
|#

#### Доступ к номеру телефона {#phone-access}

При запросе с OAuth-токеном, дающим право **Номер телефона**, API возвращает следующий ответ:

{% list tabs %}

- В формате JSON

   ```json
   {
      "login": "ivan",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "default_phone": {
         "id": 12345678,
         "number": "+79037659418"
      },
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
     <login>ivan</login>
     <id>1000034426</id>
     <client_id>4760187d81bc4b7799476b42b5103713</id>
     <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
     <default_phone>
       <id>12345678</id>
       <number>+79037659418</number>
     </default_phone>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "number": "+79037659418",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }        
   ```

{% endlist %}

Ответ содержит [стандартный набор полей](#common), а также дополнительные параметры:

#|
|| **Свойство** | **Описание** ||
|| `default_phone` | Телефон по умолчанию, предназначенный для связи с пользователем. Поле содержит параметры: 
* **id** — идентификатор номера телефона;
* **number** — номер телефона пользователя. ||
|#

### Пример {#all-rights}

Если приложение имеет OAuth-токен, который дает приложению все права API Яндекс ID, ответ содержит все [стандартные](#common) и [дополнительные](#optional) параметры:

{% list tabs %}

- В формате JSON

   ```json
   {
      "first_name": "Иван",
      "last_name": "Иванов",
      "display_name": "ivan",
      "emails": [
         "test@yandex.ru",
         "other-test@yandex.ru"
      ],
      "default_email": "test@yandex.ru",
      "default_phone": {
         "id": 12345678,
         "number": "+79037659418"
      },
      "real_name": "Иван Иванов",
      "is_avatar_empty": false,
      "birthday": "1987-03-12",
      "default_avatar_id": "131652443",
      "login": "ivan",
      "old_social_login": "uid-mmzxrnry",
      "sex": "male",
      "id": "1000034426",
      "client_id": "4760187d81bc4b7799476b42b5103713",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

- В формате XML

   ```xml
   <?xml version="1.0" encoding="utf-8"?>
   <user>
      <first_name>Иван</first_name>
      <last_name>Иванов</last_name>
      <display_name>ivan</display_name>
      <emails>
         <address>test@yandex.ru</address>
         <address>other-test@yandex.ru</address>
      </emails>
      <default_email>test@yandex.ru</default_email>
      <default_phone>
         <id>12345678</id>
         <number>+79037659418</number>
      </default_phone>
      <real_name>Иван Иванов</real_name>
      <is_avatar_empty>False</is_avatar_empty>
      <birthday>1987-03-12</birthday>
      <default_avatar_id>131652443</default_avatar_id>
      <login>ivan</login>
      <old_social_login>uid-mmzxrnry</old_social_login>
      <sex>male</sex>
      <id>1000034426</id>
      <client_id>4760187d81bc4b7799476b42b5103713</client_id>
      <psuid>1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge</psuid>
   </user>
   ```

- В формате JWT

   ```json
   {
      "iat": 1620915565,
      "jti": "384b6169-b3f6-11eb-a7cd-0c42a10aa38c",
      "exp": 1652451414,
      "iss": "login.yandex.ru",
      "uid": 1000034426,
      "login": "ivan",
      "avatar_id": "131652443",
      "email": "test@yandex.ru",
      "number": "+79037659418",
      "display_name": "ivan",
      "name": "Иван Иванов",
      "gender": "male",
      "psuid": "1.AAceCw.tbHgw5DtJ9_zeqPrk-Ba2w.qPWSRC5v2t2IaksPJgnge"
   }
   ```

{% endlist %}
