Team Members

Create Team Member

Adds a user to an account's team with a system role. If the user has not yet accepted, an invitation is sent instead and the response is 202 with { "object": "team_member_invite", "invitation_sent": true }. If the user already has a pending invite, the request fails with a 400. Custom roles cannot be granted via the API.

post/team_members

Headers

Idempotency-Keystring
Example:d9105228-4a08-46b1-8b91-42fed586d383

A unique key that makes this request safe to retry. See Idempotent requests.

Request body

account_idstring required

Account ID, prefixed biz_.

role'owner' | 'admin' | 'sales_manager' | 'moderator' | 'advertiser' required

The system role to grant.

user_idstring required

The user to add to the team, prefixed user_.

Response

Team member created.

account_idstring required

The account this membership belongs to, prefixed biz_.

created_atstring required

When the member joined or the invite was sent, as an ISO 8601 timestamp.

emailstring nullable required

The member's email address. For accepted members, null unless the caller holds the email read scope; for invites, the invited address.

idstring required

Team member ID — ausr_ for accepted members, ausri_ for pending invites.

is_agentboolean required

Whether this member is an agent (app-controlled account) rather than a human team member. Always false for invites.

role'owner' | 'admin' | 'sales_manager' | 'moderator' | 'advertiser' | 'app_manager' | 'support' | 'manager' | 'custom' required

The member's role on the account. custom means a bespoke dashboard-managed role; the API can read but not grant it.

status'joined' | 'pending' required

joined for accepted members, pending while the invite is pending.

updated_atstring required

When the membership was last updated, as an ISO 8601 timestamp.

Example response

{
  "role": "owner",
  "status": "joined"
}

Changes