Skip to main content
POST
Call connections.messaging_registration_status

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

none — this workspace has never started; there is no number. number_pending — started, no number yet. compliance_pending — the number IS bought and real, but the phone companies have not approved it, so texts do NOT go out. submitted — filed and under review. approved — texting is live. rejected — turned down, and rejection_reason says why. NEVER report compliance_pending as connected or working.

Available options:
none,
number_pending,
compliance_pending,
submitted,
approved,
rejected
can_send_texts
boolean
required

True for approved only. When false, why_not is the sentence to give the operator — do not paraphrase it into something more hopeful.

why_not
string | null
required
headline
string
required
next_action
string | null
required

What has to happen next, in the operator's words. Null means nobody's move — a wait on the phone companies. Never invent one.

has_number
boolean
required
number_purchased_at
string | null
required
rejection_reason
string | null
required

The phone companies' own words, on rejected only. Quote it — it is what tells the operator what to fix.

registration_steps
object[]
required

The five steps the operator performs themselves in their Grow account. We cannot file the registration for them — there is no API for it — so never offer to.

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.