---
title: "Join a team"
method: POST
path: "/api/v1/teams/{team}/join"
---

# Join a team

`POST /api/v1/teams/{team}/join`

Adds a principal to a team that is visible to the authenticated user.

By default, the currently authenticated user joins the team. Provide `agent`
to add an agent to the team instead — the caller must already be a member of
the team to do so. Provide `user` (by ID) or `email` to add another user from
your organization — the caller must be a team owner, team admin, or org admin.
Only one of `agent`, `user`, or `email` may be supplied per request.

If the target principal is already a member of the team, the request succeeds
without creating a duplicate membership. Server-to-server callers are not
permitted to use this endpoint; use the invite-code endpoint instead.

## Path parameters

- `team` string, required

## Request body

- object
  - `agent` string — Agent ID (`agent_...`) to add to the team. The caller must already be a member of the team.
  - `email` string — Email address of a member of the caller's organization to add to the team. Requires team-owner, team-admin, or org-admin role.
  - `user` string — User ID (`user_...`) of a member of the caller's organization to add to the team. Requires team-owner, team-admin, or org-admin role.

## Response `204`

No content

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found

---

[API](https://skmtc.net/archastro/apis/archastro-platform-api.md) · [All operations](https://skmtc.net/archastro/apis/archastro-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/archastro/archastro-platform-api/versions/a8772b442f86/schema)
