# List teams

> GET /v1/teams lists the teams in your organization with their ID, name, creation date and suspension state. Needs an organization API key.

Source: https://docs.scriptmonitoring.com/api/teams/list/ · Plan: All plans · Updated 2026-10-13

`GET /v1/teams` lists the teams in your organization, page by page. Pass `name` to look up one team. Organization keys only (`sm_org_…`), with the `teams:read` scope; `teams:create` or `teams:delete` can look up a single `name`. A team key gets `401`.

```shell
curl "https://data.scriptmonitoring.com/v1/teams/?name=Payments" \
  -H "Authorization: Bearer sm_org_14829305716342_…"
```

## Which keys work?

| Key | Accepted |
| --- | --- |
| Organization key (`sm_org_…`) | Yes, with `teams:read` (or `teams:create` / `teams:delete` for a `name` lookup). |
| Team key (`sm_team_…`) | No: `401`. |

A missing, mistyped or revoked key, a key whose prefix doesn't match its type, or a key created before the `sm_org_` / `sm_team_` format gets `401` with this body, and so does a team key:

```json
{ "error": "unauthorized", "message": "Missing or invalid bearer token." }
```

## Query parameters

| Name | Description |
| --- | --- |
| `name` | Exact team name, 3 to 32 characters. |
| `limit` | Page size, 1 to 100 (default 50). |
| `cursor` | The `next_cursor` from the previous page. |

## Response

```json
{ "data": [{ "id": "14827391650423", "name": "Payments", "createdAt": "...", "suspended": false }], "next_cursor": null }
```

Errors: `400`, `401` (also for team keys), `403`, `429`, `503`.

## Related

- [REST API](https://docs.scriptmonitoring.com/api/)
- [Create a team](https://docs.scriptmonitoring.com/api/teams/create/)
