Teams
/team
GET /teamReturns the authenticated user's current team including subscription summary and caller role. Requires Automation-tier API access.
Request
No request body required. No query parameters.
Response (200)
{
"team": {
"id": 456,
"name": "My Content Team",
"user_role": "admin",
"owner": {
"id": 123,
"name": "John Doe"
},
"subscription": {
"plan": "Creator",
"status": "active",
"trial_ends_at": null,
"is_paused": false
}
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| team.id | integer | Unique team identifier |
| team.name | string | Team name |
| team.user_role | string | Caller role: owner, admin, editor, viewer, or member |
| team.owner | object | Team owner information |
| team.owner.id | integer | Owner user ID |
| team.owner.name | string | Owner user name |
| team.subscription | object | Team subscription details |
| team.subscription.plan | string | Current subscription plan |
| team.subscription.status | string | One of active, trial, inactive, or paused |
| team.subscription.trial_ends_at | string|null | Trial end date (ISO 8601) or null if not in trial |
| team.subscription.is_paused | boolean | Whether the subscription is paused |
Error Responses
| Status | Error code | Description |
|---|---|---|
| 401 | (unauthenticated) | Missing or invalid Bearer token |
| 403 | API access not available | Plan below Automation |
| 403 | No team associated with user | User has no current team |
/team/credits
GET /team/creditsReturns your team's current credit balance and usage information.
Request
No request body required. No query parameters.
Response (200)
{
"credits": {
"current_credits": 850,
"plan_credits": 1000,
"credits_used_this_period": 150,
"credits_remaining": 850,
"credits_expire_at": "2026-02-28T00:00:00Z",
"next_credit_refresh": "2026-03-01T00:00:00Z"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| credits.current_credits | integer | Current available credits |
| credits.plan_credits | integer | Total credits allocated for this period |
| credits.credits_used_this_period | integer | Credits consumed in the current period |
| credits.credits_remaining | integer | Credits remaining in the current period |
| credits.credits_expire_at | string | ISO 8601 timestamp when current credits expire |
| credits.next_credit_refresh | string|null | Next refresh (often same as credits_expire_at) |
Error Responses
| Status | Error code | Description |
|---|---|---|
| 401 | (unauthenticated) | Missing or invalid Bearer token |
| 403 | API access not available | Plan below Automation |
/team/tokens
GET /team/tokensList API tokens created by the authenticated user for the current team. Does not include other members' tokens. Team administrator required.
Request
No request body required.
Response (200)
{
"tokens": [
{
"id": 123,
"name": "Zapier Integration",
"abilities": [
"intel:read",
"scripts:read"
],
"last_used_at": "2026-02-01T18:22:00Z"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
| tokens | array | Array of token objects |
| tokens[].id | integer | Token identifier |
| tokens[].name | string | Human-readable token name |
| tokens[].abilities | array | Array of permission strings |
| tokens[].last_used_at | string|null | ISO 8601 last usage timestamp (null if never used) |
Error Responses
| Status | Error code | Description |
|---|---|---|
| 403 | Only team administrators can manage API tokens | Caller is not team owner/admin |
/team/tokens
POST /team/tokensCreate a new API token. Team admin required.
Request
JSON body with token name and abilities.
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Token label. Max 255. Unique per user per team. |
| abilities | array | Yes | Each element must be one of: intel:read, intel:write, scripts:read, scripts:write, thumbnails:read, thumbnails:write, channels:read, webhooks:read, webhooks:write |
{
"name": "Automation Token",
"abilities": [
"intel:read",
"scripts:read",
"channels:read"
]
}
Response (201)
{
"token": {
"id": 456,
"name": "Automation Token",
"abilities": [
"intel:read",
"scripts:read",
"channels:read"
],
"token": "plain-text-token-value"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| token.id | integer | Token identifier |
| token.name | string | Token name as provided |
| token.token | string | The full API token (shown only when created) |
| token.abilities | array | Granted abilities |
Error Responses
| Status | Error code | Description |
|---|---|---|
| 403 | Only team administrators can create API tokens | Caller is not team owner/admin |
| 422 | (validation) | Invalid abilities or duplicate name |
/team/tokens/{token}
DELETE /team/tokens/{token}Delete a token by ID. Team admin required.
Request
No request body required.
Parameters
| Name | Type | Description |
|---|---|---|
| token | integer | The token ID to delete (path parameter) |
Response (200)
{
"message": "Token deleted successfully"
}
Response Fields
| Field | Type | Description |
|---|---|---|
| message | string | Success confirmation message (no `success` wrapper) |
Error Responses
| Status | Error code | Description |
|---|---|---|
| 403 | Only team administrators can delete API tokens | Not team admin |
| 404 | (not found) | Token not found or not owned by caller |