openapi: 3.0.0
info:
contact:
email: supportautoload@avito.ru
description: 'API для взаимодействия с иерархией аккаунтов в Авито
**Авито API для бизнеса предоставляется согласно [Условиям использования](https://www.avito.ru/legal/pro_tools/public-api).**
'
title: Иерархия Аккаунтов Access Job API
version: '1'
servers:
- url: https://api.avito.ru/
tags:
- description: 'API для размещения, редактирования и снятия с публикации вакансии Авито Работа
Описание API произведено в формате [**Swagger 3.0**](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md).
Вы можете использовать данный файл для ознакомления с методами API, а также для генерации базового
кода для работы с API на удобном для вас языке программирования с помощью утилиты
[**Swagger Codegen**](https://swagger.io/swagger-codegen/) или online сервиса [**Swagger Editor**](https://editor.swagger.io/).
**Авито API для бизнеса предоставляется согласно [Условиям использования](https://www.avito.ru/legal/pro_tools/public-api).**
По всем вопросам работы с API необходимо обращаться в Службу Поддержки профессиональных инструментов:
<li>телефон: <b>+7 495 777-10-66</b></li>
<li>email: <a href="mailto:supportautoload@avito.ru">supportautoload@avito.ru</a></li>
# Типы авторизации
Для использования данного API запрос должен быть авторизован. В данный момент API Авито использует следующие механизмы авторизации.
<!-- ReDoc-Inject: <security-definitions> -->
Подробнее о каждом механизме и его назначении можно прочитать в соответствующем разделе.
'
name: Job
x-displayName: Работа
paths:
/job/v1/applications/apply_actions:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Сотрудник может менять статусы откликов для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Сотрудник может менять статусы откликов для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
post:
description: 'Переводит сразу несколько откликов в новый статус одним запросом. В запросе нужно передать целевой статус, а также список идентификаторов откликов, к которым он должен быть применён
Максимальный размер батча — не более 100 идентификаторов откликов в одном запросе
'
operationId: applicationsApplyActions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationsApplyActionsRequestBody'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationsIdsResult'
description: Успешный ответ
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/tooManyRequestsError'
description: Превышено допустимое количество запросов
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Батчевая смена статуса откликов
'
tags:
- Job
/job/v1/applications/get_by_ids:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Сотрудник может получить информацию по откликам для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Сотрудник может получить информацию по откликам для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
post:
description: 'Получение списка откликов по uuid, полученным по [подписке на уведомления](https://developers.avito.ru/api-catalog/job/documentation#operation/applicationsWebhookPut) (webhook) и через метод [получение идентификаторов откликов](https://developers.avito.ru/api-catalog/job/documentation#operation/applicationsGetIds) Максимальный лимит = 100
'
operationId: applicationsGetByIds
requestBody:
content:
application/json:
schema:
properties:
ids:
items:
description: идентификатор отклика
example: 11102026de0ad1be10e2236f
type: string
maxItems: 100
type: array
type: object
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationsByIdsResult'
description: Успешный ответ
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/tooManyRequestsError'
description: Превышено допустимое количество запросов
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Получение списка откликов
'
tags:
- Job
/job/v1/applications/get_ids:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Сотрудник может получить список его откликов для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Сотрудник может получить список его откликов для вакансий которые он разместил в рамках компании.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
get:
description: 'Возвращает лимитированное количество идентификаторов откликов отсортированных по дате создания начиная с самых свежих, для последующего получения по ним расширенной информации через метод [получение списка откликов](https://developers.avito.ru/api-catalog/job/documentation#operation/applicationsGetByIds).
Максимальный лимит = 100
'
operationId: applicationsGetIds
parameters:
- $ref: '#/components/parameters/authHeader'
- description: Фильтр по дате обновления (от). Обязателен, если не указан updatedAtFrom. Формат YYYY-MM-DD.
in: query
name: updatedAtFrom
schema:
example: '2006-01-02'
format: YYYY-MM-DD
type: string
- description: Фильтр по дате создания (от). Обязателен, если не указан createdAtFrom. Формат YYYY-MM-DD.
in: query
name: createdAtFrom
schema:
example: '2006-01-02'
format: YYYY-MM-DD
type: string
- description: "<p>Идентификатор последнего отклика из предыдущего запроса</p>\n\n<p>Пример использования параметра:</p>\n\n<p>Получение первой страницы откликов, с датой обновления от 12 июня 2022 года:</p>\n\n<p><code>GET /job/v1/applications/get_ids?updatedAtFrom=2022-06-12</code></p>\n\n<p><code>[<br>\n  {\"id\": \"62e3e7e542c3d9af3d85205e\",<...>},<br>\n  <...>,<br>\n  {\"id\": \"<strong>623850d1d3819d935dd02702</strong>\",<...>}<br>\n]</code></p>\n\n<p>Получение следующей страницы откликов:</p>\n\n<p><code>GET /job/v1/applications/get_ids?updatedAtFrom=2022-06-12&cursor=<strong>623850d1d3819d935dd02702</strong></code></p>\n"
in: query
name: cursor
schema:
example: 623850d1d3819d935dd02702
type: string
- description: Идентификаторы вакансий. Опциональный фильтр (можно указать одно или несколько значений через запятую)
in: query
name: vacancyIds
schema:
example: 2241333,1424232
type: string
- description: Отклик просмотрен
in: query
name: is_viewed
schema:
example: true
type: boolean
- description: Статус отклика. Опциональный фильтр по текущему статусу отклика
in: query
name: state
schema:
example: new
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetApplicationsIdsResult'
description: Успешный ответ
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/tooManyRequestsError'
description: Превышено допустимое количество запросов
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Получение идентификаторов откликов
'
tags:
- Job
/job/v1/applications/get_states:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Получение списка возможных статусов откликов.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Получение списка возможных статусов откликов.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
get:
description: 'Возвращает список доступных статусов откликов и их описания
'
operationId: applicationsGetStates
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationsGetStatesResult'
description: Успешный ответ
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
description: Ошибка в теле запроса
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/authError'
description: Требуется аутентификация
'402':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentError'
description: Ошибка оплаты
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/forbiddenError'
description: Получение данных по откликам недоступно
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: Данные по откликам не найдены
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/tooManyRequestsError'
description: Превышено допустимое количество запросов
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/serviceError'
description: Внутренняя ошибка метода API
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/serviceUnavailableError'
description: Метод API временно недоступен
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Получение списка возможных статусов откликов
'
tags:
- Job
/job/v1/applications/set_is_viewed:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Предоставляет возможность менять статус отклика от имени сотрудника.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Предоставляет возможность менять статус отклика от имени сотрудника.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
post:
description: 'Возвращает информацию по откликам и статусу просмотренности отклика, при изменении статуса также статус изменится в Авито Pro. Максимальный лимит = 100
'
operationId: applicationsSetIsViewed
requestBody:
content:
application/json:
schema:
properties:
applies:
description: Список откликов
items:
properties:
id:
description: Идентификатор отклика
type: string
is_viewed:
description: Фильтр откликов по статусу просмотренности
type: boolean
required:
- id
- is_viewed
type: object
type: array
type: object
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SetApplicationsIsViewedResult'
description: Успешный ответ
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/tooManyRequestsError'
description: Превышено допустимое количество запросов
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Изменение статуса отклика
'
tags:
- Job
/job/v1/applications/webhook:
parameters:
- $ref: '#/components/parameters/authHeader'
delete:
description: 'Отписка от уведомлений о создании и обновлении откликов на вакансии. Если авторизация происходит от имени приложения, отписка от вебхука будет для приложения
'
operationId: applicationsWebhookDelete
parameters:
- $ref: '#/components/parameters/webhookUrl'
responses:
'200':
content:
application/json:
schema:
properties:
ok:
example: true
type: boolean
type: object
description: Успешный ответ
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Отключение уведомлений по откликам (webhook)
'
tags:
- Job
get:
description: 'Получение информации по существующим подпискам на создание и обновление откликов. Будет возвращен самый старый активный вебхук. Если авторизация происходит от имени приложения, будет возвращен вебхук приложения
'
operationId: applicationsWebhookGet
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscribeRequestBody'
description: Успешный ответ
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Получение информации о подписках (webhook)
'
tags:
- Job
put:
description: "Подписка на уведомления о создании и обновлении откликов на вакансии. Если авторизация происходит от имени приложения, вебхук будет привязан к приложению. Исключение:\n - изменение сотрудника относящегося к объявлению (employee_id)\n\nВажно: \n Проверьте доступность url, при его недоступности из контура Авито webhook не будет создан/перезаписан.\n Если url недоступен больше месяца, то он удаляется и на него не придут новые уведомления.\n Список адресов с которых идут запросы по url IP 185.89.12.0/22, 146.158.48.0/21, 185.79.237.224/28 и 87.245.204.32/28.\n"
operationId: applicationsWebhookPut
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscribeRequestBody'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscribeRequestBody'
description: Успешный ответ
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Включение уведомлений по откликам (webhook)
'
tags:
- Job
/job/v1/applications/webhooks:
get:
description: 'Получение списка активных подписок на создание и обновление откликов в хронологическом порядке от самого старого к самому новому. Если авторизация происходит от имени приложения, будут возвращены вебхуки приложения
'
operationId: applicationsWebhooksGet
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhooksSubscriptionResultList'
description: Успешный ответ
security:
- AuthorizationCode:
- job:applications
- ClientCredentials: []
summary: 'Получение списка подписок (webhook)
'
tags:
- Job
/job/v1/resumes/:
parameters:
- $ref: '#/components/parameters/authHeader'
- deprecated: true
description: 'Устаревший заголовок, используйте X-Employee-Of. Включает привилегии компании для сотрудника.
'
in: header
name: X-Is-Employee
schema:
nullable: true
type: boolean
- description: 'Идентификатор компании, от имени которой работает сотрудник. Включает привилегии компании для сотрудника.
'
in: header
name: X-Employee-Of
schema:
minimum: 1
nullable: true
type: integer
- description: Количество записей на странице (положительное число от 1 до 100)
in: query
name: per_page
schema:
default: 25
example: 50
format: int32
type: integer
- description: Номер страницы (положительное число больше 0, произведение page на per_page не должно превышать 5000)
in: query
name: page
schema:
default: 1
example: 1
format: int32
type: integer
- description: Курсор поиска (если не указан, будет начат новый поиск и его курсор будет возвращен в ответе)
in: query
name: cursor
schema:
format: int64
type: integer
- description: Поля ответа (можно указать несколько значений через запятую)
in: query
name: fields
schema:
enum:
- title
- location
- specialization
- education_level
- total_experience
- gender
- age
- salary
- address_details
- is_purchased
- created_at
- updated_at
- nationality
- driver_licence
- driver_licence_category
- driving_experience
- own_transport
- medical_book
example: title,specialization,total_experience,salary
type: string
- description: Поисковая фраза
in: query
name: query
schema:
example: оператор call-центра
type: string
- description: 'Идентификатор региона поиска (можно указать несколько значений через запятую)
<br>
Метод принимает идентификаторы сущностей Region и City из [справочника](https://autoload.avito.ru/format/Locations.xml).
'
in: query
name: location
schema:
example: 637640
format: int64
type: integer
- description: 'Идентификатор метро поиска (можно указать несколько значений через запятую)
<br>
Метод принимает идентификаторы сущности Subway из [справочника](https://autoload.avito.ru/format/Locations.xml).
'
in: query
name: metro
schema:
example: 13
format: int64
type: integer
- description: 'Идентификатор района поиска (можно указать несколько значений через запятую)
<br>
Метод принимает идентификаторы сущности District из [справочника](https://autoload.avito.ru/format/Locations.xml).
'
in: query
name: district
schema:
example: 717
format: int64
type: integer
- description: 'Радиус поиска
'
in: query
name: radius
schema:
properties:
maxDistance:
description: Максимальное расстояние от центра в метрах, значение от 0 до 100_000
format: int32
type: integer
minDistance:
description: Минимальное расстояние от центра в метрах, значение от 0 до 10_000
format: int32
type: integer
point:
description: Географические координаты (для указания точки на карте), в градусах — десятичные дроби
properties:
lat:
description: Широта, значение от -90.0 до 90.0
example: 55.822883
format: float
type: number
lon:
description: Долгота, значение от -180.0 до 180.0
example: 37.606281
format: float
type: number
required:
- lon
- lat
type: object
required:
- point
- minDistance
- maxDistance
type: object
- description: 'Идентификатор сферы деятельности (можно указать несколько значений через запятую)
<br>
Возможные значения:
- 10166 - IT, интернет, телеком
- 10167 - Медицина, фармацевтика
- 10168 - Продажи
- 10169 - Страхование
- 10170 - Транспорт, логистика
- 10171 - Образование, наука
- 10172 - Строительство
- 10173 - Туризм, рестораны
- 10174 - Фитнес, салоны красоты
- 10175 - Без опыта, студенты
- 10180 - Автомобильный бизнес
- 10181 - Бухгалтерия, финансы
- 10182 - Высший менеджмент
- 10183 - Госслужба, НКО
- 10184 - ЖКХ, эксплуатация
- 10185 - Искусство, развлечения
- 10186 - Консультирование
- 10187 - Маркетинг, реклама, PR
- 10188 - Охрана, безопасность
- 10189 - Управление персоналом
- 10190 - Юриспруденция
- 10191 - Административная работа
- 10192 - Банки, инвестиции
- 10193 - Производство, сырьё, с/х
- 16844 - Домашний персонал
- 2804251 - Курьерская доставка
- 2804250 - Такси
'
in: query
name: specialization
schema:
example: 10175,10186
format: int64
type: integer
- description: 'График работы (можно указать несколько значений через запятую)
<br>
Возможные значения:
- partial-day - Неполный рабочий день
- full-day - Полный рабочий день
- fly-in-fly-out - Вахтовый метод
- flexible - Гибкий график
- shift - Сменный график
- remote - Удаленная работа
'
in: query
name: schedule
schema:
enum:
- partial-day
- full-day
- fly-in-fly-out
- flexible
- shift
- remote
example: remote
type: string
- description: 'Готовность к командировкам (можно указать несколько значений через запятую)
<br>
Возможные значения:
- ready - Готов
- never - Не готов
- sometimes - Иногда
'
in: query
name: business_trip_readiness
schema:
enum:
- ready
- never
- sometimes
type: string
- description: 'Готовность к переезду (можно указать несколько значений через запятую)
<br>
Возможные значения:
- possible - Возможен
# --- truncated at 32 KB (252 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avito/refs/heads/main/openapi/avito-job-api-openapi.yml