---
title: "Change a Location's Current Mode"
method: PUT
path: "/locations/{locationId}/modes/current"
tags: ["Modes"]
---

# Change a Location's Current Mode

`PUT /locations/{locationId}/modes/current`

## Request

- Base URL: `https://api.smartthings.com/v1`
- URL: `https://api.smartthings.com/v1/locations/{locationId}/modes/current`
- Auth: OAuth 2
  - Implicit: `https://auth-global.api.smartthings.com`
  - Scopes: `x:locations:*`
- TypeScript: <https://skmtc.dev/smartthings/apis/smartthings-api/docs/locations/:locationId/modes/current/put.ts> (a function with typed inputs; its response is checked against the schema)

Change a Location's current Mode.
Note: This can cause enabled automations to run if the Location's Mode is an automation trigger.

## Request body

- ChangeModeRequest
  - `modeId` string, ^(?:([0-9a-fA-F]{32})|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}))$, required: Update the current Mode for this Location to the given Mode ID.

## Response `200`

Changed successfully.

- UpdateModeResponse
  - `id` string, ^(?:([0-9a-fA-F]{32})|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}))$, required: Globally unique id for the Mode.
  - `label` string, required: A user-readable label used to identify the mode in the app.
  - `name` string, ^[a-zA-Z0-9.-_]+$, required: An internal name for the Mode.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `422`: Unprocessable Entity
- `429`: Too many requests
- `default`: Unexpected error

## Changes

- **2023-11-27** `e8dd260a33ec`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/smartthings/apis/smartthings-api/changes/locations/:locationId/modes/current/put.md)

---

[API](https://skmtc.dev/smartthings/apis/smartthings-api.md) - [All operations](https://skmtc.dev/smartthings/apis/smartthings-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smartthings/apis/smartthings-api/revisions/2788a4236800?raw)
