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

# List assets

> A page of the assets the caller can see, each carrying its product identity, install address, dimensions, and warranty coverage windows. With no `address` this browses every property the caller can see — expect it to be slow; it is meant for one-off backfills, not realtime use. Supply `address` to narrow to the assets installed at one property. Page by passing the previous response’s `next` back as `after`; `next` is null once a page comes back short.



## OpenAPI

````yaml https://api.sibipro.com/assets/openapi.json get /assets
openapi: 3.0.0
info:
  title: Sibi Assets API
  version: 1.0.0
  description: >-
    RESTful API for the assets installed at the properties Sibi manages for you:
    what the product is, where it lives, and what its warranty covers. Reads are
    scoped to what the authenticated caller is authorized to see.
servers:
  - url: https://api.sibipro.com
    description: API endpoint
security:
  - bearerAuth: []
paths:
  /assets:
    get:
      summary: List assets
      description: >-
        A page of the assets the caller can see, each carrying its product
        identity, install address, dimensions, and warranty coverage windows.
        With no `address` this browses every property the caller can see —
        expect it to be slow; it is meant for one-off backfills, not realtime
        use. Supply `address` to narrow to the assets installed at one property.
        Page by passing the previous response’s `next` back as `after`; `next`
        is null once a page comes back short.
      operationId: listAssets
      parameters:
        - schema:
            type: integer
            minimum: 0
            exclusiveMinimum: true
            maximum: 100
            default: 10
            description: Maximum number of assets to return per page
            example: 10
          required: false
          name: first
          in: query
        - schema:
            type: string
            description: >-
              Opaque pagination cursor from a previous response `next`. Omit for
              the first page.
          required: false
          name: after
          in: query
        - schema:
            type: string
            description: >-
              Whole address as a single string. Omit to browse every asset the
              caller can see; supply it to narrow to the assets installed at the
              matching property.
            example: 1 Main St, Austin, TX 78701
          required: false
          name: address
          in: query
      responses:
        '200':
          description: Assets the caller is authorized to view
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAssetsResponse'
        '400':
          description: >-
            Invalid input parameters (VALIDATION_ERROR), or `after` is not a
            cursor this endpoint issued (INVALID_CURSOR)
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationErrorResponse'
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - INVALID_CURSOR
                        description: Machine-readable error code
                      message:
                        type: string
                      requestId:
                        type: string
                        description: >-
                          AWS request id for this call — quote it when
                          contacting support
                    required:
                      - code
                      - message
        '401':
          description: Missing or invalid authentication token
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Machine-readable error code
                  message:
                    type: string
                  requestId:
                    type: string
                    description: >-
                      AWS request id for this call — quote it when contacting
                      support
                required:
                  - code
                  - message
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - INTERNAL_SERVER_ERROR
                    description: Machine-readable error code
                  message:
                    type: string
                  requestId:
                    type: string
                    description: >-
                      AWS request id for this call — quote it when contacting
                      support
                required:
                  - code
                  - message
components:
  schemas:
    ListAssetsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Asset'
        next:
          type: string
          nullable: true
          description: >-
            Opaque cursor for the next page; pass it as `after`. Null when the
            page came back short, i.e. there is probably nothing behind it.
      required:
        - data
        - next
    ValidationErrorResponse:
      type: object
      properties:
        code:
          type: string
          enum:
            - VALIDATION_ERROR
        message:
          type: string
          example: Invalid input parameters
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              error:
                type: string
            required:
              - field
              - error
          description: Per-field validation errors
        requestId:
          type: string
          description: AWS request id for this call — quote it when contacting support
      required:
        - code
        - message
        - details
    Asset:
      type: object
      properties:
        id:
          type: string
          description: Sibi assigned identifier for this asset.
          example: as_aBcD1234
        createdAt:
          type: string
          description: When the asset was created.
        manufacturer:
          type: string
          description: A slug identifying which shop the product was purchased from.
        viewUrl:
          type: string
          description: Link to view the asset in Sibi's web interface.
        name:
          type: string
          description: Human-readable product name.
        sku:
          type: string
          description: Manufacturer's product identifier.
        serialNumber:
          type: string
          nullable: true
          description: >-
            Defined by the manufacturer and sometimes provided at invoice time;
            absent when not reported.
        category:
          type: string
          description: Broad product category.
        subcategories:
          type: array
          items:
            type: string
          description: Specific subcategories the product belongs to. May be empty.
        returned:
          type: boolean
          description: True if this asset has been returned.
        poNumber:
          type: string
          nullable: true
          description: External purchase order number provided with the invoice.
        orderId:
          type: string
          nullable: true
          description: Identifier for the order associated with this asset within Sibi.
        propertyAddress:
          $ref: '#/components/schemas/AssetPropertyAddress'
        property:
          $ref: '#/components/schemas/AssetProperty'
        dimensions:
          $ref: '#/components/schemas/AssetDimensions'
        warrantyCoverages:
          type: array
          items:
            $ref: '#/components/schemas/WarrantyCoverage'
          description: Time-sliced parts/labor coverage windows for this asset.
      required:
        - id
        - createdAt
        - manufacturer
        - viewUrl
        - name
        - sku
        - category
        - subcategories
        - returned
        - propertyAddress
        - property
        - dimensions
        - warrantyCoverages
    AssetPropertyAddress:
      type: object
      properties:
        line1:
          type: string
        line2:
          type: string
          nullable: true
        city:
          type: string
        stateOrProvince:
          type: string
        postalCode:
          type: string
      required:
        - line1
        - city
        - stateOrProvince
        - postalCode
      description: The address of the property this asset is installed at.
    AssetProperty:
      type: object
      properties:
        externalId:
          type: string
          nullable: true
          description: Caller-defined identifier for the property.
    AssetDimensions:
      type: object
      properties:
        height:
          type: number
          nullable: true
        heightUnit:
          type: string
          nullable: true
        width:
          type: number
          nullable: true
        widthUnit:
          type: string
          nullable: true
        depth:
          type: number
          nullable: true
        depthUnit:
          type: string
          nullable: true
        length:
          type: number
          nullable: true
        lengthUnit:
          type: string
          nullable: true
      description: Product measurements. Omits dimensions the product does not report.
    WarrantyCoverage:
      type: object
      properties:
        startDate:
          type: string
        endDate:
          type: string
        description:
          type: string
          nullable: true
          description: >-
            Narrative description of the asset's warranty coverage. Null when no
            rule applies (e.g. no description rule exists yet for this
            manufacturer, distinct from having no duration rule at all).
          example: >-
            One-year GE manufacturer warranty covering parts and labor for
            defects in materials or workmanship.
      required:
        - startDate
        - endDate
        - description
      description: >-
        A contiguous time range during which a specific set of coverage types
        applies. Adjacent warranty records (e.g. a manufacturer warranty
        followed by a registered extension) are merged or split so each entry
        reflects a constant covered set.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A Sibi Public API token or access token, sent as `Authorization: Bearer
        <token>`. Resolved by the API Gateway authorizer in front of this
        endpoint.

````