---
title: "Create ad"
method: POST
path: "/ads"
tags: ["Ads"]
---

# Create ad

`POST /ads`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/ads`
- Auth: API key in header `Authorization`

Create a standalone ad with its own creative.

## Headers

- `Idempotency-Key` string

## Request body

- object: Ad to create.
  - `account_id` string
  - `ad_account_id` string
  - `name` string
  - `goal` string
  - `budget_amount` number: Budget for the new ad set (or campaign, with budget_level=campaign). Whole currency units, NOT cents: 20 = $20.00. Meta's own Marketing API takes this number in minor units, so it is an easy and expensive mix-up — 2000 here buys $2000.00 of ads, not $20.00.
  - `budget_type` string: `daily` or `lifetime`. A lifetime budget also needs `end_date`.
  - `headline` string
  - `body` string
  - `call_to_action` string
  - `link_url` string
  - `image_url` string

## Response `201`

Created ad.

- object: Created ad.

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Resource not found
- `409`: Account not activated for ads (call POST /v1/socials/activate first).
- `422`: Validation error
- `429`: Rate limit exceeded — 600 requests per minute per credential. Retry after the number of seconds in `Retry-After`.

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
