Unity Advertiser Public API: что изменилось с сентября 2026
Advertiser Public API заменил Advertising Management API: новая база, id приложений, микродоллары, другие поля. Порядок миграции и что убрано.
Unity APIМассовый запуск6 мин чтения

Ключ service account рабочий, а запросы падают с 403 Invalid Credentials: у аккаунта нет роли. Какие роли нужны и кто может создать ключ.

Ошибка 403 Invalid Credentials при рабочем ключе в документации Unity имеет одну описанную причину: у service account нет роли. Аккаунт без ролей проходит аутентификацию, но каждый его запрос получает 403. Роль назначается отдельно от ключа, и отдельно на каждый ресурс.
Сценарий знакомый. В Settings > API management завели service account, выпустили ключ, забрали Key ID и Secret key. Первый же запрос в Advertiser Public API вернул 403 с текстом Invalid Credentials. Читать это как «ключ неверный» не нужно.
Страница Unity про поиск credentials говорит: service account без назначенной роли всё равно аутентифицируется, но каждый его запрос заканчивается 403 и сообщением Invalid Credentials. Роль нужно назначить до того, как вы начнёте пользоваться ключом. Каждая роль даёт одно разрешение.
То же в записи за сентябрь 2026 на странице What’s new in User Acquisition: после создания ключа организационную роль service account нужно назначить, иначе запросы падают с 403 и Invalid Credentials.
Справочник по миграции уточняет: 403 с тем же ключом означает не выданную роль, а не ошибку в запросе. Там же деталь для тех, кто переезжает со старого API: сам ключ не меняется, а нужные роли и разрешения другие. Ключ, который работал с /advertise/v1, стоит перепроверить на роли. Про сам переезд читайте в статье про Advertiser Public API.
Роли лежат в категории User Acquisition. Назначаются они кнопкой + Manage organization roles в разделе Organization roles у service account. Что нужно под задачу, по странице про credentials:
| Задача | Роль | Что закрывает |
|---|---|---|
| Интеграция с MMP | Advertise Stats API MMP Viewer | /reports/mmp |
| Отчёты | Advertise Stats API Viewer | /reports/acquisitions, /reports/skan |
| Управление кампаниями | роли Advertise API: Apps, Bids, Budgets, Campaigns, Creative packs, Targeting | по роли на каждый ресурс, которым управляете |
Обратите внимание на формулировку Unity: запрос к ресурсу, на который у service account нет роли, падает с 403, даже когда запросы к другим ресурсам проходят. По логике этой же фразы, если приложения читаются, а биды нет, роль на приложения у вас есть, а на биды нет.
Массовый запуск трогает сразу несколько ресурсов: кампании, таргетинг, биды, бюджет, назначение креативов. Роли Advertise API нужны на каждый ресурс, которым вы управляете; для запуска кампаний пачкой это, скорее всего, несколько ролей. Какие именно разрешения внутри каждой, Unity на прочитанных нами страницах не раскрывает. Точный минимум придётся подбирать, глядя на ответы API.
Создавать service accounts и секретные ключи могут только Organization Owners и Organization Managers. Если у вас роль ниже, ключ себе не выпустить: нужен Owner или Manager вашей организации.
Путь такой:
Шаг 5 легко пропустить: ключ без роли аутентифицируется, и только потом каждый запрос получает 403.
Дашборд показывает Secret key только один раз. Ранее созданные ключи посмотреть нельзя. Key ID и Secret key Unity просит хранить вместе в надёжном месте. Потеряли секрет: создаёте новый ключ.
Отсюда практическое правило для команды. Если ключ выпускал не вы и секрета у вас нет, искать его в дашборде бесполезно, его там нет. Просите человека, у которого он сохранён, либо выпускайте новый ключ через Owner или Manager. Поэтому секрет сохраняйте сразу, в момент выпуска.
Идите сверху вниз и останавливайтесь на первом найденном:
Новый ключ здесь, скорее всего, не поможет. Unity пишет, что роль назначают service account. Наш вывод, не слова Unity: свежий ключ того же аккаунта эту ошибку, скорее всего, не уберёт.
Прочитанные страницы не отвечают на несколько вопросов, которые возникают при работе с ключами:
Пока этого нет в документации, не закладывайте в процессы предположения вроде «старый ключ отзовётся сам».
DarkCore Ramet подключает организации Unity ключом service account или вашим Unity ID, а несколько кабинетов можно вести вместе. Запуск и правки идут через официальный Unity API, поэтому роли service account должны быть выданы в Unity до того, как вы начнёте пользоваться ключом. Каждое изменение читается обратно из Unity, прежде чем считается выполненным.
Подключите организацию Unity ключом service account
DarkCore Ramet подключает организации Unity по ключу service account или вашему Unity ID. Запуск и правки идут через официальный Unity API.
Advertiser Public API заменил Advertising Management API: новая база, id приложений, микродоллары, другие поля. Порядок миграции и что убрано.
Unity APIМассовый запуск6 мин чтения

Лимит Unity Ads: 1 креатив в секунду и 30 за 30 минут на каждую апку, пачка считается поштучно. Прикидываем залив и что не сказано в доках.
КреативыUnity API5 мин чтения

Таблицы Bulk Campaign Management правят таргетинг, ставки и расписания, но не бюджеты и не создают кампании с Automated Bidding. Разбор по докам Unity.
Массовый запускUnity API5 мин чтения
