---
title: "List business objects of a kind"
method: GET
path: "/v1/products/{productId}/objects/{kind}"
tags: ["Product objects"]
---

# List business objects of a kind

`GET /v1/products/{productId}/objects/{kind}`

## Request

- Base URL: `https://hyperscale0.ai`
- URL: `https://hyperscale0.ai/v1/products/{productId}/objects/{kind}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Searches the full authorized set by external ID, declared column filters, agreement state and a declared date column. Returns a total and facets for the full filtered set. A cursor refuses changed filters or authority.

## Path parameters

- `productId` string, required: Hyperscale product ID
- `kind` string, required

## Query parameters

- `owner` string: Hyperscale principal ID
- `externalId` string
- `agreementState` string
- `blockKey` 'financing.installments' | 'escrow.hold' | 'money.hold' | 'marketplace.listing' | 'marketplace.order' | 'marketplace.reservation' | 'insurance.cover' | 'insurance.claim'
- `blockMetric` 'overdue_installments' | 'overdue_amount' | 'held_funds' | 'active_listings' | 'awaiting_fulfilment' | 'active_reservations' | 'active_covers' | 'submitted_claims'
- `dueField` string
- `dueFrom` string, date-time
- `dueThrough` string, date-time
- `cursor` string
- `limit` integer: Maximum items to return (1-100). Defaults to 50 when omitted.

## Headers

- `X-Hyperscale-Environment` 'sandbox' | 'live'

## Response `200`

Success

- ProductObjectsListOutput
  - `items` object[], required
    - `createdAt` string, date-time, required
    - `objectId` string, required
    - `kind` string, required
    - `revision` integer, required
    - `externalId` string
    - `fields` object, required
    - `productBuildId` string, required: Hyperscale product build ID
    - `currency` string, required: Currency from the record's retained Product Build.
    - `references` object, required: Reference titles by field, in value order. Null means the target is unavailable in the caller's scope. Sensitive fields are omitted.
    - `standing` string, required: The state needing the most attention across the record's root agreements, plus any child piece that is due or needs attention. Registered means no agreement.
    - `agreements` object[], required
      - `instanceId` string, required
      - `instrument` string, required
      - `attachment` string, required
      - `block` union, required
        - object
          - `key` string, required
          - `recordPath` string, required
          - `digest` string, required: Digest of the std declaration
        - object
          - `key` string, required
          - `recordPath` string, required
          - `headerDigest` string, required: SHA-256 digest of the resolved product build closure
      - `title` string, required
      - `state` string, required
      - `standing` string, required
    - `agreementsComplete` boolean, required
    - `nextSchedule` object, nullable, required
      - `instanceId` string, required
      - `action` string, required
      - `title` string, required
      - `dueAt` string, date-time, required
      - `status` 'upcoming' | 'due', required
    - `scheduleComplete` boolean, required
  - `nextCursor` string
  - `total` integer, required
  - `facets` object, required

## Other responses

- `default`: ErrorResponse. See x-error-codes and x-errors for codes, HTTP statuses and retry guidance.

---

[API](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api.md) · [All operations](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/revisions/e9e8faa044d5?raw)
