For Developers

List Team Roles

GET https://ed.link/api/v2/teams/:team_id/roles

Returns all custom roles defined for the team, including their assigned system permissions. Requires team_roles.read.

This query allows for standard paging parameters.

It is best practice to use either $first or $last in conjunction with the $next value returned by the API to paginate through results.

Sample Request

const response = await axios.get(`https://ed.link/api/v2/teams/${team_id}/roles`, {
    headers: {
        authorization: `Bearer ${user_session_token}`
    }
});

Sample Response

{
    "$data": [
        {
            "id": "5130c012-b5d0-4baa-816b-a6c100bac6ad",
            "name": "Admin",
            "description": "Full team administration",
            "permissions": [
                "teams.read",
                "teams.update",
                "team_roles.delete",
                "applications.read",
                "applications.write",
                "integrations.read"
            ]
        },
        {
            "id": "6429ca21-f255-44fc-873a-4aa81d45f4f5",
            "name": "Member",
            "description": "Read-only team access",
            "permissions": ["teams.read", "integrations.read"]
        }
    ]
}
  • POST /api/v2/teams/:team_id/roles — Create a role
  • PATCH /api/v2/teams/:team_id/roles/:team_role_id — Update a role
  • DELETE /api/v2/teams/:team_id/roles/:team_role_id — Delete a role
  • GET /api/v2/teams/:team_id/permissions — List all available system permission slugs