> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.awork.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.awork.com/_mcp/server.

# Returns teams in the workspace.

GET https://api.awork.com/api/v1/teams

Returns teams in the workspace. The result follows the workspace's team visibility restrictions. When team restrictions are applied for the workspace, the user must either be an admin or member of the team to retrieve it.

Reference: https://developers.awork.com/apiv1/teams/get-teams

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `includeUserIds` (boolean, optional, default: false) — Whether to include the ids of users that are in the team.
- `includeProjectIds` (boolean, optional, default: false) — Whether to include the ids of projects that are assigned to the team.
- `page` (integer, optional, default: 1) — Page number for pagination
- `pageSize` (integer, optional, default: 10) — Number of items per page
- `orderby` (string, optional) — The properties to order by
- `filterby` (string, optional) — The filter expression to filter by

## Response

### 200

OK

- `list of Team`

## Types

### Team

The team GET model.

- `name` (string, required) — The team name.
- `icon` (string, optional, nullable) — The icon of the team. Optional. Possible values: 'attach_money', 'poll', 'golf_course', 'all_inclusive', 'portrait', 'timeline', 'transform', 'description', 'folder', 'computer', 'web', 'phone_iphone', 'cloud', 'local_movies', 'shopping_cart', 'brush', 'image', 'camera_alt', 'movie_creation', 'public', 'whatshot', 'extension', 'explore', 'lock', 'settings', 'stars', 'store', 'school', 'local_bar', 'question_answer', 'favorite', 'work', 'flight_takeoff', 'map', 'local_dining'.
- `color` (string, optional, nullable) — The color of the team. Optional. Possible values: 'red', 'coral', 'yellow', 'green', 'teal', 'arctic', 'blue', 'azure', 'purple', 'violet'.
- `id` (string, optional) — The id of the team.
- `createdOn` (string, optional) — The date this team was created.
- `createdBy` (string, optional, nullable) — The id of the user who created this team.
- `updatedOn` (string, optional) — The date this team was last modified.
- `updatedBy` (string, optional, nullable) — The id of the user who last updated this team.
- `userIds` (list of string, optional, nullable) — The ids of the users in the team.
- `projectIds` (list of string, optional, nullable) — The ids of the projects in the team.

## Examples

**Response**

```json
[
  {
    "name": "Designers",
    "icon": "image",
    "color": "purple",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "createdOn": "2024-01-15T09:30:00Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000",
    "updatedOn": "2024-01-15T09:30:00Z",
    "updatedBy": "123e4567-e89b-12d3-a456-426614174000",
    "userIds": [
      "string"
    ],
    "projectIds": [
      "string"
    ]
  }
]
```

**SDK Code**

```python
import requests

url = "https://api.awork.com/api/v1/teams"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.awork.com/api/v1/teams';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.awork.com/api/v1/teams"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.awork.com/api/v1/teams")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.awork.com/api/v1/teams")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.awork.com/api/v1/teams', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.awork.com/api/v1/teams");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.awork.com/api/v1/teams")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```