Skip to main content
POST
Create ad account

Request contract

  • Method and path: POST /apis/v1/ads/accounts
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/accounts
  • connectionId: query; required
  • X-Aisa-Confirm: header; optional
  • Runtime facts: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Aisa-Confirm
enum<string>

Required with the value "spend" when the request can spend money or change spend. Without it the request is refused with 409 confirmation_required, which describes what would happen; nothing is sent to the ad platform.

Available options:
spend

Query Parameters

connectionId
string
required

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$

Body

application/json
businessId
string
required

Business portfolio that will own the account.

Pattern: ^[1-9][0-9]*$
currency
string
required

Uppercase ISO 4217 currency supported by Meta.

Pattern: ^[A-Z]{3}$
name
string
required

Ad account name. Whitespace is trimmed.

Required string length: 1 - 255
timezoneId
integer
required

Numeric Meta timezone ID from the linked timezone list. For example 1 is America/Los_Angeles.

Required range: 0 <= x <= 4294967295
adAccountCreatedFromBmFlag
boolean

Meta Business Manager creation flag.

connectionId
string

The ads connection (adc_...), when not sent as the connectionId query parameter.

Pattern: ^adc_[0-9A-Za-z]+$
endAdvertiser
string
default:NONE

End advertiser business or page ID. NONE uses the owning business.

Pattern: ^(NONE|[1-9][0-9]*)$
fundingId
string

Existing Meta funding reference. Does not add a payment method.

Pattern: ^[1-9][0-9]*$
invoice
boolean

Request Meta invoicing. Eligibility is determined by Meta.

invoiceGroupId
string

Existing Meta invoice group ID.

Pattern: ^[1-9][0-9]*$
invoicingEmails
string<email>[]

Addresses for Meta invoices.

Required array length: 1 - 100 elements
io
boolean

Meta insertion-order invoicing option.

mediaAgency
string
default:NONE

Media agency business or page ID. NONE for self-serve customers.

Pattern: ^(NONE|[1-9][0-9]*)$
partner
string
default:NONE

Partner business or page ID. NONE for self-serve customers.

Pattern: ^(NONE|[1-9][0-9]*)$
platform
enum<string>

Optional. Omit it or send meta for a Meta ad account. Filled from the connection when omitted.

Available options:
meta
poNumber
string

Purchase order number.

Required string length: 1 - 255
managerCustomerId
string

Manager (MCC) customer id without dashes. The new account is created under it. List reachable managers with GET /apis/v1/ads/accounts/hierarchy.

timeZone
string

IANA time zone name, for example Europe/Madrid. Cannot be changed after creation.

validateOnly
boolean

Ask Google to validate the request without creating the account.

Response

Google validateOnly request accepted by Google. Nothing was created.

managerCustomerId
string
required
platform
enum<string>
required
Available options:
google
validateOnly
boolean
required

Always true on a 200.