Skip to main content
GET
Get Cycle Scores
Use this route after a lost response or to reconcile a cycle. It returns the stored result for that cycle and does not trigger scoring or an LLM call. The original deduplication report is returned unchanged, even if its status was partial or unavailable and background checks have since completed. New verdicts can appear in a new cycle’s response; this route does not poll for updated deduplication results. Cycles completed before this extension may omit deduplication. A historical response stays unchanged even if a later cycle refreshes the same post’s score or removes that post. Check cycle identity and scoring time before using any result. A successful retrieval does not make a late or stale response eligible for the current decision cycle. A 404 means the requested final result is not available. The durable store preserves completed responses across process restarts. A request can have a recorded receipt or durable prepared scores while it is still waiting or after interruption, so a 404 is not proof that it was never received. Replay the unchanged request to complete it; an existing preparation is resumed without repeating ingestion or scoring. GET does not expose an unfinished preparation. Verify volume recovery before rehearsal. Keep unacknowledged data until it is reconciled. The response example is the same proposed cycle result documented under Score a Cycle.

Authorizations

Authorization
string
header
required

Proposed API key sent as the whole Authorization header value. One long-lived key, handed privately to the partner contact and rotated on either side's request. Per-endpoint scopes are not currently enforced.

Path Parameters

cycle_id
string
required

The cycle id sent in the original call.

Pattern: ^\d{8}T\d{4}$
Example:

"20260929T0205"

Response

The response stored for this cycle.

cycle_id
string
required

Echoed from the request.

Pattern: ^\d{8}T\d{4}$
Example:

"20260929T0205"

cycle_time
string<date-time>
required

Echoed from the request.

Pattern: ^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$
Example:

"2026-09-29T02:05:00+09:00"

received_at
string<date-time>
required

First valid receipt of this cycle ID, preserved across failed inference retries and completed replays.

Pattern: ^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$
Example:

"2026-09-29T02:05:03+09:00"

scored_at
string<date-time>
required

Actual scoring completion time sampled after the full inference batch. Measure client receipt time separately.

Pattern: ^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:[Zz]|[+-]\d{2}:\d{2})$
Example:

"2026-09-29T02:05:09+09:00"

model_version
string
required

Version reported by the actual loaded Model 0924 adapter and configured down-vote coefficient. No environment-only label override or proxy scorer is used.

Example:

"model0924-downvote0"

weights_version
string
required

Weights that actually produced this cycle's scores. Verify that refreshed scores and their version match; do not relabel cached scores.

Example:

"w0924-downvote0"

counts
object
required

Row counts for this cycle.

missing_feature_share
number
required

Fraction of missing request counter fields. This does not count missing values across the model feature set and is not a rehearsal acceptance metric.

Required range: 0 <= x <= 1
Example:

0.11

warnings
string[]
required

Implementation warnings. Unknown fields are not guaranteed to be listed. An empty list does not prove model or data readiness.

Example:
results
object[]
required

One result per pending candidate under the proposed refresh policy. Scores may change across new cycles; replay of a completed cycle is unchanged. Removed posts are absent from subsequent cycles.

deduplication
DeduplicationReport · object | null

Persisted LLM same-event rankings and honest unchecked coverage for main/light. Every raw score remains in results. Omitted for legacy completed cycles. Partial/unavailable completed reports remain immutable on POST replay and GET.