Teams
Manage teams — details, plan and usage, members, roles, and invites.
Endpoints under /teams are team-scoped — they act on a specific team identified by the teamId path parameter. Access is governed by your membership of that team: every team member has a role, and most endpoints require a minimum role to call them.
Roles
Each member holds one of three roles, ordered from least to most privileged:
| Role | Can |
|---|---|
viewer | Read team details, members, and data |
editor | Everything a viewer can, plus create and modify resources |
owner | Everything an editor can, plus manage the team, members, roles, and invites |
A role requirement is a minimum — an owner satisfies a viewer requirement. If you are not a member of the team, or your role is below the requirement, the call fails with 403 FORBIDDEN. Each endpoint notes its required role.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /teams | List teams you belong to |
GET | /teams/{teamId} | Get a team's details, plan, and usage |
PUT | /teams/{teamId}/name | Rename a team |
GET | /teams/{teamId}/members | List a team's members |
PUT | /teams/{teamId}/members/{userId}/role | Change a member's role |
DELETE | /teams/{teamId}/members/{userId} | Remove a member |
GET | /teams/{teamId}/invites | List pending invites |
POST | /teams/{teamId}/members/invite | Invite a member by email |
The team object
{
"id": "0190f8b0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"name": "Acme Marketing",
"createdAt": "2026-01-12T08:15:00.000Z",
"updatedAt": "2026-05-20T11:42:00.000Z",
"plan": {
"name": "Growth",
"status": "active",
"endsOn": null,
"currencyCode": "USD",
"frequency": "month",
"destinations": {
"core": "google_sheets",
"additional": ["looker_studio"]
},
"limits": {
"users": { "base": 5, "addons": 3, "total": 8 },
"accountsPerConnector": { "base": 10, "addons": 5, "total": 15 },
"schedules": {
"total": 100,
"allowedFrequencies": ["Daily", "Weekly", "Monthly"]
}
}
},
"usage": {
"members": { "count": 6, "status": "ok" },
"accountsPerConnector": {
"gadw": { "count": 4, "status": "ok" },
"fb": { "count": 15, "status": "reached" }
},
"schedules": {
"count": 42,
"byFrequency": { "Hourly": 0, "Daily": 30, "Weekly": 10, "Monthly": 2 },
"status": "ok",
"hasRestrictedFrequency": false
}
}
}
plan is null for teams without a subscription. The name field is null for unnamed teams. See Get team for a field-by-field breakdown.