LedeWire SDK API Reference
    Preparing search index...

    Class InvalidCursorError

    Thrown when content.search refuses its cursor: HTTP 422 whose API error body's error.type is 'invalid_cursor'. The cursor is invalid, expired (they last 24 hours), in an older format, or was issued for a different query, tags, max_price_cents, metadata, publication, form_type, ticker, cik or limit. Nothing was searched.

    The remedy is the same for every reason: drop the cursor and start the search again from the first page, without one. The same cursor never succeeds on retry. message says which reason applied, as prose; branch on the class, not on the message.

    Matched on error.type alone. Any other 422 stays a plain LedewireError.

    try {
    page = await client.content.search({ query, cursor })
    } catch (err) {
    if (err instanceof InvalidCursorError) {
    page = await client.content.search({ query }) // restart from the first page
    } else {
    throw err
    }
    }

    Hierarchy (View Summary)

    Index
    • Parameters

      • message: string
      • Optionalcode: number
      • Optionaldetails: Record<string, unknown>

      Returns InvalidCursorError

    code: number | undefined

    Machine-readable error code from the API error body, if present.

    details: Readonly<Record<string, unknown>> | undefined

    Extra top-level fields from the API error response body, excluding error itself. For example, a selection_too_large refusal from POST /v1/acquisitions (422) carries maximum and submitted alongside error. undefined when the body carried no other top-level fields, which is the common case.

    retryAfter: number | undefined

    Seconds to wait before retrying, from the response's Retry-After header. undefined when the response carried no usable header. Present on rate-limit (429) and busy (503) refusals, so a caller can back off without guessing.

    statusCode: number

    HTTP status code returned by the API (e.g. 400, 401, 404, 422).

    type: ErrorTypeValue | undefined

    Machine-readable reason from the API error body's error.type, if present. See ErrorType for the documented values and how to branch on them — the API may emit other values it hasn't documented yet, which still land here as a plain string rather than being dropped.

    brand: string

    Class-identity brand used for cross-bundle instanceof (see [Symbol.hasInstance]). Hardcoded per class — never derived from constructor.name or this.name, either of which a minifier can rewrite, silently breaking the brand match.

    • Makes err instanceof LedewireError (and every subclass below) true even when err was constructed by a different bundled copy of this module. Each published package (@ledewire/node, @ledewire/browser, @ledewire/x402-client) bundles its own copy of @ledewire/core via tsup, so the classes are distinct objects with unrelated prototypes — the plain prototype-chain check instanceof normally does would fail.

      Falls back to the brand list every instance carries under a Symbol.for('@ledewire/error-brands') key (collected from the brand static along the constructing class's prototype chain): true when the ordinary check passes, OR the instance's brand list includes this class's own brand.

      Parameters

      • instance: unknown

      Returns boolean