Skip to main content
The Teams API lets you inspect the team tree associated with your API key and provision new teams beneath it. Every API key is bound to a root team — all read and write operations are scoped to that root and its descendants. You can use this API to mirror your institution’s organizational structure (campuses, departments, cohorts) inside Examino.

List Teams

string
required
Bearer token. Format: Bearer $EXAMINO_API_KEY
Required scope: teams:read
Returns your key’s root team and every descendant team, regardless of nesting depth.

Request

Response

Response Fields

string
The UUID of the team the API key is bound to. Every other item in items is a direct or indirect descendant of this team.
array
Flat list of all teams in scope — the root team plus all descendants.
integer
Total number of teams returned in items.

Create a Team

string
required
Bearer token. Format: Bearer $EXAMINO_API_KEY
string
required
Must be application/json.
Required scope: teams:write
Creates a new team as a child of an existing team within your key’s scope. On success, returns the newly created team object with HTTP 201 Created.

Request Parameters

string
required
Display name for the new team. Must be between 1 and 120 characters.
string
UUID of the team that will become the parent. Must belong to your key’s scope. Defaults to your key’s root team if omitted.
string
default:"workspace"
Team type. Pass workspace for teams that will hold exams, or folder for purely organizational grouping nodes. Defaults to workspace.

Request

Response

Response Fields

string
UUID assigned to the newly created team.
string
Display name as provided in the request.
string
Auto-generated URL-safe identifier derived from name.
string
workspace or folder, as specified in the request (or the default).
string
UUID of the parent team. Matches the value you provided, or your key’s root team if you omitted parentTeamId.
string
ISO 8601 timestamp of when the team was created.

Error Responses

The parentTeamId you provided either does not exist or is outside your API key’s scope. Verify that the UUID belongs to a team within your key’s hierarchy.
The request body is malformed or the specified parent would create an impossible hierarchy (for example, making a team its own ancestor). Check your payload and team relationships before retrying.
A team with the same name already exists under the same parent. Team names must be unique at each level of the hierarchy.
Slugs are derived automatically from the team name at creation time. If you later rename a team through the dashboard, the slug does not change — existing integrations using the slug remain stable.