Create ads in bulk
Creates ads from creator content into existing ad sets. Every row runs the same checks as the dashboard ad builder and is created on its own, so one bad row does not stop the others. Responds 207 with one result per row. Ads publish to Meta in the background: poll GET /meta_ads?ids=. Needs an owner or admin key.
POST
Creates up to 50 Meta ads from creator content, into ad sets you already have. Every row runs the same checks as the dashboard ad builder and is created on its own, so one bad row does not stop the others. Responds
207 with one result per row.
Step 3 of the Meta ads automation flow.
How it works
- Every row is checked before anything is written. A row that fails comes back with
success: falseand an errorcode; the other rows still go ahead. - Each row that passes creates the ad in Growi with
state: queued, inside the ad set inmeta_ad_set_id. - A background job publishes each ad to Meta (video, creative, ad). Poll List ads with
ids=. - With
launch_state: "active"the ad turns on as soon as it publishes, and spend starts. Withpaused(the default), call Launch an ad when you are ready.
Row fields
Fields that are not listed here are ignored.
Crediting the creator
Each ad records the creator enrollment it is credited to (campaign_affiliate_id), which drives sales attribution and ad spend commission:
- A
social_post_idattributed to a creator credits that creator’s enrollment. - A
content_submission_version_idcredits the enrollment the submission came from. - Otherwise a
link_urlwith the creator’s Meta tag (a=meta_<tag>) credits the creator it belongs to. Get it fromcreator_linksin options.
link_url so purchases from the ad are attributed. See How creators get credited.
Row error codes
Rows run in order, and ads created by earlier rows in the same request count against the ad set. If 10 rows target an ad set that holds 45 of 50 ads, the first 5 are created and the last 5 fail with
PREFLIGHT_AD_SET_FULL. Split rows across ad sets using ads_count and max_ads from options.Authentication
Needs a full-access API key whose creator is an owner or admin. Legacy keys that are not tied to a person also work. View-only keys, and keys whose creator has the viewer role, get403. See Rate limits and authentication.
Errors
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Act on a child brand of the API key's organization. Omit it to act on the key's own organization. Any other id returns 404.
Body
application/json
Required array length:
1 - 50 elements