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

# List Device Models

> Lists published device models with variants, properties, featured image, providers and capabilities grouped by provider, ordered by slug. Filters combine with AND. A manufacturer key (embed or secret) defaults `manufacturer` to its own manufacturer; pass another slug to list that manufacturer's models. Device models hidden from third parties are excluded; with a manufacturer secret key, `include_forbidden` adds that manufacturer's own hidden models. Capability reports are resolved per `locale`, with the raw translation keys in `report_raw`.

This endpoint returns device models in the full shape, with storage details and the raw translation keys of capability reports. For product pages and widgets, use the slimmer [List Device Model Summaries](/docs/device-manufacturer-guidance/manufacturer-api/device-model-summaries).


## OpenAPI

````yaml device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/list
openapi: 3.1.0
info:
  title: Seam Ecosystem API
  version: 1.0.0
  description: >-
    Read what Seam publishes about the devices it supports: manufacturers,
    device models with their images, variants and capabilities, the providers
    that integrate them, and the partner apps that support them through Seam.


    Every endpoint accepts `GET` with query parameters, or `POST` with the same
    parameters as a JSON body. Successful responses include `"ok": true`.
    Published content is public, so you can call most endpoints without a key.
    Send an embed key from a browser, or a secret key from your servers, to
    identify yourself.
servers:
  - url: https://ecosystem.seam.co/v1
security: []
externalDocs:
  description: Manufacturer API guide
  url: https://www.seam.co/docs/device-manufacturer-guidance/manufacturer-api
