Skip to main content
POST
Create a standalone creative

Request contract

  • Method and path: POST /apis/v1/ads/creatives
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/creatives
  • connectionId: query; required
  • 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.

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
adAccountId
string
required

Platform ad account id (Meta act_, Google customer id, LinkedIn account id, ...).

body
string
required

Primary text

headline
string
required
Maximum string length: 255
aiDisclosure
enum<string>

Meta only. Meta's "Ad includes media created or edited with AI" disclosure (the Ads Manager checkbox), stored on the creative as generative_asset_spec.transparency_metadata.self_disclosure. OPT_IN: checks it.

Available options:
OPT_IN,
OPT_OUT
callToAction
string
default:LEARN_MORE

CTA type (same whitelist as POST /apis/v1/ads/create).

Required array length: 2 - 10 elements
connectionId
string

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

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

Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT.

description
string

Link description below the headline; omitted = Meta scrapes the destination's OG description.

Maximum string length: 255
imageHash
string

Existing library image hash (POST /apis/v1/ads/images or GET /apis/v1/ads/images).

imageUrl
string<uri>

Publicly reachable image; uploaded to the account's library server-side.

multiAdvertiser
enum<string>

Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave.

Available options:
OPT_IN,
OPT_OUT
optimizeCardOrder
boolean

Only with carouselCards (a 400 without them). Sets link_data.multi_share_optimized: false: keeps the cards in the order given. Meta then takes at most 5 cards, so false with more than 5 cards is a 400.

promotion
object | null

Not supported. Send null or omit the field, and set the Promotion on the ad in Ads Manager. Any object is rejected with 400 invalid_field_value.

urlTags
string

Appended to every outbound URL (e.g. utm_source=fb).

Response

Creative created

adAccountId
string
creativeId
string

Platform creative id, reusable via existingCreativeId.