Skip to main content
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

  1. Every row is checked before anything is written. A row that fails comes back with success: false and an error code; the other rows still go ahead.
  2. Each row that passes creates the ad in Growi with state: queued, inside the ad set in meta_ad_set_id.
  3. A background job publishes each ad to Meta (video, creative, ad). Poll List ads with ids=.
  4. With launch_state: "active" the ad turns on as soon as it publishes, and spend starts. With paused (the default), call Launch an ad when you are ready.
Send one bulk call of up to 50 rows with launch_state: "active" instead of creating ads one by one and launching each. With the default limit of 40 requests per hour per key, that keeps a daily job to a handful of calls.

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_id attributed to a creator credits that creator’s enrollment.
  • A content_submission_version_id credits the enrollment the submission came from.
  • Otherwise a link_url with the creator’s Meta tag (a=meta_<tag>) credits the creator it belongs to. Get it from creator_links in options.
Always use the creator’s Meta link as 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, get 403. See Rate limits and authentication.

Errors

Authorizations

Authorization
string
header
required

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

Query Parameters

organization_id
integer

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
ads
object[]
required
Required array length: 1 - 50 elements

Response

One result per row, in request order

success
boolean
results
object[]
summary
object