Teams

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.

FieldTypeDescriptionUsage
namestringThe name of the team.POST, PATCH
descriptionstringThe description of the team.POST, PATCH
createdAtdatetime (ISO 8601)The date and time the team was created.
updatedAtdatetime (ISO 8601)The date and time the team was last updated.
isPublicbooleanIndicates whether access to the team’s backlog is public (true) or private (false).POST, PATCH
backlogManagementByOwnersbooleanIndicates 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.

FieldTypeDescription
membersarray of usersThe users on the team. Use ?include=members to retrieve full details.
channelteam_channelThe team’s Slack channel. Only type and id are returned.
backlogOwnersarray of usersUsers who can prioritize and move items on the team’s backlog. Available in the included array when using ?include=backlogOwners.
adminsarray of usersUsers 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"
          }
        ]
      }
    }
  }
}