The Platform API

Team Management

Manage your videos, ask questions, and build applications with the Platform API. Explore the operations below for request details, responses, and examples.

Team Management

Manage organization members and channel-level permissions. Members inherit org role unless overridden per channel.

GET/api/v1/team/membersList team members

List team members

Send the request to https://platform.endlessai.com/api/v1/team/members using your project key or user token.

POST/api/v1/team/membersInvite member

Invite member

{ "email": "reviewer@company.com", "role": "reviewer" }

Roles: admin, operator, reviewer, viewer

PATCH/api/v1/team/members/:userIdUpdate member role

Update member role

{ "role": "operator" }
DELETE/api/v1/team/members/:userIdRemove member

Remove member

Send the request to https://platform.endlessai.com/api/v1/team/members/:userId using your project key or user token.

GET/api/v1/team/my-permissionsGet current user's permissions

Get current user's permissions

Returns org role, channel overrides, and owned projects.

GET/api/v1/team/channels/:channelId/permissionsGet channel-level permissions

Get channel-level permissions

Send the request to https://platform.endlessai.com/api/v1/team/channels/:channelId/permissions using your project key or user token.

POST/api/v1/team/channels/:channelId/permissionsSet channel permission for user

Set channel permission for user

{ "user_id": "USER_ID", "role": "reviewer" }
DELETE/api/v1/team/channels/:channelId/permissions/:userIdRemove channel permission override

Remove channel permission override

Send the request to https://platform.endlessai.com/api/v1/team/channels/:channelId/permissions/:userId using your project key or user token.

GET/api/v1/team/orgsList your organizations

List your organizations

Every organization you own or belong to. meta.activeOrgId is the one your requests act in.

{
            "data": [
              {
                "id": "ORG_ID",
                "name": "Acme Logistics",
                "role": "admin",
                "isOwner": true,
                "isMember": true,
                "projectCount": 4,
                "isActive": true,
                "createdAt": "2026-06-02T12:00:00.000Z",
                "joinPolicy": "approval"
              }
            ],
            "meta": { "activeOrgId": "ORG_ID" }
          }
POST/api/v1/team/orgsCreate an organization

Create an organization

You become its admin, and it becomes your active organization.

{ "name": "Acme Logistics" }
PATCH/api/v1/team/orgs/:idRename an organization

Rename an organization

Owner or org admin. Up to 120 characters.

{ "name": "Acme Logistics EU" }
PUT/api/v1/team/active-orgSwitch your active organization

Switch your active organization

Saved to your account, so it applies everywhere you sign in. You can switch only into an organization you own or belong to; otherwise 403 ORG_UNREACHABLE.

{ "orgId": "ORG_ID" }
PATCH/api/v1/team/orgs/:id/join-policySet how people from your Slack workspace join

Set how people from your Slack workspace join

For an organization linked to a Slack workspace. Owner or org admin.

{ "joinPolicy": "approval" }

open — they join straight away; approval — an admin approves each request; closed — invite only.

GET/api/v1/team/join-requestsList join requests

List join requests

Org admin. Pending requests by default; add ?status=all to include decided ones.

{
            "data": [
              {
                "id": "REQUEST_ID",
                "user_id": "USER_ID",
                "email": "dana@company.com",
                "display_name": "Dana",
                "status": "pending",
                "requested_at": "2026-10-09T07:45:00.000Z"
              }
            ]
          }
PATCH/api/v1/team/join-requests/:requestIdApprove or decline a join request

Approve or decline a join request

Org admin. role applies on approval (default viewer). A declined person may ask again.

{ "decision": "approved", "role": "reviewer" }
POST/api/v1/team/members/:userId/reset-channel-accessClear a member's channel overrides

Clear a member's channel overrides

Org admin. Removes every channel-level role the member has in this organization, so their org role applies everywhere.

{ "success": true, "removed": 3 }