---
title: "Batch get campaign status"
method: POST
path: "/ads-management/v1/campaigns:batchGetStatus"
tags: ["Advertising"]
---

# Batch get campaign status

`POST /ads-management/v1/campaigns:batchGetStatus`

Returns the status (lifecycle state) and deliveryStatus (whether the campaign is currently serving), along with deliveryStatusReasons, for up to 100 campaigns in a single call. This is the recommended way to poll the review and serving state of many campaigns at once. Provide the campaign IDs in campaignIds; any ID that is not found or is not owned by the caller is returned in the failures array with reason NOT_FOUND.

## Request body

- InternalPublicV1BatchGetStatusRequest
  - `campaignIds` string[], required — The campaign IDs to look up. Required. At most 100 per request.

## Response `200`

OK

- InternalPublicV1BatchGetStatusResponse
  - `failures` InternalPublicV1CampaignIDFailure[] — The IDs that could not be resolved. Omitted when every ID resolved.
    - `id` string — The campaign ID that could not be resolved.
    - `reason` 'NOT_FOUND' — Why the ID could not be resolved. `NOT_FOUND` means the campaign does not exist or is not owned by the caller.
  - `statuses` InternalPublicV1CampaignStatus[] — One entry per successfully resolved campaign.
    - `deliveryStatus` 'SERVING' | 'IN_REVIEW' | 'NOT_SERVING' | 'REJECTED' — The current serving state. Can be `SERVING`, `IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.
    - `deliveryStatusReasons` string[] — The reasons behind the current deliveryStatus. Omitted when there are none.
    - `id` string — The campaign identifier.
    - `status` 'ACTIVE' | 'PAUSED' | 'CANCELLED' — The lifecycle state. Can be `ACTIVE`, `PAUSED`, or `CANCELLED`.

## Other responses

- `400` — Invalid request or exceeds 100 IDs
- `403` — Permission denied
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-08-25** `a04d95d4c604` — 1 info
  - the endpoint scheme security `roblox-legacy-cookie` was added to the API

[Change history](https://skmtc.dev/roblox/apis/roblox-api/changes/ads-management/v1/campaigns:batchGetStatus/post.md)

---

[API](https://skmtc.dev/roblox/apis/roblox-api.md) · [All operations](https://skmtc.dev/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/roblox/roblox-api/revisions/997412c1cdd2/schema)
