openapi: 3.0.0 info: contact: email: supportautoload@avito.ru description: 'API для взаимодействия с иерархией аккаунтов в Авито **Авито API для бизнеса предоставляется согласно [Условиям использования](https://www.avito.ru/legal/pro_tools/public-api).** ' title: Иерархия Аккаунтов Access Ads API version: '1' servers: - url: https://api.avito.ru/ tags: - name: Ads paths: /ads/v1/account/{accountID}: parameters: - in: path name: accountID required: true schema: type: integer get: description: 'Возвращает реквизиты рекламного аккаунта по его ID: ИНН, КПП, ОГРН, юридический и фактический адреса, контактное лицо и менеджера. Токен имеет доступ только к тому аккаунту, в котором был выдан. ' operationId: V1GetAccountByID responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetAccountByIdOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить аккаунт по ID x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads post: description: 'Создаёт тестовый аккаунт. Метод работает **только в песочнице** (`https://api.avito.ru/ads-sandbox/`); для боевых аккаунтов используйте веб-интерфейс кабинета. Ограничения песочницы: время жизни аккаунта — до 00:00 текущего дня; в сутки можно создать не более 1 тестового аккаунта. ' operationId: V1CreateAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/V1CreateAccountIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1CreateAccountOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '207': content: application/json: schema: $ref: '#/components/schemas/V1CreateAccountOut' description: Аккаунт создан, но часть sandbox-данных не подготовилась headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Создать аккаунт в песочнице x-cost: default: 0 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/add-user: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Добавляет пользователя Авито в рекламный аккаунт с указанной ролью. Доступные роли: `admin` (полный доступ) и `viewer` (только просмотр). Пользователь идентифицируется по `userId` (ID профиля на Авито). ' operationId: V1AddUser requestBody: content: application/json: schema: $ref: '#/components/schemas/V1AddUserIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Добавить пользователя в аккаунт x-cost: default: 5 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/advertisers: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Возвращает список рекламодателей аккаунта с пагинацией. Доступные фильтры: список `ids`, список `inns`, список ролей (`roles`). Параметры пагинации: `limit` — от 1 до 100 (по умолчанию 20), `page` — от 1. ' operationId: V1GetAdvertisersList requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetAdvertisersListIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetAdvertisersListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить список рекламодателей по фильтрам x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/balance: parameters: - in: path name: accountID required: true schema: type: integer get: description: 'Возвращает текущий баланс рекламного аккаунта: денежные средства (`balance`) и бонусы (`bonusBalance`). Все суммы — в рублях, целые числа. ' operationId: V1GetAccountBalanceByID responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetAccountBalanceByIdOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить баланс аккаунта по ID x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/bonus-transfer: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Переводит бонусы между родительским и дочерним аккаунтом-неплательщиком. Логика направления та же, что у `funds-transfer`: `accountID` в path — источник, `accountIdTo` в body — получатель; для перевода с дочернего на родителя нужен токен дочернего аккаунта. Сумма `amount` — целое число, не меньше 1 бонуса. ' operationId: V1TransferBonus requestBody: content: application/json: schema: $ref: '#/components/schemas/V1TransferBonusIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Перевод бонусов между аккаунтом родителем и дочерними на одном договоре x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/campaigns: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Возвращает список рекламных кампаний аккаунта с пагинацией. Поддерживает фильтрацию по ID, моделям оплаты (`CPM`/`CPC`), типам кампании (`textImage`/`HTML`/`video`), статусам, менеджерам, рекламодателям, договорам, диапазону дат создания и диапазону периода размещения. Параметры пагинации: `limit` — от 1 до 100 (по умолчанию 20), `page` — от 1. ' operationId: V1GetCampaignsList requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetCampaignsListIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetCampaignsListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список кампаний по фильтрам x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/campaigns/{campaignID}/creatives/stats: parameters: - description: ID аккаунта in: path name: accountID required: true schema: type: integer - description: ID кампании in: path name: campaignID required: true schema: type: integer post: description: 'Возвращает статистику по конкретным креативам указанной кампании за заданный период. В `creativeIDs` нужно передать минимум один ID креатива. **Ограничение:** максимальный период между `dateFrom` и `dateTo` — 100 дней. ' operationId: V1GetCreativesStatistic requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetCreativesStatisticIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetCreativesStatisticOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Кампания не найдена '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить статистику по креативам кампании x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/campaigns/{campaignID}/groups/stats: parameters: - description: ID аккаунта in: path name: accountID required: true schema: type: integer - description: ID кампании in: path name: campaignID required: true schema: type: integer post: description: 'Возвращает статистику по конкретным группам объявлений внутри указанной кампании за заданный период. В `groupIDs` нужно передать минимум один ID группы. **Ограничение:** максимальный период между `dateFrom` и `dateTo` — 100 дней. ' operationId: V1GetGroupsStatistic requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetGroupsStatisticIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetGroupsStatisticOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Кампания не найдена '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить статистику по группам кампании x-cost: default: 5 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/campaigns/{campaignID}/stats: parameters: - description: ID аккаунта in: path name: accountID required: true schema: type: integer - description: ID кампании in: path name: campaignID required: true schema: type: integer post: description: 'Возвращает агрегированную статистику по кампании (показы, клики, CTR, расход, CPM/CPC, метрики видеопросмотров) за указанный период с дневной гранулярностью, а также сводку по группам и креативам кампании. **Ограничение:** максимальный период между `dateFrom` и `dateTo` — 100 дней. ' operationId: V1GetCampaignStatistic requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetCampaignStatisticIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetCampaignStatisticOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Кампания не найдена '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить статистику по кампании x-cost: default: 10 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/children: parameters: - in: path name: accountID required: true schema: type: integer get: description: "Возвращает список дочерних аккаунтов, привязанных к текущему (родительскому) аккаунту, вместе с их договорами. \nУ дочерних аккаунтов на одном договоре с родителем не передается информация о договоре.\nЕсли нужны также балансы дочерних аккаунтов, используйте `GET /ads/v1/account/{accountID}/children-with-balances`.\n" operationId: V1GetChildAccountsList responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetChildAccountsListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список дочерних аккаунтов x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/children-with-balances: parameters: - in: path name: accountID required: true schema: type: integer get: description: 'Возвращает список дочерних аккаунтов вместе с их балансами (денежные средства, бонусы). Удобно для проверки результата переводов через `funds-transfer` / `bonus-transfer`. ' operationId: V1GetChildAccountsWithBalancesList responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetChildAccountsWithBalancesListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список дочерних аккаунтов с балансами x-cost: default: 5 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/contracts: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Возвращает список договоров аккаунта с пагинацией. Доступные фильтры: `ids` (ID договоров), `numbers` (номера договоров), `contractors` и `clients` (фильтры по сторонам договора). Параметры пагинации: `limit` — от 1 до 100 (по умолчанию 20), `page` — от 1. ' operationId: V1GetContractsList requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetContractsListIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetContractsListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список договоров по фильтрам x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/create-advertiser: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Создаёт рекламодателя — юридическое лицо (или ИП), от лица которого будут размещаться рекламные кампании в этом аккаунте. Один аккаунт может иметь несколько рекламодателей. Если рекламодатель и аккаунт — одно и то же ЮЛ/ИП, договор между ними создавать не нужно; иначе после создания рекламодателя необходимо создать договор через `POST /ads/v1/account/{accountID}/create-contract`. ' operationId: V1CreateAdvertiser requestBody: content: application/json: schema: $ref: '#/components/schemas/V1CreateAdvertiserIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1CreateAdvertiserOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Создать рекламодателя x-cost: default: 2 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/create-contract: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Создаёт изначальный договор между аккаунтом и рекламодателем. Договор требуется только если рекламодатель и аккаунт — не одно и то же ЮЛ/ИП; для совпадающих контрагентов договор не создаётся. Для дополнительного соглашения укажите `parentId` (родительский договор) и не передавайте `intermediary`; для внешнего договора (`type = external`) передайте `cid` и не передавайте `parentId`. ' operationId: V1CreateContract requestBody: content: application/json: schema: $ref: '#/components/schemas/V1CreateContractIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1CreateContractOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Создание изначального договора x-cost: default: 2 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/create-nonpayer-child-account: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Создаёт дочерний аккаунта под текущим (родительским) аккаунтом на том же договоре. В ответе возвращаются `accountID`, `clientKey` и `clientSecret` — пара ключей для генерации отдельного токена дочернего аккаунта. В песочнице токен для созданного дочернего аккаунта использовать **нельзя**; проверить факт создания можно через `GET /ads/v1/account/{accountID}/children`. ' operationId: V1CreateNonPayerAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/V1CreateNonPayerAccountIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1CreateNonPayerAccountOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Создание дочернего аккаунта на договоре родителя x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/creatives: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Возвращает список креативов аккаунта с пагинацией. Поддерживает фильтрацию по ID креативов, ID групп, ID кампаний, моделям оплаты, типам кампании, статусам, менеджерам, рекламодателям и периоду размещения. Параметры пагинации: `limit` — от 1 до 100 (по умолчанию 20), `page` — от 1. ' operationId: V1GetCreativesList requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetCreativesListIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetCreativesListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список креативов по фильтрам x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/delete-user/{userID}: parameters: - in: path name: accountID required: true schema: type: integer - in: path name: userID required: true schema: type: integer delete: description: 'Удаляет пользователя из рекламного аккаунта. Доступ пользователя к аккаунту прекращается сразу после успешного выполнения запроса. `userID` в path — ID пользователя, которого нужно удалить. ' operationId: V1DeleteUser responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Удалить пользователя из аккаунта x-cost: default: 5 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/funds-transfer: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Переводит денежные средства между родительским и дочерним аккаунтом на одном договоре. `accountID` в path — аккаунт-источник (с него списываются деньги), `accountIdTo` в body — аккаунт-получатель. Перевод выполняется от имени аккаунта-источника, поэтому для перевода с дочернего на родительский нужен токен дочернего аккаунта. Сумма `amount` — целое число, не меньше 1 рубля. ' operationId: V1TransferFunds requestBody: content: application/json: schema: $ref: '#/components/schemas/V1TransferFundsIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Перевод денег между аккаунтом родителем и дочерними на одном договоре x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/group/{groupID}/change-budget: parameters: - in: path name: accountID required: true schema: type: integer - in: path name: groupID required: true schema: type: integer post: description: 'Устанавливает новый бюджет для указанной группы объявлений. Значение `budget` указывается в рублях с НДС, целое число. **Ограничение:** `budget` — целое число не меньше 1. Метод работает только для групп с ручным управлением ставкой. ' operationId: V1ChangeBudget requestBody: content: application/json: schema: $ref: '#/components/schemas/V1ChangeBudgetIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт или группа не найдены '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Изменить бюджет группы x-cost: default: 3 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/group/{groupID}/change-price: parameters: - in: path name: accountID required: true schema: type: integer - in: path name: groupID required: true schema: type: integer post: description: 'Устанавливает новую цену (CPC или CPM в зависимости от модели оплаты кампании) для указанной группы объявлений. Значение `price` указывается в рублях с НДС, целое число. **Ограничение:** `price` — целое число не меньше 1. Метод работает только для групп с ручным управлением ставкой. ' operationId: V1ChangePrice requestBody: content: application/json: schema: $ref: '#/components/schemas/V1ChangePriceIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт или группа не найдены '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Изменить цену группы x-cost: default: 3 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/groups: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Возвращает список групп объявлений аккаунта с пагинацией. Поддерживает фильтрацию по ID групп, ID кампаний, статусам, скоростям показов (`paces`), менеджерам, рекламодателям, моделям оплаты и периоду размещения. Параметры пагинации: `limit` — от 1 до 100 (по умолчанию 20), `page` — от 1. ' operationId: V1GetGroupsList requestBody: content: application/json: schema: $ref: '#/components/schemas/V1GetGroupsListIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetGroupsListOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Аккаунт не найден '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Получить список групп по фильтрам x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/set-user-role: parameters: - in: path name: accountID required: true schema: type: integer post: description: 'Меняет роль уже добавленного в аккаунт пользователя. Доступные значения роли: `admin` (полный доступ) и `viewer` (только просмотр). Если пользователя нужно полностью убрать, используйте `DELETE /ads/v1/account/{accountID}/delete-user/{userID}`. ' operationId: V1SetUserRole requestBody: content: application/json: schema: $ref: '#/components/schemas/V1SetUserRoleIn' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен summary: Изменить роль пользователя в аккаунте x-cost: default: 5 type: integer x-rate-limiter: default: 500 tags: - Ads /ads/v1/account/{accountID}/users: parameters: - in: path name: accountID required: true schema: type: integer get: description: 'Возвращает список пользователей, имеющих доступ к рекламному аккаунту, с их ролями и флагом `hasLoggedIn` (заходил ли пользователь в аккаунт хотя бы раз). Метод без пагинации — возвращает всех пользователей сразу. ' operationId: V1GetUsersListByAccount responses: '200': content: application/json: schema: $ref: '#/components/schemas/V1GetUsersListByAccountOut' description: Ok headers: Api-Point-Balance: description: Остаток API-баллов после выполнения запроса schema: type: integer '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Некорректный запрос '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Не авторизован '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Доступ запрещен '429': content: application/json: schema: $ref: '#/components/schemas/Error' description: Слишком много запросов '500': content: application/json: schema: $ref: '#/components/schemas/Error' description: Ошибка сервера '503': content: application/json: schema: $ref: '#/components/schemas/Error' description: Сервис недоступен security: - ClientCredentials: [] summary: Получить список пользователей аккаунта x-cost: default: 1 type: integer x-rate-limiter: default: 500 tags: - Ads components: schemas: CampaignType: description: Тип кампании enum: - textImage - HTML - video type: string V1GetCampaignStatisticIn: description: Request body для запроса статистики по кампании. Максимальный период между dateFrom и dateTo — 100 дней. properties: dateFrom: description: Дата начала периода в формате YYYY-MM-DD format: date type: string dateTo: description: Дата окончания периода в формате YYYY-MM-DD format: date type: string required: - dateFrom - dateTo type: object GroupsFilter: properties: advertisers: description: Список ID рекламодателей items: type: integer nullable: true type: array campaignIDs: description: Список ID кампаний items: type: integer nullable: true type: array ids: description: Список ID групп items: type: integer nullable: true type: array managers: description: Список ID менеджеров items: type: integer nullable: true type: array paces: description: Скорости показов items: $ref: '#/components/schemas/Paces' nullable: true type: array paymentModels: description: Список моделей оплаты items: $ref: '#/components/schemas/CampaignPaymentModel' nullable: true type: array statuses: description: Список статусов групп items: $ref: '#/components/schemas/GroupsStatus' nullable: true type: array timeFrame: $ref: '#/components/schemas/DateRange' type: object Group: properties: accountID: description: ID аккаунта type: integer actions: description: Доступные действия с группой items: type: string type: array activitySchedule: description: Расписание активности по дням properties: friday: $ref: '#/components/schemas/ActivityScheduleHours' monday: $ref: '#/components/schemas/ActivityScheduleHours' saturday: $ref: '#/components/schemas/ActivityScheduleHours' sunday: $ref: '#/components/schemas/ActivityScheduleHours' thursday: $ref: '#/components/schemas/ActivityScheduleHours' tuesday: $ref: '#/components/schemas/ActivityScheduleHours' wednesday: $ref: '#/components/schemas/ActivityScheduleHours' type: object advertiserID: description: ID рекламодателя type: integer audienceType: $ref: '#/components/schemas/AudienceType' budget: description: Бюджет группы в рублях с НДС type: integer budgetFrequency: $ref: '#/components/schemas/BudgetFrequency' budgetKopeks: description: Бюджет группы в копейках с НДС type: integer campaignID: description: ID кампании type: integer campaignType: $ref: '#/components/schemas/CampaignType' createdAt: description: Дата создания группы format: date-time type: string format: $ref: '#/components/schemas/GroupFormat' frequencyCount: description: Частота показов в рамках периода type: integer frequencyPeriod: $ref: '#/components/schemas/FrequencyPeriod' frequencyRules: description: Правила частотного ограничения items: $ref: '#/components/schemas/FrequencyRule' type: array haveCreative: description: Есть ли в группе креатив nullable: true type: boolean id: description: ID группы type: integer managerID: description: ID менеджера, ответственного за кампанию (userID) type: integer name: description: Название группы type: string pace: $ref: '#/components/schemas/Paces' paymentModel: $ref: '#/components/schemas/CampaignPaymentModel' periodEndAt: description: Конец периода кампании format: date-time nullable: true type: string periodStartAt: description: Начало периода кампании format: date-time nullable: true type: string periodTimezone: description: Таймзона периода показов type: string price: description: Цена в рублях с НДС type: integer priceControl: $ref: '#/components/schemas/GroupPriceControl' priceKopeks: description: Цена в копейках с НДС type: integer scheduleType: $ref: '#/components/schemas/ScheduleType' startASAP: description: Запускать как можно скорее type: boolean status: $ref: '#/components/schemas/GroupsStatus' targetingAgeIDs: description: ID возрастных сегментов items: type: integer type: array targetingAudienceIDs: description: ID аудиторий items: type: string type: array targetingFamilyStatusIDs: description: ID семейного статуса items: type: integer type: array targetingGenderIDs: description: ID пола items: type: integer type: array targetingIncomeIDs: description: ID доходных сегментов items: type: integer type: array targetingInterestIDs: description: ID интересов items: type: string type: array targetingLocationIDs: description: ID локаций items: type: integer type: array targetingParentStatusIDs: description: ID родительского статуса items: type: integer type: array updatedAt: description: Дата обновления группы format: date-time type: string userID: description: ID пользователя, создавшего группу type: integer required: - startASAP - frequencyCount - frequencyRules type: object V1GetAdvertisersListIn: description: Payload запроса на получение списка рекламодателей properties: filter: $ref: '#/components/schemas/AdvertiserFilter' limit: default: 20 description: Количество записей на странице maximum: 100 minimum: 1 type: integer page: default: 1 description: Номер страницы minimum: 1 type: integer required: - filter - limit - page type: object CampaignStatus: description: Статус кампании enum: - draft - in_moderation - moderation_failed - partial_moderation - active - will_launch_soon - partially_active - will_stop_soon - pausing - paused - unpausing - stopped - finished - archived type: string ContractsFilter: properties: clients: $ref: '#/components/schemas/AdvertiserFilter' contractors: $ref: '#/components/schemas/AdvertiserFilter' ids: description: Список ID договоров items: type: integer nullable: true type: array numbers: description: Список номеров договоров items: type: string nullable: true type: array type: object CreativesStatus: description: Статус креатива enum: - draft - ready_for_moderation - in_moderation - moderation_failed - erir_registration - active - pausing - paused - unpausing - stopped - finished - archived type: string V1GetCampaignStatisticOut: description: Статистика по кампании properties: campaign: $ref: '#/components/schemas/CampaignStatistic' creatives: description: Статистика по креативам кампании items: $ref: '#/components/schemas/CreativeStatistic' type: array groups: description: Статистика по группам кампании items: $ref: '#/components/schemas/GroupStatistic' type: array required: - campaign - groups - creatives type: object V1GetUsersListByAccountOut: properties: total: type: integer users: items: $ref: '#/components/schemas/User' type: array required: - total - users type: object FrequencyRule: description: Правило частотного ограничения properties: count: description: Количество показов за указанный период minimum: 0 type: integer period: $ref: '#/components/schemas/FrequencyPeriod' required: - count - period type: object V1GetAdvertisersListOut: properties: advertisers: items: $ref: '#/components/schemas/Advertiser' type: array total: type: integer required: - total - advertisers type: object V1GetContractsListOut: properties: contracts: items: $ref: '#/components/schemas/Contract' type: array total: type: integer required: - total - contracts type: object ShortAccountWithContract: properties: account: $ref: '#/components/schemas/ShortAccount' contract: $ref: '#/components/schemas/ContractForChildAccount' required: - account type: object V1CreateAdvertiserIn: description: Payload создания рекламодателя properties: actualAddress: description: 'Фактический адрес. Если не передан, используется legalAddress. Пример корректного адреса: 127015, г. Москва, ул. Лесная, д. 7' nullable: true type: string inn: description: ИНН организации type: string kpp: description: КПП организации nullable: true type: string legalAddress: description: 'Юридический адрес или адрес регистрации. Пример корректного адреса: 127015, г. Москва, ул. Лесная, д. 7' type: string legalRole: $ref: '#/components/schemas/LegalRole' legalType: $ref: '#/components/schemas/LegalType' longName: description: Полное наименование организации или ИП type: string ogrn: description: ОГРН или ОГРНИП type: string shortName: description: Краткое наименование организации или ИП type: string required: - inn - shortName - longName - ogrn - legalAddress - legalRole - legalType type: object V1CreateAccountOut: properties: accountID: type: integer warnings: description: Предупреждения о частично невыполненных sandbox-операциях. Если массив пустой, аккаунт подготовлен полностью. items: type: string type: array required: - accountID - warnings type: object User: properties: hasLoggedIn: description: Флаг, показывающий, заходил ли пользователь в аккаунт type: boolean id: description: ID пользователя type: integer role: $ref: '#/components/schemas/UserRole' required: - id - role - hasLoggedIn type: object Error: properties: code: type: string message: type: string required: - message - code type: object V1CreateContractOut: properties: id: type: integer required: - id type: object ContractType: description: Тип контракта enum: - service - intermediary - external type: string BudgetFrequency: description: Частота расходования бюджета enum: - weekly - entirePeriod type: string V1GetChildAccountsWithBalancesListOut: properties: children: items: $ref: '#/components/schemas/ShortAccountWithBalance' type: array required: - children type: object GroupFormat: description: Формат группы объявлений enum: - mediaRoot - mediaSellerProfile - mediaPremium - media - native - htmlPremium - html - video type: string V1CreateNonPayerAccountIn: description: Payload создания аккаунта properties: isSelfAdvertisingEnabled: description: Флаг разрешающий рекламировать родительский аккаунт. Если вам надо рекламировать нового рекламодателя без возможности рекламировать родителя, выставлять - false nullable: true type: boolean shortName: description: Краткое название дочернего аккаунта, меньше 64 символов type: string required: - shortName - isSelfAdvertisingEnabled type: object LegalType: description: Тип ЮЛ enum: - ul - ip type: string V1GetCreativesStatisticOut: description: Статистика по креативам кампании properties: creatives: description: Статистика по креативам кампании items: $ref: '#/components/schemas/CreativeStatistic' type: array required: - creatives type: object ContractCounterpartyType: enum: - direct_with_advertiser - advertiser_intermediary type: string CampaignStatistic: description: Статистика кампании properties: campaignType: $ref: '#/components/schemas/CampaignType' data: description: Статистика в разбивке по дням items: $ref: '#/components/schemas/StatsData' type: array id: description: ID кампании type: integer name: description: Название кампании type: string paymentModel: $ref: '#/components/schemas/CampaignPaymentModel' totalData: $ref: '#/components/schemas/StatsData' required: - id - name - paymentModel - campaignType - data - totalData type: object CampaignsFilter: properties: additionalAgreementIDs: description: Список ID дополнительных соглашений items: type: integer nullable: true type: array advertisers: description: Список ID рекламодателей items: type: integer nullable: true type: array campaignTypes: description: Список типов кампаний items: $ref: '#/components/schemas/CampaignType' nullable: true type: array contractIDs: description: Список ID договоров items: type: integer nullable: true type: array createdAt: $ref: '#/components/schemas/DateRange' ids: description: Список ID кампаний items: type: integer nullable: true type: array managers: description: Список ID менеджеров items: type: integer nullable: true type: array paymentModels: description: Список моделей оплаты items: $ref: '#/components/schemas/CampaignPaymentModel' nullable: true type: array statuses: description: Список статусов кампаний items: $ref: '#/components/schemas/CampaignStatus' nullable: true type: array timeFrame: $ref: '#/components/schemas/DateRange' type: object CreativeStatistic: description: Статистика креатива properties: data: description: Статистика в разбивке по дням items: $ref: '#/components/schemas/StatsData' type: array groupId: description: ID группы, к которой относится креатив type: integer id: description: ID креатива type: integer name: description: Название креатива type: string totalData: $ref: '#/components/schemas/StatsData' required: - id - groupId - name - data - totalData type: object AdvertiserFilter: properties: ids: description: Список ID рекламодателей items: type: integer nullable: true type: array inns: description: Список ИНН рекламодателей items: type: string nullable: true type: array roles: description: Список ролей рекламодателей items: $ref: '#/components/schemas/LegalRole' nullable: true type: array type: object V1GetCreativesListIn: description: Payload запроса на получение списка креативов properties: filter: $ref: '#/components/schemas/CreativesFilter' limit: default: 20 description: Количество записей на странице maximum: 100 minimum: 1 type: integer page: default: 1 description: Номер страницы minimum: 1 type: integer required: - filter - limit - page type: object V1GetAccountByIdOut: properties: account: $ref: '#/components/schemas/Account' type: object GroupsStatus: description: Статус группы объявлений enum: - draft - in_moderation - moderation_failed - will_launch_soon - active - will_stop_soon - pausing - paused - unpausing - stopped - finished - archived type: string EmptyResponse: type: object V1CreateNonPayerAccountOut: properties: accountID: type: integer clientKey: type: string clientSecret: type: string required: - accountID - clientKey - clientSecret type: object ActivityScheduleHours: description: Расписание активности на день по часам (0-23) items: type: integer type: array ScheduleType: description: Тип расписания показов enum: - always - weekdays9To20 - custom type: string V1SetUserRoleIn: description: Payload изменение роли пользователя в аккаунте properties: role: $ref: '#/components/schemas/UserRole' userId: description: ID пользователя авито type: integer required: - userId - role type: object Creative: properties: accountID: description: ID аккаунта type: integer advertiserID: description: ID рекламодателя type: integer buttonText: description: Текст на кнопке nullable: true type: string campaignID: description: ID кампании type: integer campaignType: $ref: '#/components/schemas/CampaignType' description: description: Описание объявления nullable: true type: string groupID: description: ID группы type: integer id: description: ID креатива type: integer landingID: description: ID посадочной страницы nullable: true type: integer legalInfo: $ref: '#/components/schemas/LegalInfo' link: description: Целевая ссылка type: string managerID: description: ID менеджера, ответственного за кампанию (userID) type: integer name: description: Название креатива type: string originUrl: description: Оригинальная ссылка для аналитики nullable: true type: string paymentModel: $ref: '#/components/schemas/CampaignPaymentModel' previewUrl: description: Ссылка на предпросмотр креатива nullable: true type: string status: $ref: '#/components/schemas/CreativesStatus' title: description: Заголовок объявления nullable: true type: string userID: description: ID пользователя, создавшего креатив type: integer type: object V1GetCampaignsListOut: properties: campaigns: items: $ref: '#/components/schemas/Campaign' type: array total: type: integer required: - total - campaigns type: object V1GetCreativesListOut: properties: creatives: items: $ref: '#/components/schemas/Creative' type: array total: type: integer required: - total - creatives type: object V1CreateAccountIn: description: Payload создания аккаунта properties: actualAddress: description: Фактический адрес. Если не передан, используется legalAddress. nullable: true type: string contact: description: Контактное лицо properties: name: description: ФИО контактного лица type: string phone: description: Контактный телефон type: string required: - name - phone type: object inn: description: ИНН организации или ИП type: string kpp: description: КПП организации nullable: true type: string legalAddress: description: Юридический адрес или адрес регистрации type: string legalType: $ref: '#/components/schemas/LegalType' longName: description: Полное наименование организации или ИП type: string ogrn: description: ОГРН или ОГРНИП type: string shortName: description: Краткое название аккаунта type: string required: - inn - shortName - longName - ogrn - legalAddress - legalType - contact type: object Advertiser: properties: accountId: type: integer actualAddress: type: string id: type: integer inn: type: string kpp: type: string legalAddress: type: string legalRole: $ref: '#/components/schemas/LegalRole' legalType: $ref: '#/components/schemas/LegalType' longName: type: string ogrn: type: string shortName: type: string required: - id - shortName - longName - inn - legalRole - ogrn - legalAddress - actualAddress - accountId - legalType type: object StatsData: description: Данные статистики за период properties: clicks: description: Количество кликов type: integer cpc: description: Средняя стоимость CPC format: float type: number cpm: description: Средняя стоимость CPM format: float type: number ctr: description: CTR (Click-Through Rate) format: float type: number q25: description: Доля просмотров видео на 25% format: float nullable: true type: number q50: description: Доля просмотров видео на 50% format: float nullable: true type: number q75: description: Доля просмотров видео на 75% format: float nullable: true type: number spend: description: Потрачено денег в рублях type: integer spendBonus: description: Потрачено бонусов в рублях type: integer spendBonusKopeks: description: Потрачено бонусов в копейках type: integer spendKopeks: description: Потрачено денег в копейках type: integer timestamp: description: Временная метка (гранулярность по дням). Заполняется в data[] и отсутствует в totalData. format: date-time nullable: true type: string videoViews100: description: Количество просмотров видео на 100% nullable: true type: integer videoViews25: description: Количество просмотров видео на 25% nullable: true type: integer videoViews50: description: Количество просмотров видео на 50% nullable: true type: integer videoViews75: description: Количество просмотров видео на 75% nullable: true type: integer views: description: Количество показов type: integer vtr: description: Доля просмотров видео на 100% format: float nullable: true type: number required: - views - clicks - ctr - spend - spendBonus - cpm - cpc type: object V1GetChildAccountsListOut: properties: children: items: $ref: '#/components/schemas/ShortAccountWithContract' type: array required: - children type: object CreteIntermediaryIn: description: Данные исполнителя по договору. Для доп соглашений не передаем. Для договоров обязательно передавать. nullable: true properties: actualAddress: description: Почтовый адрес type: string inn: description: ИНН ЮЛ/ИП type: string kpp: description: КПП ЮЛ, для ИП не передаем nullable: true type: string legalAddress: description: Юридически адрес type: string legalType: $ref: '#/components/schemas/LegalType' longName: description: Полное имя ЮЛ/ИП type: string ogrn: description: ОГРНИП для ИП, ОРГН для ЮЛ type: string shortName: description: Короткое имя ЮЛ/ИП type: string type: object V1ChangePriceIn: description: Payload для изменения ставки группы properties: price: description: Новая ставка группы в рублях с НДС minimum: 1 type: integer required: - price type: object V1ChangeBudgetIn: description: Payload для изменения бюджета группы properties: budget: description: Новый бюджет группы в рублях с НДС minimum: 1 type: integer required: - budget type: object FrequencyPeriod: description: Период частотного ограничения enum: - no_limit - day - week - month type: string V1TransferFundsIn: description: Payload Перевода денег между аккаунтом родителем и дочками неплательщиками properties: accountIdTo: description: accountId на который перевести type: integer amount: description: Сумма перевода в рублях, не меньше 1 рубля minimum: 1 type: integer required: - accountIdTo - amount type: object V1GetAccountBalanceByIdOut: properties: balance: description: Баланс аккаунта в рублях type: integer balanceKopeks: description: Баланс аккаунта в копейках type: integer bonusBalance: description: Баланс бонусов на аккаунте в рублях type: integer bonusBalanceKopeks: description: Баланс бонусов на аккаунте в копейках type: integer required: - balance - balanceKopeks - bonusBalance - bonusBalanceKopeks type: object V1CreateContractIn: description: 'Payload запроса на создание договора. Базово обязательны `description`, `advertiserId`, `type`. Для `type = service` дополнительно передаются `subject`, `isReportingRequired`, `date`, `number`; `cid` не передаётся. Для `type = intermediary` дополнительно передаются `subject`, `object`, `isReportingRequired`, `isFundsAllocationToPrincipal`, `date`, `number`; `cid` не передаётся. Для `type = external` передаётся `cid`; `parentId` не передаётся. Дополнительное соглашение создаётся через `parentId` к родительскому договору, без отдельного `type = additional`. Если `parentId` задан, `intermediary` не передаётся; если `parentId` не задан, `intermediary` обязателен. ' properties: advertiserId: description: Id рекламодателя. Указываем только рекламодателей которые не являются аккаунтом. Если рекламодатель и аккаунт одно и тоже ЮЛ, договор создавать не надо type: integer cid: description: CID внешнего договора, заполняется только для type = external. nullable: true type: string date: description: Дата в формате YYYY-MM-DD. Можно не передавать только для type = external. format: date nullable: true type: string description: $ref: '#/components/schemas/ContractCounterpartyType' intermediary: $ref: '#/components/schemas/CreteIntermediaryIn' isFundsAllocationToPrincipal: description: Денежные средства на размещение рекламы идут в сторону принципала type: boolean isReportingRequired: description: На исполнителе лежит обязанность отчитываться по креативам type: boolean number: description: Номер договора. Можно не передавать только для type = external. nullable: true type: string object: $ref: '#/components/schemas/ContractAction' parentId: description: ID родительского договора для доп. соглашения nullable: true type: integer subject: $ref: '#/components/schemas/ContractSubject' type: $ref: '#/components/schemas/ContractType' required: - description - advertiserId - type type: object V1GetCampaignsListIn: description: Payload запроса на получение списка кампаний properties: filter: $ref: '#/components/schemas/CampaignsFilter' limit: default: 20 description: Количество записей на странице maximum: 100 minimum: 1 type: integer page: default: 1 description: Номер страницы minimum: 1 type: integer required: - filter - limit - page type: object V1GetGroupsListOut: properties: groups: items: $ref: '#/components/schemas/Group' type: array total: type: integer required: - total - groups type: object CampaignPaymentModel: description: Модель оплаты кампании enum: - CPM - CPC type: string AudienceType: description: Тип аудитории таргетинга группы enum: - basic - ready - autotargeting type: string GroupPriceControl: description: Контроль цены группы enum: - manual - auto type: string Account: properties: actualAddress: type: string contact: description: Контактное лицо properties: name: type: string phone: type: string required: - name - phone type: object inn: type: string kpp: type: string legalAddress: type: string longName: type: string manager: description: MSD Менеджер nullable: true properties: email: type: string name: type: string required: - name - email type: object ogrn: type: string shortName: type: string required: - inn - shortName - longName - ogrn - kpp - legalAddress - actualAddress - contact type: object V1CreateAdvertiserOut: properties: id: type: integer required: - id type: object ContractSubject: description: Предмет договора enum: - org-distribution - mediation - distribution - representation - other type: string ShortAccount: properties: id: type: integer shortName: type: string required: - id - shortName type: object Paces: description: Скорости показов enum: - asap - even type: string V1GetGroupsListIn: description: Payload запроса на получение списка кампаний properties: filter: $ref: '#/components/schemas/GroupsFilter' limit: default: 20 description: Количество записей на странице maximum: 100 minimum: 1 type: integer page: default: 1 description: Номер страницы minimum: 1 type: integer required: - filter - limit - page type: object V1AddUserIn: description: Payload добавления пользователя в аккаунт properties: role: $ref: '#/components/schemas/UserRole' userId: description: ID пользователя авито type: integer required: - userId - role type: object Campaign: properties: accountId: description: ID аккаунта type: integer additionalAgreementID: description: ID дополнительного соглашения к изначальному договору nullable: true type: integer advertiserId: description: ID рекламодателя type: integer budget: description: Бюджет кампании в рублях с НДС type: integer budgetKopeks: description: Бюджет кампании в копейках с НДС type: integer campaignType: $ref: '#/components/schemas/CampaignType' contractId: description: ID контракта type: integer createdAt: description: Дата создания кампании type: string endDate: description: Дата окончания кампании nullable: true type: string id: description: ID кампании type: integer managerID: description: ID менеджера, ответственного за кампанию (userID) type: integer name: description: Название кампании type: string paymentModel: $ref: '#/components/schemas/CampaignPaymentModel' performanceAdditionalAgreementID: description: ID доп соглашения к исполнительскому договору nullable: true type: integer startDate: description: Дата начала кампании nullable: true type: string status: $ref: '#/components/schemas/CampaignStatus' updatedAt: description: Дата обновления кампании nullable: true type: string userId: description: ID пользователя создавшего кампанию type: integer type: object UserRole: description: Роль пользователя в рекламном кабинете enum: - admin - viewer type: string ContractAction: description: Описание действия договора enum: - distribution - conclude - commercial - other type: string LegalRole: description: Роль ЮЛ enum: - rd - ra - rr type: string V1TransferBonusIn: description: Payload Перевода денег между аккаунтом родителем и дочками неплательщиками properties: accountIdTo: description: accountId на который перевести type: integer amount: description: Сумма бонусов, не меньше 1 бонуса minimum: 1 type: integer required: - accountIdTo - amount type: object LegalInfo: properties: ageRestriction: description: Возрастное ограничение nullable: true type: integer description: description: Юридическое описание nullable: true type: string kktu: description: ККТУ type: string notes: description: Примечания nullable: true type: string type: object CreativesFilter: properties: advertisers: description: Список ID рекламодателей items: type: integer nullable: true type: array campaignIDs: description: Список ID кампаний items: type: integer nullable: true type: array campaignTypes: description: Список типов кампаний items: $ref: '#/components/schemas/CampaignType' nullable: true type: array groupIDs: description: Список ID групп items: type: integer nullable: true type: array ids: description: Список ID креативов items: type: integer nullable: true type: array managers: description: Список ID менеджеров items: type: integer nullable: true type: array paymentModels: description: Список моделей оплаты items: $ref: '#/components/schemas/CampaignPaymentModel' nullable: true type: array statuses: description: Список статусов креативов items: $ref: '#/components/schemas/CreativesStatus' nullable: true type: array timeFrame: $ref: '#/components/schemas/DateRange' type: object ContractForChildAccount: nullable: true properties: accountID: type: integer cid: nullable: true type: string client: $ref: '#/components/schemas/Advertiser' contractor: $ref: '#/components/schemas/Advertiser' date: nullable: true type: string description: nullable: true type: string id: type: integer isAgentActingForPublisher: nullable: true type: boolean isCreativeReporter: nullable: true type: boolean number: nullable: true type: string object: nullable: true type: string parentId: nullable: true type: integer subject: nullable: true type: string type: $ref: '#/components/schemas/ContractType' type: object Contract: properties: accountID: type: integer cid: nullable: true type: string client: $ref: '#/components/schemas/Advertiser' contractor: $ref: '#/components/schemas/Advertiser' date: nullable: true type: string description: nullable: true type: string id: type: integer isAgentActingForPublisher: nullable: true type: boolean isCreativeReporter: nullable: true type: boolean number: nullable: true type: string object: nullable: true type: string parentId: nullable: true type: integer subject: nullable: true type: string type: $ref: '#/components/schemas/ContractType' required: - id - accountID - client - contractor - type type: object V1GetCreativesStatisticIn: description: Request body для запроса статистики по креативам кампании. Максимальный период между dateFrom и dateTo — 100 дней. properties: creativeIDs: description: Список ID креативов для получения статистики items: type: integer minItems: 1 type: array dateFrom: description: Дата начала периода в формате YYYY-MM-DD format: date type: string dateTo: description: Дата окончания периода в формате YYYY-MM-DD format: date type: string required: - dateFrom - dateTo - creativeIDs type: object V1GetGroupsStatisticOut: description: Статистика по группам кампании properties: groups: description: Статистика по группам кампании items: $ref: '#/components/schemas/GroupStatistic' type: array required: - groups type: object ShortAccountWithBalance: properties: account: $ref: '#/components/schemas/ShortAccount' balance: $ref: '#/components/schemas/V1GetAccountBalanceByIdOut' required: - account - balance type: object V1GetGroupsStatisticIn: description: Request body для запроса статистики по группам кампании. Максимальный период между dateFrom и dateTo — 100 дней. properties: dateFrom: description: Дата начала периода в формате YYYY-MM-DD format: date type: string dateTo: description: Дата окончания периода в формате YYYY-MM-DD format: date type: string groupIDs: description: Список ID групп для получения статистики items: type: integer minItems: 1 type: array required: - dateFrom - dateTo - groupIDs type: object V1GetContractsListIn: description: Payload запроса на получение списка договоров properties: filter: $ref: '#/components/schemas/ContractsFilter' limit: default: 20 description: Количество записей на странице maximum: 100 minimum: 1 type: integer page: default: 1 description: Номер страницы minimum: 1 type: integer required: - filter - limit - page type: object GroupStatistic: description: Статистика группы properties: data: description: Статистика в разбивке по дням items: $ref: '#/components/schemas/StatsData' type: array id: description: ID группы type: integer name: description: Название группы type: string totalData: $ref: '#/components/schemas/StatsData' required: - id - name - data - totalData type: object DateRange: description: Диапазон дат nullable: true properties: from: description: Дата начала в формате YYYY-MM-DD format: date type: string to: description: Дата окончания в формате YYYY-MM-DD format: date type: string type: object securitySchemes: AuthorizationCode: description: Это API использует OAuth 2 с механизмом authorization_code. Используйте его для доступа к данным других пользователей при разработке стороннего приложения. [Подробнее](/api-catalog/auth/documentation#tag/ApplicationAccess) flows: authorizationCode: authorizationUrl: https://avito.ru/oauth scopes: ah:access: Взаимодействие с иерархией аккаунтов tokenUrl: https://api.avito.ru/token type: oauth2 ClientCredentials: description: Это API использует OAuth 2 с механизмом client_credentials. Используйте его для доступа к возможностям своей личной учетной записи. [Подробнее](#tag/Access) flows: clientCredentials: scopes: {} tokenUrl: https://api.avito.ru/token type: oauth2