---
title: "Create an ad account"
method: POST
path: "/api/v1/ads/accounts"
tags: ["Ads"]
---

# Create an ad account

`POST /api/v1/ads/accounts`

## Request

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

## Query parameters

- `accountId` string, uuid
- `profileId` string, uuid

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `businessId` string, required
  - `name` string, required
  - `currency` 'USD' | 'CAD' | 'MXN' | 'BRL' | 'GBP' | 'EUR' | 'AUD' | 'NZD' | 'INR' | 'SGD' | 'AED' | 'JPY'
  - `timezone` 'America/Los_Angeles' | 'America/Denver' | 'Pacific/Honolulu' | 'America/Anchorage' | 'America/Phoenix' | 'America/Chicago' | 'America/New_York' | 'America/Toronto' | 'America/Vancouver' | 'America/Mexico_City' | 'America/Sao_Paulo' | 'Europe/London' | 'Europe/Dublin' | 'Europe/Paris' | 'Europe/Berlin' | 'Europe/Madrid' | 'Europe/Amsterdam' | 'Asia/Dubai' | 'Asia/Kolkata' | 'Asia/Singapore' | 'Asia/Tokyo' | 'Australia/Sydney' | 'Pacific/Auckland' | 'UTC', required

## Response `200`

Success

- object
  - `adAccount` union, required
    - object
      - `id` string, required
      - `accountId` string, required
      - `name` string, required
      - `currency` string, nullable, required
      - `timezoneName` string, nullable, required
      - `accountStatus` number, nullable, required
      - `minDailyBudget` number, nullable, required
      - `businessId` string, nullable, required
      - `businessName` string, nullable, required
    - object
      - `id` string, required
  - `replayed` boolean, required

## Other responses

- `201`: Success
- `400`: Invalid request or provider failure
- `401`: Missing or invalid API key
- `403`: The connection lacks a permission or provider-confirmed resource
- `404`: Profile, account, or object not found
- `409`: The request conflicts with existing state
- `422`: The connected account cannot perform this operation
- `429`: Provider quota or rate limit exhausted
- `502`: Invalid request or provider failure

## Changes

- **2026-10-20** `7a149f5a838a`: 12 breaking, 14 warning, 6 info
  - added the new required `header` request parameter `Idempotency-Key`
  - the response property `error/details` became optional for the status `403`
  - the response property `error/details/capability` became optional for the status `403`
  - the response property `error/details/missingPermissions` became optional for the status `403`
  - …28 more

[Operation history](https://skmtc.dev/tryadeli/apis/adeli-api/changes/api/v1/ads/accounts/post.md)

---

[API](https://skmtc.dev/tryadeli/apis/adeli-api.md) · [All operations](https://skmtc.dev/tryadeli/apis/adeli-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tryadeli/apis/adeli-api/revisions/7a149f5a838a?raw)
