Skip to content

Teams API

The Teams API allows administrators to create, list, update, and delete teams programmatically.

Tip

For complete API documentation, including request/response schemas, visit the API docs.

All endpoints use the base URL of your Qualytics deployment (e.g., https://your-instance.qualytics.io/api).


List Teams

Retrieve a paginated list of all teams with optional filtering and sorting.

Endpoint:

GET /api/teams
Authorization: Bearer {token}

Query Parameters:

Parameter Type Description
name string Filter teams by name (case-insensitive, partial match)
sort_created string Sort by creation date (asc or desc)
sort_name string Sort by name (asc or desc)
page integer Page number (default: 1)
size integer Items per page

Required Role: Manager or Admin


List Teams (Non-Paginated)

Retrieve a flat list of teams, useful for dropdowns and permission-based queries.

Endpoint:

GET /api/teams/listing
Authorization: Bearer {token}

Query Parameters:

Parameter Type Description
users list[int] Filter by user IDs
permission string Filter by team permission level

Required Role: Member or above


Get Team

Retrieve details of a specific team by ID.

Endpoint:

GET /api/teams/{id}
Authorization: Bearer {token}

Required Role: Manager or Admin


Get Team History

Returns a change log for every version of the team, including the user who made each change.

Endpoint:

GET /api/teams/{id}/history
Authorization: Bearer {token}

Required Role: Manager or Admin


Create Team

Create a new team with optional user and datastore assignments.

Endpoint:

POST /api/teams
Authorization: Bearer {admin_token}
Content-Type: application/json

Request Body:

{
  "name": "Data Engineering",
  "description": "Team responsible for data pipeline management",
  "user_ids": [1, 2, 3],
  "datastore_ids": [10, 20],
  "permission": "Editor"
}
Field Type Description Required
name string Team name (max 255 characters, must be unique) Yes
description string Brief description of the team No
user_ids list[int] User IDs to add to the team No
datastore_ids list[int] Datastore IDs to assign to the team No
permission string Permission level: Editor, Author, Drafter, Viewer, or Reporter (default: Viewer) No

Required Role: Admin


Update Team

Update a team's name, description, users, datastores, or permission level.

Endpoint:

PUT /api/teams/{id}
Authorization: Bearer {admin_token}
Content-Type: application/json

Request Body:

{
  "name": "Data Engineering",
  "description": "Updated description",
  "user_ids": [1, 2, 4],
  "datastore_ids": [10, 20, 30],
  "permission": "Author"
}

Required Role: Admin

Note

The user_ids and datastore_ids fields replace the entire list — they are not additive. Pass the full desired list of IDs.

Warning

The Public team's name and users cannot be modified. A datastore must belong to at least one team — removing it from its only team returns a 409 Conflict error.


Delete Team

Permanently remove a team from the system.

Endpoint:

DELETE /api/teams/{id}
Authorization: Bearer {admin_token}

Required Role: Admin

Status Code: 204 No Content on success

Warning

The Public team cannot be deleted. If a datastore would be orphaned (left with no team), the request returns a 409 Conflict error.