Skip to content

docs(binary): one problem type per status on binary datapoint refusals - #80

Open
JosteinGj wants to merge 3 commits into
masterfrom
docs/binary-problem-types
Open

JosteinGj wants to merge 3 commits into
masterfrom
docs/binary-problem-types

Conversation

@JosteinGj

Copy link
Copy Markdown
Contributor

What changed

IntelliStream-DataHub/datahub-platform#120 stops answering every POST /timeseries/data/binary refusal with datapoint-block-rejected. Each status now has its own type; reason, frameIndex, timeseriesIds and the statuses are unchanged.

Status type
400 invalid-frame
404 unknown-timeseries
413 request-too-large
415 unsupported-media-type
422 value-type-mismatch / external-id-mismatch
429 too-many-in-flight

Pages

  • reference/binary-datapoints.md: §Responses intro, JSON example (now the 422 external-id-mismatch) and a type column in the status table; caps table row for the compressed body.
  • reference/limits.md: summary table row, §Request body size, §Binary frame caps.
  • reference/client.md: the binary row of the retry table.

Pre-existing error fixed

limits.md said a body over the binary endpoint's raw byte cap got datapoint-block-rejected with reason: "request-too-large". The request-body-size filter has always sent request-too-large with limitBytes and no reason. The caps table in binary-datapoints.md implied a reason for that row too.

Merge after IntelliStream-DataHub/datahub-platform#120 ships; until then these pages would describe types the API does not send yet.

🤖 Generated with Claude Code

JosteinGj and others added 2 commits September 18, 2026 10:07
datahub-platform#120 (errors/9-binary-problem-types) replaces the single
datapoint-block-rejected type with invalid-frame, unknown-timeseries,
request-too-large, unsupported-media-type, value-type-mismatch,
external-id-mismatch and too-many-in-flight. reason, frameIndex,
timeseriesIds and statuses are unchanged.

Updates the responses example and table, the limits summary and frame caps,
and the client retry table. Also fixes a pre-existing error: limits.md said a
body over the raw byte cap got datapoint-block-rejected with a reason, and the
binary caps table implied a reason; it was always request-too-large with
limitBytes and no reason.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: jgjesdal <jostein@intellistream.ai>
datahub-platform#120 (b3412ec0) split the single datapoint-block-rejected type,
which answered 400, 404, 413, 415, 422 and 429 depending on the case, into one
type per status: invalid-frame, unknown-timeseries, request-too-large,
unsupported-media-type, value-type-mismatch, external-id-mismatch and
too-many-in-flight. RFC 9457 gives a type one status. The commit before this one
takes datapoint-block-rejected out of the responses table and example, the
limits summary row and frame-caps prose, and the client retry row.

Two facts that table does not carry on its own. request-too-large and
unsupported-media-type are the API-wide types rather than this endpoint's, so
the same condition answers the same way whichever path produced it, and a client
that already handles them needs nothing new. And the retired type is worth
naming once: a client matching on datapoint-block-rejected now matches nothing,
while reason survives unchanged as the stable sub-code, so one matching on
reason keeps working.

The Rust SDK reads the two stale-series types off the problem on branch
fix/binary-stale-series-typed-problems.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: jgjesdal <jostein@intellistream.ai>
@JosteinGj
JosteinGj force-pushed the docs/binary-problem-types branch from ef12987 to 4a0a6c4 Compare September 18, 2026 08:12
A reader counting rows in the table above finds seven, not six, because 422
has two. Name the statuses instead of counting them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: jgjesdal <jostein@intellistream.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant