Talent API v2 (0.3)

Download OpenAPI specification:Download

Аутентификация

TalentOAuth

Аутентификация токеном TalentOAuth пользователем Таланта. Передается в заголовке Authorization: Bearer в формате JWT.

При использовании этой аутентификации, авторизация сервисом выполняется в отношении пользователя, авторизовавшего переданный токен.

ClientCredentials

Аутентификация учетными данными OAuth2 клиента TalentOAuth. В качестве username используется client_id, а в password - client_secret.

Пагинация

Пагинация может быть представлена как параметром offset, так и параметром id_offset. Параметр offset позволяет указать кол-во объектов для пропуска из читаемой выборки. В id_offset указывается идентификатор, объекты с идентификатором равном или менее указанному будут исключены из выборки.

Предпочтительно, когда есть возможность, использовать id_offset. Так же надо учитывать, что допустимое значение для offset имеет ограничения.

Чтение мероприятий

Чтение свойств мероприятия

По-умолчанию возвращаются только мета-данные. Для получения полного набора свойств используйте параметр extend.

path Parameters
event_id
required
integer <int32>

ID мероприятия

query Parameters
extend
boolean
Default: false

Вернуть в ответе полный набор свойств.

Responses

Response samples

Content type
application/json
Example
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "draft": true,
  • "public": true,
  • "hidden": true,
  • "canceled": true,
  • "title": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "format": "offline",
  • "organization_id": 0,
  • "meta_event_id": 0,
  • "created_by_id": 0,
  • "venue_id": 0
}

Схемы для мероприятий

Метаданные мероприятия

id
required
integer <int32>

ID мероприятия.

created_at
required
string <date-time>

Дата создания.

updated_at
required
string <date-time>

Дата обновления.

draft
required
boolean

Мероприятие находится в статусе черновика. На такое мероприятие нельзя зарегистрироваться.

public
required
boolean

Статус публичности мероприятия.

hidden
required
boolean

Исключение мероприятия из календаря.

canceled
required
boolean

Статус отмены мероприятия.

title
required
string

Название мероприятия.

start
string <date-time>

Дата начала мероприятия.

end
string <date-time>

Дата окончания мероприятия.

format
string
Enum: "offline" "online"

Формат проведения мероприятия.

organization_id
integer <int32>

ID организации мероприятия.

meta_event_id
integer <int32>

ID мета-мероприятия.

created_by_id
integer <int32>

ID автора мероприятия.

venue_id
integer <int32>
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "draft": true,
  • "public": true,
  • "hidden": true,
  • "canceled": true,
  • "title": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "format": "offline",
  • "organization_id": 0,
  • "meta_event_id": 0,
  • "created_by_id": 0,
  • "venue_id": 0
}

Мероприятие полностью

id
required
integer <int32>

ID мероприятия.

created_at
required
string <date-time>

Дата создания.

updated_at
required
string <date-time>

Дата обновления.

draft
required
boolean

Мероприятие находится в статусе черновика. На такое мероприятие нельзя зарегистрироваться.

public
required
boolean

Статус публичности мероприятия.

hidden
required
boolean

Исключение мероприятия из календаря.

canceled
required
boolean

Статус отмены мероприятия.

title
required
string

Название мероприятия.

start
string <date-time>

Дата начала мероприятия.

end
string <date-time>

Дата окончания мероприятия.

format
string
Enum: "offline" "online"

Формат проведения мероприятия.

organization_id
integer <int32>

ID организации мероприятия.

meta_event_id
integer <int32>

ID мета-мероприятия.

created_by_id
integer <int32>

ID автора мероприятия.

venue_id
integer <int32>
achievements_allowed
required
boolean

Допуск на создания достижений на это мероприятие.

requests_allowed
required
boolean
simplified_registration
required
boolean
self_check_in
required
boolean
teams_involved
required
string
Enum: "any" "teams" "individual"

Формат участия.

owner_can_moderate
required
boolean
user_in_multiple_teams
required
boolean
mentors_allowed
required
boolean
support_i18n
required
boolean
gir_collection
required
boolean
time_matters
required
boolean
promoted
required
boolean
max_users
integer
team_create_notification
required
boolean
team_assignment_method
string
Enum: "completion" "completion_soft" "single" "single_soft"
diplomas_dark_theme
required
boolean
is_diplomas_issued
string
Enum: "all" "roles"

Статус выдачи дипломов. Отсутствие значения означает что дипломы не выданы.

achievement_roles_count
required
integer <int32>
achievements_count
required
integer <int32>
requests_count
required
integer <int32>
cover
string
background
string
url
string <url> <= 200 characters

Адрес online мероприятия.

type_id
integer <int32>

ID типа мероприятия.

expected_start
string <date-time>
description
string

Описание мероприятия.

alt_title
string

Альтернативное название мероприятия.

cancellation_reason
string

Причина отмены мероприятия.

questionnaire_completed_message
string

Сообщение о заполненной анкете.

{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "draft": true,
  • "public": true,
  • "hidden": true,
  • "canceled": true,
  • "title": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "format": "offline",
  • "organization_id": 0,
  • "meta_event_id": 0,
  • "created_by_id": 0,
  • "venue_id": 0,
  • "achievements_allowed": true,
  • "requests_allowed": true,
  • "simplified_registration": true,
  • "self_check_in": true,
  • "teams_involved": "any",
  • "owner_can_moderate": true,
  • "user_in_multiple_teams": true,
  • "mentors_allowed": true,
  • "support_i18n": true,
  • "gir_collection": true,
  • "time_matters": true,
  • "promoted": true,
  • "max_users": 0,
  • "team_create_notification": true,
  • "team_assignment_method": "completion",
  • "diplomas_dark_theme": true,
  • "is_diplomas_issued": "all",
  • "achievement_roles_count": 0,
  • "achievements_count": 0,
  • "requests_count": 0,
  • "cover": "string",
  • "background": "string",
  • "url": "string",
  • "type_id": 0,
  • "expected_start": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "alt_title": "string",
  • "cancellation_reason": "string",
  • "questionnaire_completed_message": "string"
}

Персоны пользователей

Чтение персоны пользователя

path Parameters
person_id
required
integer <int32>

ID персоны.

Responses

Response samples

Content type
application/json
{
  • "user_id": 0
}

Внешние провайдеры авторизации

Список авторизаций пользователя в соц. сетях

Authorizations:
TalentOAuthClientCredentials
path Parameters
user_id
required
integer <int32>

ID пользователя.

query Parameters
provider
string (SocialAuthProvider)
Enum: "github" "github_legacy" "gitlab" "leader" "mos" "stackoverflow" "stepik" "unti" "vkid" "vk-oauth2" "yandex"

Фильтрация по провайдеру авторизации

id_offset
integer <int32>

Пропуск объектов с идентификатором равном или менее указанного.

offset
integer <int32> <= 200
Default: 0

Кол-во объектов выборки для пропуска.

limit
integer <int32> [ 1 .. 100 ]
Default: 20

Максимум объектов возвращаемых в теле ответа.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Команды пользователей

Чтение параметров команды

Часть данных возвращается только при наличии аутентификации и определенных прав у пользователя, от лица которого выполняется запрос.

Authorizations:
TalentOAuthNone
path Parameters
team_id
required
integer <int32>

ID команды.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "description": "string",
  • "assignment_participation": true,
  • "created_by_assignment": true,
  • "event_id": 0,
  • "project_id": 0,
  • "owner_id": 0,
  • "contact_link": "string",
  • "invite_code": "string"
}

Обновление параметров команды

Доступно только для капитана команды и организатора мероприятия.

Authorizations:
TalentOAuth
path Parameters
team_id
required
integer <int32>

ID команды.

Request Body schema: application/json
required
title
string <= 255 characters
description
string <= 2000 characters
assignment_participation
boolean

Команда участвует в автораспределении.

project_id
integer <int32>

ID проекта команды.

Доступно для обновления только капитану команды.

contact_link
string <uri> (TeamContactLink)

Контактная ссылка.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "assignment_participation": true,
  • "project_id": 0,
  • "contact_link": "http://example.com"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "description": "string",
  • "assignment_participation": true,
  • "created_by_assignment": true,
  • "event_id": 0,
  • "project_id": 0,
  • "owner_id": 0,
  • "contact_link": "string",
  • "invite_code": "string"
}

Валидация контактной ссылки

Request Body schema: application/json
required
string <uri> (TeamContactLink)

Контактная ссылка.

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "error": "string"
}

Схемы для команд

Команда пользователей

id
required
integer <int32>

ID команды.

created_at
required
string <date-time>

Дата создания.

updated_at
required
string <date-time>

Дата обновления.

title
required
string

Название команды.

description
required
string

Описание команды.

assignment_participation
required
boolean

Команда участвует в автораспределении.

created_by_assignment
required
boolean

Команда создана автораспределением.

event_id
required
integer <int32>

ID мероприятия команды.

project_id
required
integer <int32>

ID проекта команды.

owner_id
integer <int32>

TalentID капитана команды.

Доступно только для участников команды и организатора мероприятия.

contact_link
string

Контактная ссылка команды.

Доступно только для участников команды и организатора мероприятия.

invite_code
string

Код для вступления в команду.

Доступен только капитану команды.

{
  • "id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "description": "string",
  • "assignment_participation": true,
  • "created_by_assignment": true,
  • "event_id": 0,
  • "project_id": 0,
  • "owner_id": 0,
  • "contact_link": "string",
  • "invite_code": "string"
}