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

# List saved devices

> List the devices you've saved, most recently saved first. Each entry carries the full catalog record plus your own optional label. Saving the products you sell keeps them on hand without a catalog search every time. Results are scoped to your account; page through them with `limit` and `offset`.



## OpenAPI

````yaml /api-reference/specs/gcs-devices.json get /beta/incentives/devices/saved
openapi: 3.0.1
info:
  title: Leap Incentives — Devices
  description: >-
    API for managing program definitions, requirement catalog, field groups, and
    partner data preferences
  contact:
    email: apiteam@leap.energy
  version: '0.1'
servers:
  - url: https://api.leap.energy
    description: Production
  - url: https://api.staging.leap.energy
    description: Staging
security:
  - BearerAuth: []
tags:
  - name: devices
paths:
  /beta/incentives/devices/saved:
    get:
      tags:
        - devices
      summary: List saved devices
      description: >-
        List the devices you've saved, most recently saved first. Each entry
        carries the full catalog record plus your own optional label. Saving the
        products you sell keeps them on hand without a catalog search every
        time. Results are scoped to your account; page through them with `limit`
        and `offset`.
      operationId: listSavedDevices
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 200
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
            minimum: 0
      responses:
        '200':
          description: Page of the partner's saved devices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SavedDevicePage'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    SavedDevicePage:
      type: object
      required:
        - devices
        - total
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/SavedDeviceResponse'
        total:
          type: integer
          description: Total devices on your saved list, ignoring paging.
    SavedDeviceResponse:
      type: object
      required:
        - device_id
        - created_at
        - device
      properties:
        device_id:
          type: string
          format: uuid
          description: Catalog device UUID. This is the `device_id` you send on a lookup.
        label:
          type: string
          nullable: true
          description: Your own name for the device, when you set one. Null otherwise.
        created_at:
          type: string
          format: date-time
          description: When you first saved this device.
        device:
          $ref: '#/components/schemas/PartnerDeviceResponse'
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            message:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  error_code:
                    type: string
                  reason:
                    type: string
    PartnerDeviceResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        device_category_id:
          type: string
          format: uuid
          description: >-
            Leap's identifier for the device's category. It is specific to one
            Leap environment, so key on `device_category` instead when you store
            or compare categories.
        device_category:
          type: string
          description: >-
            The device's category name, and the stable way to address a
            category: `hvac`, `ev_charger`, `solar_storage`, `water_heater`,
            `smart_thermostat`, `weatherization`, `vehicle`, `meter`,
            `panel_make_ready`, `solar_panel`. It is the same value the
            `category` query parameter takes, so you can bucket a page of
            results without a second call.
        manufacturer:
          type: string
        model_number:
          type: string
        model_name:
          type: string
        description:
          type: string
        subcategory:
          type: string
        is_active:
          type: boolean
        date_available:
          type: string
          format: date
        date_discontinued:
          type: string
          format: date
        manufacture_year:
          type: integer
        charger_level:
          type: string
        charging_power_kw:
          type: number
        connector_types:
          type: array
          items:
            type: string
        seer2_rating:
          type: number
        eer2_rating:
          type: number
        hspf2_rating:
          type: number
        ceer_rating:
          type: number
        capacity_tons:
          type: number
        capacity_btu:
          type: integer
        capacity_kw:
          type: number
        msrp:
          type: number
        is_energy_star_certified:
          type: boolean
        is_ul_listed:
          type: boolean
        is_networked:
          type: boolean
        is_ocpp_compliant:
          type: boolean
        battery_capacity_kwh:
          type: number
        battery_chemistry:
          type: string
        is_mobile_plugin_charger:
          type: boolean
      description: >-
        One device in Leap's catalog. Send its `id` as the `device_id` on a
        lookup. Specification fields such as `capacity_kw` or `seer2_rating` are
        populated where Leap holds data for that device type, and are null
        otherwise.
  responses:
    Unauthorized:
      description: You are not authorized to perform this operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: You do not have permission to perform this operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RateLimited:
      description: >
        The shared per-partner rate limit for /incentives endpoints was exceeded
        (`error_code: RATE_LIMIT_EXCEEDED`). Back off and retry after the number
        of seconds indicated by the `Retry-After` header.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: An internal server error occurred
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Leap API key as a Bearer token. Send it in the `Authorization`
        header: `Authorization: Bearer <api-key>`.

````