Skip to content

ListComponentsOptions

@ebitex/content-sdk — the framework-agnostic half.

  • Low-level: createDeliveryClient — one method per Content Delivery API endpoint, the delivered vocabulary as types (types.ts) and runtime guards (guards.ts), typed errors.
  • High-level: createContentClientresolveLocation(location) for router changes: site from the page’s own host, locale from the browser’s languages against the organization’s tree, the context bag, a full/normalized resolve strategy, caching and cancellation.

Nothing here imports React; the rendering layer is @ebitex/content-sdk/react. Both clients run in a browser (with a browser-safe delivery key) and in Node (any key).

optional category?: readonly string[]

Category paths or ids — every one must match (AND), subtree-inclusive.


optional content?: boolean

Project each item’s resolved document into the response (wire: include=content) — one request returns render-ready items, shaped exactly like getComponent for the same key and read options. The inherited locale/resolve/raw/ctx are only valid alongside this — the server rejects them on a descriptor-only query rather than silently ignoring them.


contract: string

A Contract id; matches Components of that Contract or any Contract inheriting from it.


optional ctx?: ContextBag

The personalization context. Present = server-resolve (personalization collapsed, tokens injected); absent = client-resolve (unresolved variant-set envelopes come back).

ReadOptions.ctx


optional cursor?: string

Opaque — replay exactly as received, with the same orderBy/direction it was issued under (a mismatched replay is 400 invalid_cursor; restart the listing).


optional direction?: "asc" | "desc"

Only valid with orderBy. Defaults to asc.


optional limit?: number

1–100; the server defaults to 20.


optional locale?: string

One locale code. The server resolves its fallback chain; the high-level client picks the code.

ReadOptions.locale


optional orderBy?: string

A top-level field external id to order by — text order over the stored value (exact chronology for a date field’s RFC 3339 UTC instants), items missing the field last in both directions. Omitted, items come back in an arbitrary but stable id order (the pre-existing behavior).


optional paths?: boolean

Attach each item’s published address(es) (wire: include=paths) — one {siteRootNodeId, path} per live published node whose root Presentation payload binds the component (one level; a component referenced only inside another component’s fields gets []). Paths are relative and read live per request; locale selects the path’s locale slot. Composes with content or works alone.


optional raw?: boolean

Keep Localizable envelopes unresolved. Never sent by the high-level client.

ReadOptions.raw


optional referencePaths?: boolean

Attach every reference descriptor’s own published address(es) — wire include=referencePaths. The paths member is the same one listComponents({ paths: true }) puts on an item, with the same rules, but on the references inside a document: a post’s series, a parent article, a related-reading list. [] means the target is bound at no live node; the member being absent means this option was not sent.

Present at any depth and whether or not the descriptor was expanded, so a resolve: 0 read is enough to build navigation. Pick one with pathForSite.

ReadOptions.referencePaths


optional resolve?: number

Expansion depth (an integer, capped at 10 server-side). Omitted = 0, descriptors only.

ReadOptions.resolve


optional signal?: AbortSignal

ReadOptions.signal


optional site?: string

CurrentSiteOption.site