Skip to main content

Core CRUD

Basic team creation, retrieval, update, and deletion operations.

GET /api/teams

Search and filter teams.

Query Parameters:

ParameterTypeDefaultDescription
qstring-Search query (name, description)
showstringallall or mine (teams the caller belongs to)
sortstring-Sort field
limitinteger30Results per page
startinteger0Pagination offset

Response:

A paginated HAL collection. Team items are returned under _embedded["inf:team"], each embedding its members. aggs reports the all and mine counts.

Search and page through teamsGET /api/teams?q=order&limit=10
A paginated HAL collection. q matches name and description; show=mine restricts to the caller’s teams. aggs reports all vs mine counts.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/teams?limit=10&start=0&q=order%2A&show=all"
}
},
"start": 0,
"count": 1,
"total": 1,
"aggs": {
"all": 13,
"mine": 0
},
"_embedded": {
"inf:team": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/teams/order-desk"
},
"inf:members": {
"href": "https://informer.example.com/api/teams/order-desk/members{?sort,limit,start,q}",
"templated": true
},
"inf:member": {
"href": "https://informer.example.com/api/teams/order-desk/members/{username}",
"templated": true
}
},
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"id": "order-desk",
"name": "Order Desk",
"description": "Order fulfillment, returns, and customer support",
"domain": "local",
"data": null,
"icon": null,
"materialIcon": null,
"color": "teal",
"defaultRole": null,
"source": null,
"sourceId": null,
"lastViewedFeed": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"_changes": null,
"tenant": "acme",
"_embedded": {
"inf:member": []
}
}
]
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/teams-list

Get the complete team list with members, permissions, and a mine flag per team.

List all teamsGET /api/teams-list
A flat array (not paged) with members, permissions, and a mine flag per team.
Response · 200
[
{
"id": "order-desk",
"name": "Order Desk",
"description": "Order fulfillment, returns, and customer support",
"materialIcon": null,
"icon": null,
"color": "teal",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"members": [],
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"mine": false
},
{
"id": "it",
"name": "IT",
"description": null,
"materialIcon": null,
"icon": "fa-wifi",
"color": "lightBlue",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"members": [
{
"userId": "everett",
"accessLevel": 6
}
],
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"mine": false
},
{
"id": "enrole-development",
"name": "Enrole Development",
"description": null,
"materialIcon": null,
"icon": "fa-coffee",
"color": "blueGrey",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"members": [
{
"userId": "priya",
"accessLevel": 1
},
{
"userId": "matt",
"accessLevel": 1
},
{
"userId": "brian",
"accessLevel": 6
}
],
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"mine": false
},
"… 10 more items (13 total) — omitted from docs"
]
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/teams-content

Get per-team content counts (datasets, reports, datasources, queries owned by each team), keyed by team id.

Get per-team content countsGET /api/teams-content
Counts of datasets, reports, datasources, and queries owned by each team, keyed by team id.
Response · 200
[
{
"id": "enrole-development",
"datasetCount": 0,
"reportCount": 0,
"datasourceCount": 0,
"queryCount": 0
},
{
"id": "enrole-sales",
"datasetCount": 0,
"reportCount": 0,
"datasourceCount": 0,
"queryCount": 0
},
{
"id": "enrole-support",
"datasetCount": 0,
"reportCount": 0,
"datasourceCount": 0,
"queryCount": 0
},
"… 10 more items (13 total) — omitted from docs"
]
Captured from the API examples test suite; ids and timestamps are normalized.

POST /api/teams

Create a new team.

Permissions: teams:create

Request Body:

FieldTypeRequiredDescription
idstringYesUnique team id
namestringYesDisplay name
colorstringNoA Material preset name (blue, teal, …) or a 6-digit hex string
iconstringNoIcon url
materialIconstringNoMaterial icon name
descriptionstringNoTeam description
Create a teamPOST /api/teams
Responds 201 with a Location header. color accepts either a Material preset name (e.g. "blue") or a 6-digit hex string.
Request body
{
"id": "order-desk",
"name": "Order Desk",
"color": "blue",
"description": "Order fulfillment and customer support"
}
Response · 201
{
"_links": {
"self": {
"href": "https://informer.example.com/api/teams/order-desk"
}
},
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"domain": "local",
"tenant": "acme",
"id": "order-desk",
"name": "Order Desk",
"color": "blue",
"description": "Order fulfillment and customer support",
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z",
"icon": null,
"materialIcon": null,
"defaultRole": null,
"source": null,
"sourceId": null,
"lastViewedFeed": null,
"data": null,
"_changes": null
}
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/teams/{id}

Get a specific team. Embeds the members (each with their user) and an aggs.userCount.

Get a single teamGET /api/teams/order-desk
Embeds the team members (each with their user) and an aggs.userCount total.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/teams/order-desk"
},
"inf:members": {
"href": "https://informer.example.com/api/teams/order-desk/members{?sort,limit,start,q}",
"templated": true
},
"inf:member": {
"href": "https://informer.example.com/api/teams/order-desk/members/{username}",
"templated": true
},
"inf:feed": {
"href": "https://informer.example.com/api/teams/order-desk/feed"
},
"inf:viewed-feed": {
"href": "https://informer.example.com/api/teams/order-desk/_markFeedViewed"
},
"inf:comments": {
"href": "https://informer.example.com/api/teams/order-desk/comments"
},
"inf:team-ai-profile": {
"href": "https://informer.example.com/api/teams/order-desk/ai/profile"
}
},
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"id": "order-desk",
"name": "Order Desk",
"description": "Order fulfillment and customer support",
"domain": "local",
"data": null,
"icon": null,
"materialIcon": null,
"color": "blue",
"defaultRole": null,
"source": null,
"sourceId": null,
"lastViewedFeed": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"_changes": null,
"tenant": "acme",
"aggs": {
"userCount": 0
},
"_embedded": {
"inf:member": []
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

PUT /api/teams/{id}

Update a team.

Permissions: Team write (Data Wizard+)

Request Body:

Any of name, description, color, icon, materialIcon.

Update a teamPUT /api/teams/order-desk
Editable fields: name, description, color, icon, materialIcon. Unknown fields are ignored.
Request body
{
"description": "Order fulfillment, returns, and customer support",
"color": "teal"
}
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/teams/order-desk"
}
},
"permissions": {
"addComment": true,
"addMember": true,
"delete": true,
"removeMember": true,
"editMemberRole": true,
"write": true,
"reassign": true,
"assignOwnership": true
},
"id": "order-desk",
"name": "Order Desk",
"description": "Order fulfillment, returns, and customer support",
"domain": "local",
"data": null,
"icon": null,
"materialIcon": null,
"color": "teal",
"defaultRole": null,
"source": null,
"sourceId": null,
"lastViewedFeed": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"_changes": null,
"tenant": "acme"
}
Captured from the API examples test suite; ids and timestamps are normalized.

DELETE /api/teams/{id}

Delete a team.

Permissions: Team delete (Admin or superuser)

Response:

Responds 200 on success. Removes the team and its memberships.

Delete a teamDELETE /api/teams/temp-project
Permanently removes the team and its memberships.
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.