---
title: "Check an ad account before creating ads"
method: GET
path: "/v1/ads/accounts/health"
tags: ["Ad Accounts"]
---

# Check an ad account before creating ads

`GET /v1/ads/accounts/health`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/ads/accounts/health`
- Auth: HTTP bearer

Checks whether a Meta ad account can run ads right now, with a fix link for each problem.

### What is checked

- the account status
- the payment method
- the account spending limit
- the Facebook Page and its Instagram account
- the Page's Lead Ads terms
- the newest pixel event
- the WhatsApp number linked to the Page

Each check reads on its own: one this connection cannot see comes back `unknown` instead of failing the request.

### Reading the result

- `status` is `blocked` when any check is `error` (ads will be refused), `attention` when one is `warning`, else `ok`.
- `missing` marks an optional asset that is not set up (a pixel, a WhatsApp number): only the ads that need it are affected.
- A `fix.url` is either a Meta page or a Zernio dashboard path (starting with `/`).

## Query parameters

- `accountId` string, required
- `adAccountId` string, required

## Response `200`

Account checks

- object
  - `adAccountId` string
  - `status` 'ok' | 'attention' | 'blocked'
  - `checkedAt` string, date-time
  - `checks` object[]
    - `id` 'account_status' | 'payment' | 'spend_cap' | 'page' | 'instagram' | 'lead_terms' | 'pixel' | 'whatsapp', required
    - `status` 'ok' | 'warning' | 'error' | 'missing' | 'unknown', required
    - `title` string, required
    - `message` string, required
    - `fix` object
      - `label` string
      - `url` string

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `404`: The account or requested resource was not found or is not accessible. An account ID may have been disconnected and removed. Read GET /v1/accounts for current account IDs.
- `409`: The account exists but is inactive or needs reconnection. Reconnect it, then read GET /v1/accounts for its current account ID before retrying. Code: ads_connection_required.
- `501`: Only supported on Meta (facebook/instagram)

## Changes

- **2026-10-27** `74d22f0c2df1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/ads/accounts/health/get.md)

---

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