Team
Manage team members on your IndReelForge account. Invite collaborators by email, assign roles, and remove members. All team endpoints require session authentication — API key auth is not supported on this surface.
Roles: viewer, editor, admin.
List Team Members
GET https://api.indreelforge.com/api/team
Returns all team members for the authenticated account along with seat usage against your plan limit.
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
https://api.indreelforge.com/api/team
Response
{
"members": [
{
"id": "a1b2c3d4-...",
"owner_id": "u-owner-uuid",
"member_id": "u-member-uuid",
"member_email": "[email protected]",
"role": "editor",
"status": "active",
"display_name": "Alice",
"user_email": "[email protected]",
"last_seen": "2025-06-01T10:00:00.000Z",
"created_at": "2025-01-15T09:00:00.000Z",
"accepted_at": "2025-01-15T09:30:00.000Z"
}
],
"seats": {
"used": 2,
"limit": 5
}
}
seats.used includes the account owner. members entries with status: "pending" are invitations not yet accepted.
Invite Team Member
POST https://api.indreelforge.com/api/team/invite
Sends an invitation email to the specified address. Invitations expire after 7 days. Re-inviting a previously revoked member resets their pending invite.
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email address to invite |
role | string | No | viewer, editor, or admin (default: editor) |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"email": "[email protected]", "role": "editor"}' \
-X POST https://api.indreelforge.com/api/team/invite
Response
{
"success": true,
"message": "Invitation sent"
}
Error cases:
| Status | Reason |
|---|---|
400 | Missing email, invalid role, or inviting yourself |
403 | Seat limit reached — upgrade your plan |
409 | This address already has a pending or active invitation |
Accept Invitation
POST https://api.indreelforge.com/api/team/accept
Accepts a team invitation using the token delivered in the invitation email. The authenticated user's email must match the address the invitation was sent to. Seat availability is re-validated at accept time against the owner's current plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | Yes | 64-character hex token from the invitation email link |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"token": "a1b2c3d4e5f6..."}' \
-X POST https://api.indreelforge.com/api/team/accept
Response
{
"success": true,
"message": "Invitation accepted"
}
Error cases:
| Status | Reason |
|---|---|
400 | Missing token |
403 | Invitation was sent to a different email, or the team is now full |
404 | Token is invalid, expired, or already used |
Update Member Role
PATCH https://api.indreelforge.com/api/team/:id
Changes the role of an existing active or pending team member. You can only update members belonging to your account.
| Parameter | Type | Required | Description |
|---|---|---|---|
role | string | Yes | New role: viewer, editor, or admin |
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"role": "admin"}' \
-X PATCH https://api.indreelforge.com/api/team/a1b2c3d4-...
Response
{
"success": true
}
Error cases:
| Status | Reason |
|---|---|
400 | Missing or invalid role value |
404 | Member not found or does not belong to your account |
Remove Team Member
DELETE https://api.indreelforge.com/api/team/:id
Revokes a team member's access. Their active session is immediately invalidated. You can re-invite a revoked member at any time.
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-X DELETE https://api.indreelforge.com/api/team/a1b2c3d4-...
Response
{
"success": true
}
Error cases:
| Status | Reason |
|---|---|
404 | Member not found, not in your account, or already revoked |