Skip to main content
POST
Creative-setup validate

Authorizations

Authorization
string
header
required

A personal API key (adside_pat_…) or a token from adside login. Either carries the permissions of the person it belongs to.

Path Parameters

workspaceId
string
required
Minimum string length: 1

Body

application/json
name
string
required

Creative name

Minimum string length: 1
page_id
string
required

Facebook Page ID (required for object_story_spec)

Destination URL where users will be directed when clicking the ad

account_id
string

Meta Ad Account ID (uses configured account if not provided)

message
string

Primary ad text/message (single-variant). Mutually exclusive with bodies.

Maximum string length: 1024
headline
string

Ad title/headline (single-variant). Mutually exclusive with titles.

Maximum string length: 255
bodies
string[]

Multi-variant primary texts (1–5). When set, the creative is built with asset_feed_spec and must be attached to a Dynamic Creative ad set.

Required array length: 1 - 5 elements
Required string length: 1 - 1024
titles
string[]

Multi-variant headlines (1–5). Pair with bodies.

Required array length: 1 - 5 elements
Required string length: 1 - 255
descriptions
string[]

Multi-variant descriptions (0–5). Pair with bodies.

Maximum array length: 5
Required string length: 1 - 255
picture
string<uri>

External image URL - must be publicly accessible

image_hash
string

Pre-uploaded image hash (alternative to picture URL)

video_id
string

Video ID for video creatives

placement_assets
object[]

Placement asset customization (multi-ratio ad): one image or video per placement bucket, each placement_group at most once. Requires image_hash as the fallback image for placements not listed. Upload every ratio first (upload_image_from_url / upload_video_from_url) and pass the hashes. Mutually exclusive with bodies/titles — the resulting creative must be attached to a STANDARD ad set (Meta rejects it in a Dynamic Creative ad set).

Required array length: 1 - 4 elements
creative_source
object

For a static creative from an Adside drop, pass its exact prepared source. The server rechecks destination compatibility, revision, effective copy and placement image hashes before creating anything.

call_to_action_type
enum<string>

Call to action button type (40+ supported types)

Available options:
LEARN_MORE,
SHOP_NOW,
SIGN_UP,
DOWNLOAD,
BOOK_TRAVEL,
LISTEN_MUSIC,
WATCH_VIDEO,
GET_QUOTE,
CONTACT_US,
APPLY_NOW,
GET_DIRECTIONS,
CALL_NOW,
MESSAGE_PAGE,
SUBSCRIBE,
BOOK_NOW,
ORDER_NOW,
DONATE_NOW,
SAY_THANKS,
SELL_NOW,
SHARE,
OPEN_LINK,
LIKE_PAGE,
FOLLOW_PAGE,
FOLLOW_USER,
REQUEST_TIME,
VISIT_PAGES_FEED,
USE_APP,
PLAY_GAME,
INSTALL_APP,
USE_MOBILE_APP,
INSTALL_MOBILE_APP,
OPEN_MOVIES,
AUDIO_CALL,
VIDEO_CALL,
GET_OFFER,
GET_OFFER_VIEW,
BUY_NOW,
ADD_TO_CART,
SELL,
GIFT_WRAP,
MAKE_AN_OFFER,
BUY_TICKETS,
EXPLORE_MORE,
GET_PROMOTIONS,
GET_SHOWTIMES,
LISTEN_NOW,
SAVE,
SEE_DETAILS,
SEE_MENU,
WATCH_MORE,
WHATSAPP_MESSAGE
description
string

Additional description text

Maximum string length: 255
instagram_actor_id
string

Optional. Instagram Business Account ID of the Page's Instagram account (typically starts with 1784) — the instagram_account_id adside meta account-pages get reports for that Page. When omitted the tool resolves the identity itself: the Page's Instagram business account, else — for placement-customised and variation creatives only, which Meta refuses without one — its Page-backed Instagram account (created when the Page has none — a write on the workspace's Page the result calls out), else the Page actor override. A standard creative is left without one when the Page has no Instagram account. The result reports which one it used in instagram_identity

adlabels
string[]

Ad labels for organization and tracking

enable_standard_enhancements
boolean
default:false

Enable Standard Enhancements with individual feature control

enhancement_features
object

Individual enhancement feature controls

attachment_style
enum<string>
default:link

Attachment style for link ads

Available options:
link,
album
caption
string

Caption text (typically domain name)

url_tags
string

URL tags appended to the link URL for tracking (e.g. utm_source=...&utm_medium=...)

Response

200 - application/json

Success