paths:
  /device_models/list:
    get:
      tags:
        - device_models
      summary: List device models
      description: >-
        Lists published device models with variants, properties, featured image,
        providers and capabilities grouped by provider, ordered by slug. Filters
        combine with AND. A manufacturer key (embed or secret) defaults
        `manufacturer` to its own manufacturer; pass another slug to list that
        manufacturer's models. Device models hidden from third parties are
        excluded; with a manufacturer secret key, `include_forbidden` adds that
        manufacturer's own hidden models. Capability reports are resolved per
        `locale`, with the raw translation keys in `report_raw`.
      parameters:
        - name: slugs
          in: query
          required: false
          schema:
            description: Only device models with these slugs.
            type: array
            items:
              type: string
        - name: manufacturer
          in: query
          required: false
          schema:
            description: >-
              Manufacturer slug. Defaults to the manufacturer of a manufacturer
              key.
            type: string
        - name: device_type
          in: query
          required: false
          schema:
            description: Device type slug.
            type: string
        - name: provider
          in: query
          required: false
          schema:
            description: Provider slug.
            type: string
        - name: capability
          in: query
          required: false
          schema:
            description: Only models with a computed capability of this name.
            type: string
            enum:
              - device_connectivity
              - can_program_online_access_codes
              - can_program_offline_access_codes
              - can_remotely_unlock
              - can_remotely_lock
              - can_encode_plastic_cards
              - can_provision_mobile_keys
              - can_provision_wallet_keys
              - can_hvac_cool
              - can_hvac_heat
              - can_hvac_auto
              - can_hvac_fan
              - can_program_thermostat_weekly_programs
              - can_monitor
        - name: supported
          in: query
          required: false
          schema:
            description: With `capability`, the required support value.
            type: string
            enum:
              - 'yes'
              - 'no'
              - conditionally
        - name: is_accessory
          in: query
          required: false
          schema:
            description: Filter by the pinned device type's accessory flag.
            anyOf:
              - type: boolean
              - type: string
                enum:
                  - 'true'
                  - 'false'
        - name: include_forbidden
          in: query
          required: false
          schema:
            description: >-
              Include models forbidden to third parties
              (`is_forbidden_to_3dparty`): all of them for Seam callers, its own
              for a manufacturer secret key, none otherwise. Defaults to false.
            anyOf:
              - type: boolean
              - type: string
                enum:
                  - 'true'
                  - 'false'
        - name: locale
          in: query
          required: false
          schema:
            description: >-
              Locale for resolved capability report text; unknown locales fall
              back to the default locale.
            type: string
        - name: limit
          in: query
          required: false
          schema:
            default: 100
            description: Maximum number of device models to return (1-500).
            type: integer
            minimum: 1
            maximum: 500
        - name: page_cursor
          in: query
          required: false
          schema:
            description: The `next_page_cursor` from the previous page.
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  device_models:
                    type: array
                    items:
                      type: object
                      properties:
                        device_model_id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          description: Ecosystem UUID of the device model.
                        slug:
                          type: string
                          description: Stable identifier, e.g. `encodeplus`.
                        display_name:
                          description: Display name.
                          type:
                            - string
                            - 'null'
                        description_md:
                          description: Description in markdown, when recorded.
                          type:
                            - string
                            - 'null'
                        product_url:
                          description: Manufacturer product page URL, when recorded.
                          type:
                            - string
                            - 'null'
                        is_forbidden_to_3dparty:
                          description: >-
                            Forbidden to third-party consumers; such models are
                            excluded from public reads unless a Seam caller sets
                            `include_forbidden`.
                          type:
                            - boolean
                            - 'null'
                        no_longer_sold:
                          description: >-
                            Whether the model is no longer sold; null where not
                            established.
                          type:
                            - boolean
                            - 'null'
                        shop_listings:
                          anyOf:
                            - eb09b51a-3114-4af9-ada3-de87f6e88083
                            - type: 'null'
                          description: Commerce listing data verbatim from the source.
                        last_commerce_search_at:
                          anyOf:
                            - type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                            - type: 'null'
                          description: >-
                            When commerce listings were last searched; null is a
                            recorded fact, not an omission.
                        manufacturer:
                          anyOf:
                            - type: object
                              properties:
                                manufacturer_id:
                                  type: string
                                  format: uuid
                                  pattern: >-
                                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  description: Ecosystem UUID of the manufacturer.
                                slug:
                                  type: string
                                  description: Stable identifier, e.g. `schlage`.
                                display_name:
                                  description: Display name.
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - manufacturer_id
                                - slug
                                - display_name
                              additionalProperties: false
                            - type: 'null'
                          description: Pinned published manufacturer, when set.
                        device_type:
                          anyOf:
                            - type: object
                              properties:
                                device_type_id:
                                  type: string
                                  format: uuid
                                  pattern: >-
                                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  description: Ecosystem UUID of the device type.
                                slug:
                                  type: string
                                  description: Stable identifier, e.g. `smartlock`.
                                display_name:
                                  type: string
                                  description: Display name.
                                is_accessory:
                                  type: boolean
                                  description: >-
                                    Accessory types (bridges, keypads) rather
                                    than primary devices.
                              required:
                                - device_type_id
                                - slug
                                - display_name
                                - is_accessory
                              additionalProperties: false
                            - type: 'null'
                          description: Pinned published device type, when set.
                        device_type_properties:
                          anyOf:
                            - 558441ef-031c-4b56-acdb-f770359766e5
                            - type: 'null'
                          description: >-
                            Per-device-type properties verbatim, including the
                            source component discriminator; null for accessory
                            types.
                        variants:
                          type: array
                          items:
                            type: object
                            properties:
                              device_model_variant_id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                description: Ecosystem UUID of the variant.
                              color_name:
                                description: >-
                                  Variant color axis; the only axes are color
                                  and style.
                                type:
                                  - string
                                  - 'null'
                              style_name:
                                description: >-
                                  Variant style axis; the only axes are color
                                  and style.
                                type:
                                  - string
                                  - 'null'
                              primary_color_hex:
                                description: Primary color as a hex value, when recorded.
                                type:
                                  - string
                                  - 'null'
                              manufacturer_model_id:
                                description: >-
                                  Manufacturer's own model identifier, when
                                  recorded.
                                type:
                                  - string
                                  - 'null'
                              asin:
                                description: Amazon ASIN, when recorded.
                                type:
                                  - string
                                  - 'null'
                              gtins:
                                anyOf:
                                  - 637fbf03-21eb-4aab-ab03-1f510237006c
                                  - type: 'null'
                                description: GTIN values verbatim from the source.
                              marketplace_listings:
                                anyOf:
                                  - 3129e1ad-1725-4f54-8af8-c9675eeb2f70
                                  - type: 'null'
                                description: >-
                                  Marketplace listing data verbatim from the
                                  source.
                              sort_order:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                                description: Variant ordering as in the source.
                              images:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    asset_id:
                                      type: string
                                      format: uuid
                                      pattern: >-
                                        ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                      description: Ecosystem UUID of the asset.
                                    kind:
                                      type: string
                                      enum:
                                        - square_logo
                                        - square_logo_mono
                                        - horizontal_logo
                                        - horizontal_logo_mono
                                        - default_device_image
                                        - featured
                                        - variant_image
                                      description: >-
                                        Asset role: a logo kind, a manufacturer
                                        default device image, a model featured
                                        image, or a variant image.
                                    object_key:
                                      type: string
                                      description: Immutable object-storage key.
                                    url:
                                      type: string
                                      description: Public URL of the original image.
                                    mime:
                                      description: Media type, when known.
                                      type:
                                        - string
                                        - 'null'
                                    width:
                                      anyOf:
                                        - type: integer
                                          minimum: -9007199254740991
                                          maximum: 9007199254740991
                                        - type: 'null'
                                      description: Width in pixels, when known.
                                    height:
                                      anyOf:
                                        - type: integer
                                          minimum: -9007199254740991
                                          maximum: 9007199254740991
                                        - type: 'null'
                                      description: Height in pixels, when known.
                                    bytes:
                                      anyOf:
                                        - type: integer
                                          minimum: -9007199254740991
                                          maximum: 9007199254740991
                                        - type: 'null'
                                      description: Size in bytes, when known.
                                    sha256:
                                      description: >-
                                        SHA-256 of the original bytes, when
                                        recorded.
                                      type:
                                        - string
                                        - 'null'
                                    sort_order:
                                      type: integer
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                      description: >-
                                        Ordering within the owning version's
                                        assets.
                                    formats:
                                      type: object
                                      propertyNames:
                                        type: string
                                        enum:
                                          - thumbnail
                                          - small
                                          - medium
                                          - large
                                      additionalProperties:
                                        type: object
                                        properties:
                                          object_key:
                                            type: string
                                            description: >-
                                              Immutable object-storage key of this
                                              format.
                                          url:
                                            type: string
                                            description: Public URL of this format.
                                          mime:
                                            description: Media type, when known.
                                            type:
                                              - string
                                              - 'null'
                                          width:
                                            anyOf:
                                              - type: integer
                                                minimum: -9007199254740991
                                                maximum: 9007199254740991
                                              - type: 'null'
                                            description: Width in pixels, when known.
                                          height:
                                            anyOf:
                                              - type: integer
                                                minimum: -9007199254740991
                                                maximum: 9007199254740991
                                              - type: 'null'
                                            description: Height in pixels, when known.
                                          bytes:
                                            anyOf:
                                              - type: integer
                                                minimum: -9007199254740991
                                                maximum: 9007199254740991
                                              - type: 'null'
                                            description: Size in bytes, when known.
                                          sha256:
                                            description: >-
                                              SHA-256 of this format's bytes, when
                                              recorded.
                                            type:
                                              - string
                                              - 'null'
                                        required:
                                          - object_key
                                          - url
                                          - mime
                                          - width
                                          - height
                                          - bytes
                                          - sha256
                                        additionalProperties: false
                                      description: >-
                                        Derived image formats actually present
                                        in the source; an empty object means the
                                        source held none (e.g. SVG logos).
                                    created_at:
                                      type: string
                                      format: date-time
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                      description: Creation time (ISO 8601).
                                    updated_at:
                                      type: string
                                      format: date-time
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                      description: Last update time (ISO 8601).
                                  required:
                                    - asset_id
                                    - kind
                                    - object_key
                                    - url
                                    - mime
                                    - width
                                    - height
                                    - bytes
                                    - sha256
                                    - sort_order
                                    - formats
                                    - created_at
                                    - updated_at
                                  additionalProperties: false
                                description: Images of this variant.
                              created_at:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                description: Creation time (ISO 8601).
                              updated_at:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                description: Last update time (ISO 8601).
                            required:
                              - device_model_variant_id
                              - color_name
                              - style_name
                              - primary_color_hex
                              - manufacturer_model_id
                              - asin
                              - gtins
                              - marketplace_listings
                              - sort_order
                              - images
                              - created_at
                              - updated_at
                            additionalProperties: false
                          description: Variants in source order, each with its images.
                        featured_image:
                          anyOf:
                            - type: object
                              properties:
                                asset_id:
                                  type: string
                                  format: uuid
                                  pattern: >-
                                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  description: Ecosystem UUID of the asset.
                                kind:
                                  type: string
                                  enum:
                                    - square_logo
                                    - square_logo_mono
                                    - horizontal_logo
                                    - horizontal_logo_mono
                                    - default_device_image
                                    - featured
                                    - variant_image
                                  description: >-
                                    Asset role: a logo kind, a manufacturer
                                    default device image, a model featured
                                    image, or a variant image.
                                object_key:
                                  type: string
                                  description: Immutable object-storage key.
                                url:
                                  type: string
                                  description: Public URL of the original image.
                                mime:
                                  description: Media type, when known.
                                  type:
                                    - string
                                    - 'null'
                                width:
                                  anyOf:
                                    - type: integer
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                    - type: 'null'
                                  description: Width in pixels, when known.
                                height:
                                  anyOf:
                                    - type: integer
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                    - type: 'null'
                                  description: Height in pixels, when known.
                                bytes:
                                  anyOf:
                                    - type: integer
                                      minimum: -9007199254740991
                                      maximum: 9007199254740991
                                    - type: 'null'
                                  description: Size in bytes, when known.
                                sha256:
                                  description: >-
                                    SHA-256 of the original bytes, when
                                    recorded.
                                  type:
                                    - string
                                    - 'null'
                                sort_order:
                                  type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                  description: Ordering within the owning version's assets.
                                formats:
                                  type: object
                                  propertyNames:
                                    type: string
                                    enum:
                                      - thumbnail
                                      - small
                                      - medium
                                      - large
                                  additionalProperties:
                                    type: object
                                    properties:
                                      object_key:
                                        type: string
                                        description: >-
                                          Immutable object-storage key of this
                                          format.
                                      url:
                                        type: string
                                        description: Public URL of this format.
                                      mime:
                                        description: Media type, when known.
                                        type:
                                          - string
                                          - 'null'
                                      width:
                                        anyOf:
                                          - type: integer
                                            minimum: -9007199254740991
                                            maximum: 9007199254740991
                                          - type: 'null'
                                        description: Width in pixels, when known.
                                      height:
                                        anyOf:
                                          - type: integer
                                            minimum: -9007199254740991
                                            maximum: 9007199254740991
                                          - type: 'null'
                                        description: Height in pixels, when known.
                                      bytes:
                                        anyOf:
                                          - type: integer
                                            minimum: -9007199254740991
                                            maximum: 9007199254740991
                                          - type: 'null'
                                        description: Size in bytes, when known.
                                      sha256:
                                        description: >-
                                          SHA-256 of this format's bytes, when
                                          recorded.
                                        type:
                                          - string
                                          - 'null'
                                    required:
                                      - object_key
                                      - url
                                      - mime
                                      - width
                                      - height
                                      - bytes
                                      - sha256
                                    additionalProperties: false
                                  description: >-
                                    Derived image formats actually present in
                                    the source; an empty object means the source
                                    held none (e.g. SVG logos).
                                created_at:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                  description: Creation time (ISO 8601).
                                updated_at:
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                  description: Last update time (ISO 8601).
                              required:
                                - asset_id
                                - kind
                                - object_key
                                - url
                                - mime
                                - width
                                - height
                                - bytes
                                - sha256
                                - sort_order
                                - formats
                                - created_at
                                - updated_at
                              additionalProperties: false
                            - type: 'null'
                          description: >-
                            Featured image with its derived formats, when
                            present.
                        providers:
                          type: array
                          items:
                            type: object
                            properties:
                              provider_id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                description: Ecosystem UUID of the provider.
                              slug:
                                type: string
                                description: Stable identifier, e.g. `salto-ks`.
                              display_name:
                                description: Display name.
                                type:
                                  - string
                                  - 'null'
                            required:
                              - provider_id
                              - slug
                              - display_name
                            additionalProperties: false
                          description: Providers that can create accesses on this model.
                        capabilities_by_provider:
                          type: array
                          items:
                            type: object
                            properties:
                              provider:
                                type: object
                                properties:
                                  provider_id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                    description: Ecosystem UUID of the provider.
                                  slug:
                                    type: string
                                    description: Stable identifier, e.g. `salto-ks`.
                                  display_name:
                                    description: Display name.
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - provider_id
                                  - slug
                                  - display_name
                                additionalProperties: false
                                description: Provider the capabilities belong to.
                              capabilities:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    capability_id:
                                      type: string
                                      format: uuid
                                      pattern: >-
                                        ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                      description: >-
                                        Ecosystem UUID of the computed
                                        capability row.
                                    name:
                                      type: string
                                      enum:
                                        - device_connectivity
                                        - can_program_online_access_codes
                                        - can_program_offline_access_codes
                                        - can_remotely_unlock
                                        - can_remotely_lock
                                        - can_encode_plastic_cards
                                        - can_provision_mobile_keys
                                        - can_provision_wallet_keys
                                        - can_hvac_cool
                                        - can_hvac_heat
                                        - can_hvac_auto
                                        - can_hvac_fan
                                        - can_program_thermostat_weekly_programs
                                        - can_monitor
                                      description: Capability name.
                                    supported:
                                      type: string
                                      enum:
                                        - 'yes'
                                        - 'no'
                                        - conditionally
                                      description: >-
                                        Computed support: `yes`, `no`, or
                                        `conditionally`.
                                    integration_support_level:
                                      anyOf:
                                        - type: string
                                          enum:
                                            - inquire
                                            - unavailable
                                            - planned
                                            - in-progress
                                            - beta
                                            - stable
                                        - type: 'null'
                                      description: >-
                                        Support level of the provider
                                        integration behind this capability; null
                                        where the source has none.
                                    report:
                                      anyOf:
                                        - type: object
                                          properties:
                                            details:
                                              type: string
                                              description: >-
                                                Report detail text, or a translation
                                                dictionary key in `report_raw`.
                                            requirements:
                                              description: Requirements keyed by requirement name.
                                              type: object
                                              propertyNames:
                                                type: string
                                              additionalProperties:
                                                type: object
                                                properties:
                                                  message:
                                                    type: string
                                                    description: >-
                                                      Requirement message, or a translation
                                                      dictionary key in `report_raw`.
                                                  device_slugs:
                                                    description: >-
                                                      Device model slugs satisfying this
                                                      requirement.
                                                    type: array
                                                    items:
                                                      type: string
                                                required:
                                                  - message
                                                additionalProperties: {}
                                            dependencies:
                                              description: Capability names this report depends on.
                                              type: array
                                              items:
                                                type: string
                                          required:
                                            - details
                                          additionalProperties: {}
                                        - type: 'null'
                                      description: >-
                                        Report with `details` and requirement
                                        messages resolved to display text for
                                        `locale`, falling back to the default
                                        locale and then to a placeholder for a
                                        message with no translation. Null when
                                        no report is stored.
                                    report_raw:
                                      anyOf:
                                        - type: object
                                          properties:
                                            details:
                                              type: string
                                              description: >-
                                                Report detail text, or a translation
                                                dictionary key in `report_raw`.
                                            requirements:
                                              description: Requirements keyed by requirement name.
                                              type: object
                                              propertyNames:
                                                type: string
                                              additionalProperties:
                                                type: object
                                                properties:
                                                  message:
                                                    type: string
                                                    description: >-
                                                      Requirement message, or a translation
                                                      dictionary key in `report_raw`.
                                                  device_slugs:
                                                    description: >-
                                                      Device model slugs satisfying this
                                                      requirement.
                                                    type: array
                                                    items:
                                                      type: string
                                                required:
                                                  - message
                                                additionalProperties: {}
                                            dependencies:
                                              description: Capability names this report depends on.
                                              type: array
                                              items:
                                                type: string
                                          required:
                                            - details
                                          additionalProperties: {}
                                        - type: 'null'
                                      description: >-
                                        The stored report verbatim: `details`
                                        and requirement messages are translation
                                        dictionary keys, never localized in
                                        storage.
                                    locale:
                                      type: string
                                      description: >-
                                        The locale `report` was resolved in,
                                        after fallback.
                                    computed_at:
                                      type: string
                                      format: date-time
                                      pattern: >-
                                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                      description: >-
                                        When this capability was computed (ISO
                                        8601).
                                  required:
                                    - capability_id
                                    - name
                                    - supported
                                    - integration_support_level
                                    - report
                                    - report_raw
                                    - locale
                                    - computed_at
                                  additionalProperties: false
                                description: Computed capabilities for that provider.
                            required:
                              - provider
                              - capabilities
                            additionalProperties: false
                          description: >-
                            Currently published computed capabilities grouped by
                            provider; stale scopes are omitted.
                        capabilities_stale:
                          type: boolean
                          description: >-
                            True when some linked providers' capabilities are
                            out of date after a change to the model, its
                            providers or the capability engine, so they are
                            omitted from `capabilities_by_provider` until Seam
                            recomputes them. A provider whose correct result is
                            no capabilities is not stale.
                        created_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                          description: Creation time (ISO 8601).
                        updated_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                          description: Last update time (ISO 8601).
                      required:
                        - device_model_id
                        - slug
                        - display_name
                        - description_md
                        - product_url
                        - is_forbidden_to_3dparty
                        - no_longer_sold
                        - shop_listings
                        - last_commerce_search_at
                        - manufacturer
                        - device_type
                        - device_type_properties
                        - variants
                        - featured_image
                        - providers
                        - capabilities_by_provider
                        - capabilities_stale
                        - created_at
                        - updated_at
                      additionalProperties: false
                    description: Published device models.
                  pagination:
                    type: object
                    properties:
                      has_next_page:
                        type: boolean
                        description: Whether another page follows this one.
                      next_page_cursor:
                        description: Cursor for the next page; null on the last page.
                        type:
                          - string
                          - 'null'
                    required:
                      - has_next_page
                      - next_page_cursor
                    additionalProperties: false
                    description: Pagination for this page.
                  ok:
                    type: boolean
                    const: true
                    description: Always `true` on success.
                required:
                  - device_models
                  - pagination
                  - ok
                additionalProperties: false
                $defs:
                  __schema0:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - type: array
                        items:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema0
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema0
                  __schema1:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - type: array
                        items:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema1
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema1
                  __schema2:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - type: array
                        items:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema2
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema2
                  __schema3:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - type: array
                        items:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema3
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1list/get/responses/200/content/application~1json/schema/$defs/__schema3
        '400':
          description: Invalid parameters
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  ok:
                    type: boolean
                    const: false
                    description: Always `false` on error.
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Machine-readable error type.
                      message:
                        type: string
                        description: Human-readable error message.
                      request_id:
                        type: string
                        description: Request ID to include when you contact Seam.
                      data:
                        description: >-
                          Details for some error types, such as validation
                          issues.
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - type
                      - message
                      - request_id
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
        '401':
          description: The key is unknown, revoked or unsupported
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  ok:
                    type: boolean
                    const: false
                    description: Always `false` on error.
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Machine-readable error type.
                      message:
                        type: string
                        description: Human-readable error message.
                      request_id:
                        type: string
                        description: Request ID to include when you contact Seam.
                      data:
                        description: >-
                          Details for some error types, such as validation
                          issues.
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - type
                      - message
                      - request_id
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: >-
            The key does not allow this request, such as an origin that is not
            allowed
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  ok:
                    type: boolean
                    const: false
                    description: Always `false` on error.
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Machine-readable error type.
                      message:
                        type: string
                        description: Human-readable error message.
                      request_id:
                        type: string
                        description: Request ID to include when you contact Seam.
                      data:
                        description: >-
                          Details for some error types, such as validation
                          issues.
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - type
                      - message
                      - request_id
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
        '429':
          description: Rate limited
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  ok:
                    type: boolean
                    const: false
                    description: Always `false` on error.
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Machine-readable error type.
                      message:
                        type: string
                        description: Human-readable error message.
                      request_id:
                        type: string
                        description: Request ID to include when you contact Seam.
                      data:
                        description: >-
                          Details for some error types, such as validation
                          issues.
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - type
                      - message
                      - request_id
                    additionalProperties: false
                required:
                  - ok
                  - error
                additionalProperties: false
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
      security:
        - {}
        - secret_key: []
        - embed_key: []
        - embed_key_param: []
components:
  securitySchemes:
    secret_key:
      type: http
      scheme: bearer
      bearerFormat: eco_sk_…
      description: >-
        Optional on endpoints that serve published content. A secret key
        (`eco_sk_…`), sent as `Authorization: Bearer eco_sk_…` from your servers
        only. A manufacturer secret key implies its manufacturer and can include
        that manufacturer's device models hidden from third parties.
    embed_key:
      type: apiKey
      in: header
      name: X-Embed-Key
      description: >-
        An embed key (`eco_live_…`) for browser requests; the request's `Origin`
        must match one of the key's allowed origins. Optional on most endpoints,
        but `embed/resolve` always needs one, and so does `compatibility` from a
        browser on a site other than seam.co. A manufacturer embed key implies
        its manufacturer.
    embed_key_param:
      type: apiKey
      in: query
      name: embed_key
      description: >-
        An embed key sent as the `embed_key` query parameter instead of the
        `X-Embed-Key` header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.