> ## 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.

# Get a Device Model

> Returns one published device model by `slug` or `device_model_id`, with variants, properties, featured image, providers and capabilities grouped by provider. A model hidden from third parties is not found unless the request uses its manufacturer's secret key and sets `include_forbidden`. Capability reports are resolved per `locale`, with the raw translation keys in `report_raw`.



## OpenAPI

````yaml device-manufacturer-guidance/manufacturer-api/openapi.json GET /device_models/get
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/get:
    get:
      tags:
        - device_models
      summary: Get a device model
      description: >-
        Returns one published device model by `slug` or `device_model_id`, with
        variants, properties, featured image, providers and capabilities grouped
        by provider. A model hidden from third parties is not found unless the
        request uses its manufacturer's secret key and sets `include_forbidden`.
        Capability reports are resolved per `locale`, with the raw translation
        keys in `report_raw`.
      parameters:
        - name: slug
          in: query
          required: false
          schema:
            description: Device model slug; provide this or `device_model_id`.
            type: string
        - name: device_model_id
          in: query
          required: false
          schema:
            description: Device model UUID; provide this or `slug`.
            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)$
        - 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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  device_model:
                    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:
                          - e031f90e-cc0c-4b8b-8f1d-de184e08e267
                          - 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:
                          - 6cb21a5a-d709-408b-879b-1c6fa7d57844
                          - 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:
                                - f0eac555-1b78-4603-9e18-d78e0f0c73c5
                                - type: 'null'
                              description: GTIN values verbatim from the source.
                            marketplace_listings:
                              anyOf:
                                - a88276fe-ebae-4cb9-a974-9c4da2d5e9d3
                                - 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: The published device model.
                  ok:
                    type: boolean
                    const: true
                    description: Always `true` on success.
                required:
                  - device_model
                  - ok
                additionalProperties: false
                $defs:
                  __schema0:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - type: array
                        items:
                          $ref: >-
                            #/paths/~1device_models~1get/get/responses/200/content/application~1json/schema/$defs/__schema0
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1get/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~1get/get/responses/200/content/application~1json/schema/$defs/__schema1
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1get/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~1get/get/responses/200/content/application~1json/schema/$defs/__schema2
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1get/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~1get/get/responses/200/content/application~1json/schema/$defs/__schema3
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties:
                          $ref: >-
                            #/paths/~1device_models~1get/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.