Skip to main content
POST
Call connections.start_ad_account_setup

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
platform
enum<string>
required

Which advertising platform's ad account to set up on that platform's own account — the customer owns the account and grants us access to it. The allowed values are the enum's; do not offer a platform outside it.

Available options:
meta,
google,
tiktok,
linkedin
external_account_id
string | null

The operator's OWN ad account id, if they already have an account and have told you the id (a Meta act id, a Google 10-digit customer id, a TikTok advertiser id). Omit it when they are making a new account — that is the normal case and the walkthrough collects it later. NEVER pass a password, token or API key here; this field is an account identifier only.

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
platform
enum<string>
required
Available options:
meta,
google,
tiktok,
linkedin
grant_state
enum<string>
required
Available options:
not_started,
awaiting_customer_creation,
awaiting_authorization,
awaiting_platform_access,
request_issued,
awaiting_customer_accept,
active,
revoked,
failed
status_sentence
string | null
required
external_account_id
string | null
required
next_step_key
string | null
required
next_step_title
string | null
required
steps
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.