## Update

`teams.update(strteam_id, TeamUpdateParams**kwargs)  -> TeamUpdateResponse`

**put** `/teams/{teamId}`

Update a particular team

### Parameters

- `team_id: str`

- `avatar_asset_id: Optional[str]`

  The team's avatar asset ID (must be kind image)

- `default_user_max_consumption: Optional[float]`

  Team-wide default max consumption (CU) applied to every member over the
  billing period, overridable per member. Set to null to remove the default.

- `ip_detection_enforcement: Optional[Literal["active-fail-closed", "active-fail-open", "disabled"]]`

  The IP detection enforcement posture for the team.
  'disabled': IP detection is not performed.
  'active-fail-open': IP detection runs; on detector error the request is allowed through.
  'active-fail-closed': IP detection runs; on detector error the request is blocked.

  - `"active-fail-closed"`

  - `"active-fail-open"`

  - `"disabled"`

- `name: Optional[str]`

  The team name (example: "Scenario")

- `quality_gate_auto_detect: Optional[bool]`

  Enable Quality Gate auto-detection on generation for this team (projects can
  override). Set to null to clear the default.

- `settings: Optional[Settings]`

  Team settings. Set `homepage` to a layout object to publish it, or to
  `null` to unpublish it. Team-admin only.

  - `homepage: Optional[object]`

    Homepage layout. An object publishes it; `null` unpublishes it.

### Returns

- `class TeamUpdateResponse: …`

  - `team: Team`

    The updated team.

    - `id: str`

      The team ID (example: "eyVcnFJcR92BxBkz7N6g5w")

    - `context: TeamContext`

      The context of the team for the current authenticated user

      - `invitations_count: float`

        The number of invitations on this team

      - `keys_count: float`

        The number of API keys on this team

      - `user_role: Literal["admin", "key", "member"]`

        The authenticated user's role for this team

        - `"admin"`

        - `"key"`

        - `"member"`

      - `users_count: float`

        The number of users on this team

    - `created_at: str`

      The team creation date as an ISO string (example: "2023-02-03T11:19:41.579Z")

    - `name: str`

      The team name (example: "Scenario")

    - `plan: Literal["cu-basic", "cu-creator", "cu-max", 9 more]`

      The team plan

      - `"cu-basic"`

      - `"cu-creator"`

      - `"cu-max"`

      - `"cu-pro"`

      - `"cu-pro-q3-25"`

      - `"cu-team"`

      - `"cu-team-v2"`

      - `"enterprise"`

      - `"essential"`

      - `"free"`

      - `"premium"`

      - `"pro"`

    - `projects: List[TeamProject]`

      Projects of the team

      - `id: str`

      - `created_at: str`

      - `name: str`

      - `updated_at: str`

      - `avatar: Optional[TeamProjectAvatar]`

        - `asset_id: Optional[str]`

          ID of the asset used as thumbnail if provided, otherwise undefined

        - `url: Optional[str]`

          Signed URL of the assetId or free url if assetId is undefined

      - `disable_ip_detection: Optional[bool]`

        When true, IP detection is switched off for this project.

      - `quality_gate_auto_detect: Optional[bool]`

        Whether Quality Gate auto-detection runs on generation for this project.

    - `type: Literal["personal", "shared"]`

      The team type

      - `"personal"`

      - `"shared"`

    - `updated_at: str`

      The team update date as an ISO string (example: "2023-02-03T11:19:41.579Z")

    - `avatar: Optional[TeamAvatar]`

      The team's avatar

      - `asset_id: Optional[str]`

        ID of the asset used as thumbnail if provided, otherwise undefined

      - `url: Optional[str]`

        Signed URL of the assetId or free url if assetId is undefined

    - `byok: Optional[TeamByok]`

      BYOK pricing override. Admin-only — omitted for non-admin callers.

      - `markup_multiplier: float`

      - `updated_at: Optional[str]`

        ISO timestamp of the last update. Optional — legacy rows may lack it.

      - `updated_by: Optional[str]`

        Human-readable handle of who last updated the markup (display name).

    - `default_user_max_consumption: Optional[float]`

      Team-wide default max consumption (CU) applied to every member over the
      billing period, unless overridden per member. Absent when no team-wide
      default is set.

    - `ip_detection_enforcement: Optional[Literal["active-fail-closed", "active-fail-open", "disabled"]]`

      The IP detection enforcement posture for the team.
      'disabled': IP detection is not performed.
      'active-fail-open': IP detection runs; on detector error the request is allowed through.
      'active-fail-closed': IP detection runs; on detector error the request is blocked.

      - `"active-fail-closed"`

      - `"active-fail-open"`

      - `"disabled"`

    - `quality_gate_auto_detect: Optional[bool]`

      Quality Gate auto-detection default for the team.

    - `settings: Optional[TeamSettings]`

      Team settings.

      - `homepage: Optional[Dict[str, object]]`

        Published homepage layout.

### Example

```python
import os
from scenario_sdk import Scenario

client = Scenario(
    api_key=os.environ.get("SCENARIO_SDK_API_KEY"),  # This is the default and can be omitted
    api_secret=os.environ.get("SCENARIO_SDK_API_SECRET"),  # This is the default and can be omitted
)
team = client.teams.update(
    team_id="teamId",
)
print(team.team)
```

#### Response

```json
{
  "team": {
    "id": "id",
    "context": {
      "invitationsCount": 0,
      "keysCount": 0,
      "userRole": "admin",
      "usersCount": 0
    },
    "createdAt": "createdAt",
    "name": "name",
    "plan": "cu-basic",
    "projects": [
      {
        "id": "id",
        "createdAt": "createdAt",
        "name": "name",
        "updatedAt": "updatedAt",
        "avatar": {
          "assetId": "assetId",
          "url": "url"
        },
        "disableIpDetection": true,
        "qualityGateAutoDetect": true
      }
    ],
    "type": "personal",
    "updatedAt": "updatedAt",
    "avatar": {
      "assetId": "assetId",
      "url": "url"
    },
    "byok": {
      "markupMultiplier": 0,
      "updatedAt": "updatedAt",
      "updatedBy": "updatedBy"
    },
    "defaultUserMaxConsumption": 0,
    "ipDetectionEnforcement": "active-fail-closed",
    "qualityGateAutoDetect": true,
    "settings": {
      "homepage": {
        "foo": "bar"
      }
    }
  }
}
```
