> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seam.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a Device

> Updates a specified [device](https://docs.seam.co/core-concepts/devices).

You can add or change [custom metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device) for a device, change the device's name, or [convert a managed device to unmanaged](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices).



## OpenAPI

````yaml /openapi.json post /devices/update
openapi: 3.0.0
info:
  title: Seam Connect
  version: 1.0.0
servers:
  - url: https://connect.getseam.com
security: []
tags:
  - description: access_codes
    name: /access_codes
  - description: acs
    name: /acs
  - description: action_attempts
    name: /action_attempts
  - description: client_sessions
    name: /client_sessions
  - description: connected_accounts
    name: /connected_accounts
  - description: connect_webviews
    name: /connect_webviews
  - description: devices
    name: /devices
  - description: events
    name: /events
  - description: health
    name: /health
  - description: locks
    name: /locks
  - description: networks
    name: /networks
  - description: noise_sensors
    name: /noise_sensors
  - description: phones
    name: /phones
  - description: thermostats
    name: /thermostats
  - description: user_identities
    name: /user_identities
  - description: webhooks
    name: /webhooks
  - description: workspaces
    name: /workspaces
paths:
  /devices/update:
    post:
      tags:
        - /devices
      summary: Update a Device
      description: >-
        Updates a specified
        [device](https://docs.seam.co/core-concepts/devices).


        You can add or change [custom
        metadata](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device)
        for a device, change the device's name, or [convert a managed device to
        unmanaged](https://docs.seam.co/core-concepts/devices/managed-and-unmanaged-devices).
      operationId: devicesUpdatePost
      requestBody:
        content:
          application/json:
            schema:
              properties:
                custom_metadata:
                  additionalProperties:
                    nullable: true
                    oneOf:
                      - maxLength: 500
                        type: string
                      - type: boolean
                  description: >-
                    Custom metadata that you want to associate with the device.
                    Supports up to 50 JSON key:value pairs. [Adding custom
                    metadata to a
                    device](https://docs.seam.co/core-concepts/devices/adding-custom-metadata-to-a-device)
                    enables you to store custom information, like customer
                    details or internal IDs from your application. Then, you can
                    [filter devices by the desired
                    metadata](https://docs.seam.co/core-concepts/devices/filtering-devices-by-custom-metadata).
                  type: object
                device_id:
                  description: ID of the device that you want to update.
                  format: uuid
                  type: string
                is_managed:
                  default: true
                  description: >-
                    Indicates whether the device is managed. To unmanage a
                    device, set `is_managed` to `false`.
                  type: boolean
                name:
                  description: Name for the device.
                  nullable: true
                  type: string
                properties:
                  properties:
                    name:
                      description: Name for the device.
                      nullable: true
                      type: string
                  type: object
              required:
                - device_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - api_key: []
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - client_session: []
        - client_session_with_customer: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.devices.update({
              device_id: "ccfab465-4838-4ff3-af62-97c78e8bf44b",
              name: "My Updated Device",
              is_managed: true,
              custom_metadata: { id: "internalId1" },
            });

            /*
            // void
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/devices/update" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "device_id": "ccfab465-4838-4ff3-af62-97c78e8bf44b",
              "name": "My Updated Device",
              "is_managed": true,
              "custom_metadata": {
                "id": "internalId1"
              }
            }

            EOF


            # Response:

            # {}
        - lang: python
          label: Seam SDK
          source: |-
            seam.devices.update(
                device_id="ccfab465-4838-4ff3-af62-97c78e8bf44b",
                name="My Updated Device",
                is_managed=true,
                custom_metadata={"id": "internalId1"},
            )

            # None
        - lang: ruby
          label: Seam SDK
          source: |-
            seam.devices.update(
              device_id: "ccfab465-4838-4ff3-af62-97c78e8bf44b",
              name: "My Updated Device",
              is_managed: true,
              custom_metadata: {
                id: "internalId1",
              },
            )

            # => nil
        - lang: php
          label: Seam SDK
          source: |-
            $seam->devices->update(
                device_id: "ccfab465-4838-4ff3-af62-97c78e8bf44b",
                name: "My Updated Device",
                is_managed: true,
                custom_metadata: ["id" => "internalId1"],
            );
        - lang: bash
          label: Seam CLI
          source: >-
            seam devices update --device_id
            "ccfab465-4838-4ff3-af62-97c78e8bf44b" --name "My Updated Device"
            --is_managed true --custom_metadata {"id":"internalId1"}


            # {}
components:
  securitySchemes:
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http
    pat_with_workspace:
      bearerFormat: API Token
      scheme: bearer
      type: http
    console_session_with_workspace:
      bearerFormat: Console Session Token
      scheme: bearer
      type: http
    client_session:
      bearerFormat: Client Session Token
      scheme: bearer
      type: http
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http

````