Console API
Ads sets
7 endpoints.
/api/v1/admin/businesses/{business_id}/ads/ad-sets/{ad_set_id}Get an ad set
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
ad_set_idrequired | path | string (uuid) | |
authorization | header | string | null |
Responses
200Successful Responseapplication/jsonSuccessResponse_AdSetData_| Field | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request_idrequired | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
success | true | default true | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
datarequired | AdSetData | AdSetData fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
metadata | ResponseMetadata | null | ResponseMetadata fields
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
meta | ResponseMeta | null | ResponseMeta fields
|
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/ad-sets/{ad_set_id}Patch ad set fields (mutable; audit-logged)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
ad_set_idrequired | path | string (uuid) | |
authorization | header | string | null |
Request bodyrequired
application/jsonAdSetPatchBody| Field | Type | Description |
|---|---|---|
name | string | null | |
facebookPageId | string | null | |
destination | enum | null | |
destinationUrl | string | null | |
dailyBudgetMinor | integer | null | |
addressLine | string | null | |
lat | number | null | |
lng | number | null | |
radiusMeters | integer | null |
Responses
200Successful Responseapplication/jsonSuccessResponse_AdSetData_| Field | Type | Description |
|---|---|---|
request_idrequired | string | |
success | true | default true |
datarequired | AdSetData | AdSetData fieldsAdSetData, expanded above. |
metadata | ResponseMetadata | null | ResponseMetadata fieldsResponseMetadata, expanded above. |
meta | ResponseMeta | null | ResponseMeta fieldsResponseMeta, expanded above. |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/ad-sets/{ad_set_id}Soft-delete ad set
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
ad_set_idrequired | path | string (uuid) | |
authorization | header | string | null |
Responses
204Successful Response400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/ad-sets/{ad_set_id}/generate-ad-copyDEPRECATED: LLM-generate ad copy (use the unit-level generate-copy)
DEPRECATED (KS-2013): copy is per-ad. Delegates to the set's FIRST unit; 409 ``AD_SET_HAS_NO_UNITS`` when the set has none. Use ``POST /businesses/{b}/ads/units/{unit_id}/generate-copy`` instead.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
ad_set_idrequired | path | string (uuid) | |
authorization | header | string | null |
Responses
200Successful Responseapplication/jsonSuccessResponse_AdCopyGenerationData_| Field | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
request_idrequired | string | |||||||
success | true | default true | ||||||
datarequired | AdCopyGenerationData | AdCopyGenerationData fields
| ||||||
metadata | ResponseMetadata | null | ResponseMetadata fieldsResponseMetadata, expanded above. | ||||||
meta | ResponseMeta | null | ResponseMeta fieldsResponseMeta, expanded above. |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/campaigns/{campaign_id}/ad-setsList ad sets in a campaign
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
campaign_idrequired | path | string (uuid) | |
authorization | header | string | null |
Responses
200Successful Responseapplication/jsonSuccessResponse_list_AdSetData__| Field | Type | Description |
|---|---|---|
request_idrequired | string | |
success | true | default true |
datarequired | AdSetData[] | AdSetData[] fieldsAdSetData, expanded above. |
metadata | ResponseMetadata | null | ResponseMetadata fieldsResponseMetadata, expanded above. |
meta | ResponseMeta | null | ResponseMeta fieldsResponseMeta, expanded above. |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/campaigns/{campaign_id}/ad-setsCreate an ad set
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
campaign_idrequired | path | string (uuid) | |
authorization | header | string | null |
Request bodyrequired
application/jsonAdSetCreateBody| Field | Type | Description |
|---|---|---|
name | string | null | |
facebookPageId | string | null | |
destination | enum | one of "website", "facebook-native", "instant_form" · default "website" |
destinationUrl | string | null | |
dailyBudgetMinor | integer | null | |
addressLine | string | null | |
lat | number | null | |
lng | number | null | |
radiusMeters | integer | null | |
currencyCode | string | default "USD" |
Responses
200Successful Responseapplication/jsonSuccessResponse_AdSetData_| Field | Type | Description |
|---|---|---|
request_idrequired | string | |
success | true | default true |
datarequired | AdSetData | AdSetData fieldsAdSetData, expanded above. |
metadata | ResponseMetadata | null | ResponseMetadata fieldsResponseMetadata, expanded above. |
meta | ResponseMeta | null | ResponseMeta fieldsResponseMeta, expanded above. |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.
/api/v1/admin/businesses/{business_id}/ads/generate-ad-copyLLM-generate ad copy from wizard local state (no persistence)
Pre-draft variant of ``generate-ad-copy``. Used by the New Campaign wizard before any ad set row exists — same generation logic, same business-profile grounding, just sourced from the request body instead of a DB read. No row writes.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
business_idrequired | path | string (uuid) | |
authorization | header | string | null |
Request bodyrequired
application/jsonAdCopyPreDraftBody| Field | Type | Description |
|---|---|---|
destination | enum | null | |
destinationUrl | string | null | |
addressLine | string | null | |
lat | number | null | |
lng | number | null | |
radiusMeters | integer | null | |
dailyBudgetMinor | integer | null | |
currencyCode | string | null | |
campaignName | string | null | |
userPrompt | string | null |
Responses
200Successful Responseapplication/jsonSuccessResponse_AdCopyGenerationData_| Field | Type | Description |
|---|---|---|
request_idrequired | string | |
success | true | default true |
datarequired | AdCopyGenerationData | AdCopyGenerationData fieldsAdCopyGenerationData, expanded above. |
metadata | ResponseMetadata | null | ResponseMetadata fieldsResponseMetadata, expanded above. |
meta | ResponseMeta | null | ResponseMeta fieldsResponseMeta, expanded above. |
400Bad request401Unauthorized403Forbidden404Not found422Validation error500Internal server error503Service unavailable
Error bodies: ErrorResponse. See Errors.