---
title: "List disapproved ads and keywords"
method: GET
path: "/api/v1/reports/disapprovals"
tags: ["reports"]
---

# List disapproved ads and keywords

`GET /api/v1/reports/disapprovals`

## Request

- Base URL: `https://api.growomat.com`
- URL: `https://api.growomat.com/api/v1/reports/disapprovals`
- Auth: HTTP bearer

Every ad and keyword that a connected platform currently refuses to show, shows only in a limited way, or shows only to people interested in an area. Each row names the entity, the platform, the reasons and the affected markets. An empty list means nothing is disapproved.

**Errors**

- `400 INVALID_PLATFORM`: `platform` is not a known platform id.

## Query parameters

- `platform` 'google-ads' | 'microsoft-ads' | 'reddit-ads' | 'meta-ads' | 'openai-ads' | 'linkedin-ads'

## Headers

- `X-Space-Id` string

## Response `200`

OK. The result is in `data`. List responses also carry `meta` with `nextCursor` and `total`.

- SuccessEnvelope: The shape of every successful response.
  - `data` unknown, required
  - `meta` object: Present on list responses.
    - `nextCursor` union: Pass as `cursor` to get the next page. `null` on the last page.
      - string
      - number
    - `total` integer: Number of items in this page.

## Other responses

- `400`: The request is malformed or fails validation. `error.code` is `VALIDATION_ERROR` (with `details.issues[]` naming each field), `INVALID_REQUEST` (the body is not valid JSON or has the wrong shape), or one of the specific codes listed in this operation's description.
- `401`: The bearer token is missing, invalid, expired or revoked (`INVALID_TOKEN`).
- `403`: The token lacks the scope this operation needs (`INSUFFICIENT_SCOPE`), the plan is read-only (`READ_ONLY_MODE`), or the caller is not a member of the Space named in `X-Space-Id` (`NOT_A_MEMBER`).
- `404`: No such resource in the active Space (`NOT_FOUND`), or `X-Space-Id` names a Space that does not exist (`SPACE_NOT_FOUND`).
- `409`: The request conflicts with the current state, for example a delete blocked by dependents or a sync already running. This operation's description names the `error.code` values it can return.
- `429`: Too many requests (`RATE_LIMITED`). Wait for the number of seconds in the `Retry-After` header, then retry.

---

[API](https://skmtc.dev/growomat/apis/growomat-public-api.md) · [All operations](https://skmtc.dev/growomat/apis/growomat-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/growomat/apis/growomat-public-api/revisions/f02611b531aa?raw)
