@qtsurfer/api-client
    Preparing search index...

    Type Alias LiveRunSummary

    A run as it appears in GET /live — one of your own, narrower than LiveRun (no params, paramsVersion, relay, or gate), since listing stays cheap regardless of how many runs you have. Check a specific run's full state with GET /strategy/{strategyId}/live.

    type LiveRunSummary = {
        createdAtMs: number;
        description?: string;
        desired: "RUNNING" | "STOPPED";
        name?: string;
        reason?: string;
        runId: string;
        sources: LiveSource[];
        stage: "SANDBOX" | "LIVE";
        startedAtMs: number;
        state: string;
        strategyId: StrategyId;
        visibility: "private" | "public";
    }
    Index
    createdAtMs: number

    Epoch milliseconds this run was started.

    description?: string
    desired: "RUNNING" | "STOPPED"

    What you last asked for. state can lag this briefly after DELETE.

    name?: string
    reason?: string

    Why the run stopped or failed, when there is something to say; absent otherwise. It is never a stack trace or an internal message. Either resource: ... (the platform stopped the run for exceeding its resource allowance; the text says which limit) or one of a fixed set of sentences for a FAILED run: the strategy cannot consume the source type the run was started with, the run's definition was refused, the pool address of a dex run is not a pool of its protocol on its chain, the platform has no room to follow the pool of a dex run, the run could not start after several attempts, the strategy failed while processing data, the run lost its data feed, or the generic The run failed.. The set may grow: read an unrecognised sentence as a failure and do not parse it. A FAILED run usually stays desired: RUNNING until you stop it, and counts as active (409 on a new start, and toward your live-run limit) until then; one that cannot run, and will not by waiting, because its strategy cannot consume its source type or because the pool of a dex run is not a pool or has no room to be followed, is stopped by the platform itself (desired: STOPPED), so it holds no place.

    runId: string

    This run's own id — its canonical identity for PATCH/PUT .../params and for GET /live/public.

    sources: LiveSource[]
    stage: "SANDBOX" | "LIVE"

    A new run starts SANDBOX, a 24-hour trial in which it is compared against a second execution and checked for resource use and stability. A run that passes moves to LIVE automatically when the 24 hours are up. A run of a strategy that an earlier run of yours already took through the trial starts LIVE, unless you started it with sandbox: true.

    startedAtMs: number

    Epoch milliseconds.

    state: string

    The run's health right now: STARTING (no runner has reported on it yet), RUNNING, LAGGING (behind the market data, usually while catching up; clears by itself), HUNG (stuck inside one strategy call for longer than allowed; clears when it returns), DEGRADED (its independent executions produced different signals), FAILED (refused, could not start or failed while running; reason says why) or STOPPED. LAGGING, HUNG and DEGRADED come and go on a running run. The set may grow: read an unknown value as a running run with something to look at. See the Live execution guide.

    strategyId: StrategyId
    visibility: "private" | "public"