A team represents a group of people responsible for delivering and supporting work in Atono. Each team has its own backlog, workflow, and membership, and optionally a connected Slack channel for communication.
A team in Atono represents a group of users who share a backlog and collaborate on stories and bugs. Teams have both attributes (like name and description) and relationships (like members, admins, and backlog owners). You can create or update fields in either section, depending on what you want to configure.
Team attributes
The table below lists the fields available on teams, including those you can specify when creating or updating a team, as well as fields returned in API responses.
The Usage column shows which endpoints accept values for that field. If the Usage column is blank, the field is read-only—it's returned in responses but can't be manually specified in any request.
Field | Type | Description | Usage |
---|---|---|---|
name | string | The name of the team. | POST, PATCH |
description | string | The description of the team. | POST, PATCH |
createdAt | datetime (ISO 8601) | The date and time the team was created. | |
updatedAt | datetime (ISO 8601) | The date and time the team was last updated. | |
isPublic | boolean | Indicates whether access to the team’s backlog is public (true ) or private (false ). | POST, PATCH |
backlogManagementByOwners | boolean | Indicates whether backlog management is restricted to users assigned as backlog owners. | POST, PATCH |
Team relationships
Teams include relationship objects for their members and associated Slack channel. These are returned in the relationships
object of the team and reference related resources by type
and ID
. You can retrieve full member details by using the ?include=members
query parameter.
Teams may also have admins and backlog owners, but these are not formal relationship objects. You can retrieve their full user details by using the ?include=admins
or ?include=backlogOwners
query parameters.
Field | Type | Description |
---|---|---|
members | array of users | The users on the team. Use ?include=members to retrieve full details. |
channel | team_channel | The team’s Slack channel. Only type and id are returned. |
backlogOwners | array of users | Users who can prioritize and move items on the team’s backlog. Available in the included array when using ?include=backlogOwners . |
admins | array of users | Users who can edit team settings. Available in the included array when using ?include=admins . |
Creating or updating a team
You can specify team members by including their user ids
in the relationships.members
object when creating or updating a team. The members array replaces the full list of current members.
Each member must be represented by a resource identifier object with a type
of user
and a valid id
.
Admins, backlog owners, and the Slack channel cannot be set via the API. These must be configured in the Atono web app.
Team relationship objects
The members
and channel
relationships are returned in the relationships object of the team. Each relationship references the related resource by type
and id
. Member relationships may also include a links.self
URL and a meta.count
.
members
References each user assigned to the team. To update this relationship, provide an array of user ids
. To find valid user ids
, use the Get users endpoint.
"members": {
"links": {
"self": "/api/v1/teams/0cd0c8b8-734f-4c17-a07c-e993b04af480/relationships/members"
},
"data": [
{
"type": "user",
"id": "2edaca9f-b07e-4af1-b425-1f0b6bf69c0a"
},
{
"type": "user",
"id": "bf60edfc-be09-4fea-8597-33c5b333ce05"
}
],
"meta": {
"count": 2
}
}
channel
References the team’s connected Slack channel.
"channel": {
"links": {
"related": "/api/team_channels/34c93a45-f6e0-4c95-93f5-187e6db4c50e"
},
"data": {
"type": "team_channel",
"id": "34c93a45-f6e0-4c95-93f5-187e6db4c50e"
}
}
Example: Get a team
This example shows a GET response for a single team, including its attributes, assigned members, and associated team channel. The included section expands full details for users assigned as members, admins, or backlog owners.
{
"data": {
"type": "team",
"id": "0cd0c8b8-734f-4c17-a07c-e993b04af480",
"attributes": {
"name": "Synth Support Squad",
"description": "Engineering team responsible for maintaining, optimizing, and enhancing our virtual synthesizer. They ensure smooth operation and implement new features while providing top-notch user support...",
"createdAt": "2024-07-18T22:49:52Z",
"updatedAt": "2025-07-17T23:59:55Z",
"isPublic": true,
"backlogManagementByOwners": false
},
"relationships": {
"members": {
"links": {
"self": "/api/v1/teams/0cd0c8b8-734f-4c17-a07c-e993b04af480/relationships/members"
},
"data": [
{
"type": "user",
"id": "2edaca9f-b07e-4af1-b425-1f0b6bf69c0a"
},
{
"type": "user",
"id": "bf60edfc-be09-4fea-8597-33c5b333ce05"
},
{
"type": "user",
"id": "fe4641d7-c72a-4165-904d-89b2ded40916"
},
{
"type": "user",
"id": "a0215837-3d34-4e0b-9796-2ec4d8aa9573"
}
],
"meta": {
"count": 4
}
},
"channel": {
"links": {
"related": "/api/team_channels/34c93a45-f6e0-4c95-93f5-187e6db4c50e"
},
"data": {
"type": "team_channel",
"id": "34c93a45-f6e0-4c95-93f5-187e6db4c50e"
}
}
}
},
"included": [
{
"type": "user",
"id": "b64dcb9e-aa2c-4331-8381-ebd3816eb178",
"attributes": {
"createdAt": "2024-12-05T19:24:25Z",
"updatedAt": "2024-12-05T19:25:12Z",
"invitedAt": "2025-01-23T22:58:21Z",
"email": "[email protected]",
"fullName": "Melody Mixer",
"deleted": false
}
},
{
"type": "user",
"id": "bf60edfc-be09-4fea-8597-33c5b333ce05",
"attributes": {
"createdAt": "2024-04-29T16:45:22Z",
"updatedAt": "2025-05-08T20:52:56Z",
"invitedAt": "2025-01-23T22:58:21Z",
"email": "[email protected]",
"fullName": "Max Harmon",
"deleted": false
}
},
{
"type": "user",
"id": "fe4641d7-c72a-4165-904d-89b2ded40916",
"attributes": {
"createdAt": "2024-08-10T00:45:55Z",
"updatedAt": "2024-08-10T00:46:58Z",
"invitedAt": "2025-01-23T22:58:21Z",
"email": "[email protected]",
"fullName": "Oliver Resonance",
"deleted": false
}
},
{
"type": "user",
"id": "2edaca9f-b07e-4af1-b425-1f0b6bf69c0a",
"attributes": {
"createdAt": "2024-08-10T00:45:56Z",
"updatedAt": "2025-06-30T23:29:53Z",
"invitedAt": "2025-01-23T22:58:21Z",
"email": "[email protected]",
"fullName": "Ella Rhythm",
"deleted": false
}
},
{
"type": "user",
"id": "a0215837-3d34-4e0b-9796-2ec4d8aa9573",
"attributes": {
"createdAt": "2024-08-12T15:37:05Z",
"updatedAt": "2025-07-31T16:31:58Z",
"invitedAt": "2025-01-23T22:58:21Z",
"email": "[email protected]",
"fullName": "Mary McBride",
"deleted": false
}
}
],
"links": {
"self": "/api/v1/teams/0cd0c8b8-734f-4c17-a07c-e993b04af480"
}
}
Example: Create a team
This example shows a POST request for creating a new team with a name, description, and member list.
The id
values in the members
relationship must reference users that already exist in your workspace. Use the Get users endpoint to find valid IDs.
{
"data": {
"type": "team",
"attributes": {
"name": "Signal Chain Engineers",
"description": "Engineers responsible for the audio processing pipeline behind our vintage sound emulators.",
"isPublic": true,
"backlogManagementByOwners": false
},
"relationships": {
"members": {
"data": [
{
"type": "user",
"id": "d9ddf772-6385-4b07-b41a-9edc6c71ba5d"
},
{
"type": "user",
"id": "d73f1297-825d-4f9a-9529-51ab0f8b0cfe"
},
{
"type": "user",
"id": "398fe4cd-73a2-4120-b84e-098624909f0a"
}
]
}
}
}
}