Skip to main content
POST
Call ads.build_audience

Authorizations

Authorization
string
header
required

An API key minted at Settings › API & MCP. Send it as Authorization: Bearer <key>. A key carries its holder's own permissions, resolved on every call — revoking a membership closes the key's reach immediately. Keep it in an environment variable (GOOSY_API_KEY), never in a committed file.

Headers

x-request-id
string

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Maximum string length: 128

Body

application/json
name
string
required

What to call the audience, in the operator's own words.

Minimum string length: 1
description
string

An optional note about who is in it.

kind
enum<string>

Who is in it: customer_list (the brand's own customers, added after), website (people who visited the site), page_engagement (people who engaged with the Facebook Page or its ads), instagram_engagement (people who engaged with the Instagram account or its ads), lead_form_opened or lead_form_submitted (people who opened, or sent, a Meta sign-up form), video_viewers (people who watched a video ad). Leave it out for customer_list.

Available options:
customer_list,
website,
page_engagement,
instagram_engagement,
lead_form_opened,
lead_form_submitted,
video_viewers
days
integer

How far back to count people, in days, only when the operator names it (site visitors up to 365, Page and Instagram up to 730, sign-up forms up to 90). Leave it out for 30. Not for customer_list.

Required range: 1 <= x <= 730
workspace
string

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Minimum string length: 1

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

The tool ran and answered.

ok
boolean
required
audience_count
integer
required
Required range: x >= 0
audiences
object[]
required
workspace
string
required

The slug of the workspace this call ran in.

working_in
object
required

Which workspace this call ran in, and how that was decided. Present on every workspace-scoped result.