Anchorage API reference
    Preparing search index...
    interface ApprovalListFilter {
        after?: string;
        claimedBy?: string;
        createdAfter?: string;
        createdBefore?: string;
        limit?: number;
        orderBy?: "reviewer" | "created";
        requestedBy?: string;
        runId?: string;
        status?: ApprovalStatus | ApprovalStatus[];
        workflowId?: string;
    }
    Index

    Properties

    after?: string

    Opaque pagination cursor from approvalCursor() — resume list() strictly after that record in queue order (createdAt, then id). undefined starts from the beginning.

    claimedBy?: string
    createdAfter?: string

    ISO-8601 bound: matches records whose createdAt is strictly AFTER this instant.

    createdBefore?: string

    ISO-8601 bound: matches records whose createdAt is strictly BEFORE this instant (triage: "older than 4 hours"). Compared chronologically — any parseable ISO variant works; an unparseable value throws (router.ts maps it to 400 before a store sees it). Distinct from the after CURSOR, which pages queue position, not creation time.

    limit?: number

    Max records to return (clamped to [1, MAX_APPROVAL_LIST_LIMIT] — see clampApprovalLimit). undefined requests no explicit limit: a tenant-bound store then defaults to MAX_APPROVAL_LIST_LIMIT so a bare list() never becomes an unbounded scan, while the cron-only SystemApprovalStore view stays complete. Page complete history with an explicit after cursor.

    orderBy?: "reviewer" | "created"

    Result ordering. 'created' (default) is FIFO — (createdAt, id), the order after cursors page over. 'reviewer' is the dashboard queue order (byReviewerOrder: priority, then nearest SLA deadline, then FIFO), applied BEFORE limit so a bounded page is the TOP of the reviewer queue — under FIFO-then-limit, a fresh critical request beyond the oldest limit records was invisible to a bounded dashboard poll (2026-07-11 review). Incompatible with after; see approvalListOrder.

    requestedBy?: string

    Exact match on ApprovalRecord.requestedBy (triage: "everything Ada's runs asked for").

    runId?: string
    workflowId?: string