---
title: "Update team"
method: POST
path: "/v2/teams/{teamKey}"
tags: ["Teams"]
---

# Update team

`POST /v2/teams/{teamKey}`

## Request

- Base URL: `https://api.streak.com/api`
- URL: `https://api.streak.com/api/v2/teams/{teamKey}`
- Auth: HTTP bearer

Updates a team by key. Omitted body fields are left unchanged.

## Path parameters

- `teamKey` string, required

## Request body

- TeamUpdateBody: Partial update to a team. Omitted properties remain unchanged.
  - `name` string, nullable: New display name for the team.
  - `sharingRestrictedToTeam` boolean, nullable: Whether sharing outside the team is restricted.
  - `automaticallyApproveJoinRequests` boolean, nullable: Whether requests to join the team are approved automatically.
  - `automaticallySendInvoiceEmails` boolean, nullable: Whether invoice emails are sent automatically for this team.
  - `emailsToSendInvoiceTo` string[], nullable: Complete replacement for additional invoice-recipient email addresses. Omit to leave unchanged; send an empty set to clear.
  - `members` TeamMemberUpdate[], nullable: Complete replacement roster. Omit this property to leave membership unchanged.
    - `userKey` string, nullable: Existing user key. New invitations may supply email instead.
    - `email` string, nullable: Email address used to invite a user when no user key is supplied.
    - `role` 'Member' | 'Owner' | 'PayerOnly' | 'ArchiveOnly', nullable: Role for the team member.
    - `inviteStatus` 'Pending' | 'Accepted', nullable: Invitation state for the team member.
    - `emailSharing` 'None' | 'Existence', nullable: Email visibility shared with the team. Allowed values are Existence and None.
  - `contactOrgListPermissions` object, nullable: Permission updates keyed by system list. Omitted list entries remain unchanged.
  - `contactSettings` object, nullable: Complete custom-field replacement for team contacts or organizations.
    - `fields` object, required: Complete custom-field map keyed by stable field key.
  - `organizationSettings` object, nullable: Complete custom-field replacement for team contacts or organizations.
    - `fields` object, required: Complete custom-field map keyed by stable field key.

## Response `200`

OK

- Team: A Streak team and its membership, sharing, billing, and directory settings.
  - `key` string, required: Key for this team.
  - `creationDate` integer, required: Timestamp when the team was created, in epoch milliseconds.
  - `creator` string, required: Key for the user who created the team.
  - `members` TeamMember[], required: Members of the team and their team roles.
    - `userKey` string, required: Key for the member's user account.
    - `role` 'Member' | 'Owner' | 'PayerOnly' | 'ArchiveOnly', required
    - `inviteDate` integer, required: Timestamp when the member was invited, in epoch milliseconds.
    - `inviteStatus` 'Pending' | 'Accepted', required
    - `displayName` string, nullable: Display name for the member.
    - `email` string, nullable: Email address for the member.
    - `fullName` string, nullable: Full name for the member.
    - `givenName` string, nullable: Given name for the member.
    - `image` string, nullable: Profile-image URL for the member.
    - `userType` 'HUMAN' | 'AGENT', nullable: Type of the member's Streak user account.
    - `emailSharing` 'None' | 'Existence', required
  - `name` string, required: Display name for the team.
  - `sharingRestrictedToTeam` boolean: Whether sharing outside the team is restricted.
  - `automaticallyApproveJoinRequests` boolean: Whether requests to join the team are approved automatically.
  - `automaticallySendInvoiceEmails` boolean: Whether invoice emails are sent automatically for this team.
  - `emailsToSendInvoiceTo` string[], required: Additional email addresses that receive team invoices.
  - `billingAdmin` string, nullable: Key for the user who administers billing for this team.
  - `lastSavedTimestamp` integer, required: Timestamp when the team was last persisted, in epoch milliseconds.
  - `contactOrgListPermissions` object, required: Permissions for the team's system contact and organization lists.
  - `contactSettings` TeamFieldSettings, required: Custom field definitions for a team's contacts or organizations.
    - `fields` object, required: Custom fields keyed by their stable field key.
  - `organizationSettings` TeamFieldSettings, required: Custom field definitions for a team's contacts or organizations.
    - `fields` object, required: Custom fields keyed by their stable field key.

## Changes

- **2026-10-22** `2ca4abc12d85`: 2 info
  - the request property `contactSettings/anyOf[#/components/schemas/TeamFieldSettingsUpdate]/fields/additionalProperties/tagSettings` became nullable
  - the request property `organizationSettings/anyOf[#/components/schemas/TeamFieldSettingsUpdate]/fields/additionalProperties/tagSettings` became nullable
- **2026-10-16** `1c3a5ef8b9ea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/streakyc/apis/streak/changes/v2/teams/:teamKey/post.md)

---

[API](https://skmtc.dev/streakyc/apis/streak.md) - [All operations](https://skmtc.dev/streakyc/apis/streak/llms.txt) - [OpenAPI document](https://skmtc.dev/streakyc/apis/streak/revisions/3648671fd1cf?raw)
