---
title: "CreateAdAccount"
method: POST
path: "/rmp/mgmt/v1/platforms/{platform_id}/ad-accounts"
tags: ["AdAccount"]
---

# CreateAdAccount

`POST /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts`

Create a new ad account.

## Path parameters

- `platform_id` string, required

## Request body

- object — CreateAdAccount request.
  - `ad_account` PublicCreateAdAccountRequestAdAccountInfo, required
    - `id` string, required — The id of the ad account. Must be a string of 1 to 50 characters. Only letters (a–z, A–Z), digits (0–9), hyphens (-), underscores (_), and periods (.) are allowed.
    - `title` string, required — A descriptive name of the ad account.
    - `timezone` string — Timezone info of the ad account, Immutable. When there is no timezone info in ad account, Platform's timezone info will be applied. Must be in IANA timezone name format, e.g. Asia/Seoul.

## Response `200`

A successful response.

- PublicCreateAdAccountResponse — CreateAdAccount response.
  - `ad_account` Managementv1AdAccount, required — Definition of a ad account.
    - `id` string, required — The id of the ad account. This is a rmp-side truth. Thus it is always required, even for CreateAdAccountRequest.
    - `title` string, required — A descriptive name of the ad account.
    - `timezone` string, required — Timezone info of the ad account, Immutable. When there is no timezone info in ad account, Platform's timezone info will be applied. Must be in IANA timezone name format, e.g. Asia/Seoul.
    - `state_info` V1AdAccountStateInfo, required — AdAccountStateInfo encloses AdAccount's state information.
      - `ad_account_id` string, required — The id of the AdAccount.
      - `state` 'UNKNOWN_STATE' | 'ACTIVE' | 'INACTIVE', required
      - `state_case` 'INIT_BY_PLATFORM' | 'ACTIVATED' | 'OUT_OF_BUDGET' | 'INTERNAL_ISSUE' | 'REACHED_SPENDING_LIMIT', required
      - `state_updated_at` string, date-time, required — Timestamp for when the AdAccount's state was updated.
      - `updated_at` string, date-time, required — Updated timestamp. Set internally during creation, but required during update. This should match the updated timestamp updated_at of the ad account, which is able to check with ReadAdAccount API.
    - `created_at` string, date-time, required — Created timestamp. API user should not touch this field; it is set internally.
    - `updated_at` string, date-time, required — Updated timestamp. Set internally during creation, but required during update. This should match the updated timestamp updated_at of the ad account, which is able to check with ReadAdAccount API.

## Other responses

- `400` — Bad request. Detailed cause can be found in the response message.
- `401` — Unauthorized.
- `403` — Permission denied.
- `404` — Not found. One or more required resources do not exist.You can see the details in the response message.
- `500` — Internal server error. Detailed cause can be found in the response message.

---

[API](https://skmtc.dev/moloco/apis/decision-api.md) · [All operations](https://skmtc.dev/moloco/apis/decision-api/llms.txt) · [OpenAPI document](https://skmtc.dev/moloco/apis/decision-api/revisions/206968b164e7?raw)
