---
title: "Update Team"
method: PATCH
path: "/v2/teams/{team_id}"
tags: ["v2 - Teams"]
---

# Update Team

`PATCH /v2/teams/{team_id}`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/teams/{team_id}`
- Auth: HTTP bearer

Update a team's details.

Requires TEAM_EDIT permission. The split fields also need FINANCIALS_EDIT,
and from an agent key they pass agent_split_guard (give, never take, unless
the key carries the splits permission).

## Path parameters

- `team_id` string, required

## Headers

- `Authorization` string
- `X-JubJub-Service-Key` string
- `X-JubJub-Agent-Key` string
- `X-JubJub-Platform-Key` string
- `Origin` string
- `Referer` string
- `X-JubJub-Trial-Token` string

## Request body

- UpdateTeamRequest: Request to update team details.
  - `name` string, nullable
  - `description` string, nullable
  - `avatar_url` string, nullable
  - `default_split_mode` string, nullable: equal | custom | no_distribution
  - `default_custom_splits` SplitEntry[], nullable: Custom splits (required when mode=custom, must sum to 10000)
    - `member_ref` string, nullable
    - `invite_id` string, nullable
    - `basis_points` integer, required

## Response `200`

Successful Response

- TeamResponse: Full team response with all details.
  - `team_id` string, required
  - `name` string, required
  - `description` string, nullable
  - `avatar_url` string, nullable
  - `owner_member_ref` string, nullable
  - `owner` PublicPersonResponse: Another person as anyone may see them (founder's rule, 2026-09-25). Never a profile ID, never an email. `member_ref` is the opaque, per-context handle routes accept for this person (null where there is no context to mint one in). `display_name` is a public name or, with none, the person's role and team where the response knows them ("Admin (via Kong)"), else "Member" (2026-10-08; never "JubJub member").
    - `member_ref` string, nullable
    - `display_name` string, required
    - `avatar_url` string, nullable
    - `handle` string, nullable
    - `is_you` boolean
    - `role` string, nullable
    - `via_team` string, nullable
  - `is_owner` boolean
  - `my_role` string, nullable
  - `owner_display_name` string, nullable
  - `owner_avatar_url` string, nullable
  - `owner_email` string, nullable
  - `members` TeamMemberResponse[]
    - `member_ref` string, required
    - `email` string, nullable
    - `display_name` string, required
    - `avatar_url` string, nullable
    - `role` string, required
    - `joined_at` string, date-time, required
    - `invited_by` string, nullable
    - `is_you` boolean
  - `stats` TeamStatsResponse, required: Response DTO for team statistics.
    - `member_count` integer
    - `workspace_count` integer
    - `shared_credential_count` integer
    - `total_contents` integer
    - `total_launches` integer
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `default_split_mode` string, nullable
  - `default_custom_splits` object[], nullable
  - `pending_invite_split` object, nullable
  - `requested_platforms` string[]
  - `catalogue_contract_address` string, nullable
  - `minted_allocation` object[], nullable
  - `split_locked` boolean
  - `split_locked_reason` string, nullable
  - `saved_split_matches_minted` boolean, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/jubjubapp/apis/jubjub-api.md) - [All operations](https://skmtc.dev/jubjubapp/apis/jubjub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jubjubapp/apis/jubjub-api/revisions/353157b296f2?raw)
