Aglet

Triage an API request schema rejection

A request can look complete in the feature and still be invalid on the wire. Start with one rejected operation and compare domain input, serialized bytes, content type, and field-level response detail. Keep local validation, encoding, and remote contract rules separate until the first mismatch is visible.

Establish what is happening

  1. Freeze the rejected shape

    Save the operation, environment, client revision, content type, and redacted request shape. Record required fields, nulls, arrays, and types before serialization. Pair the expected result with the status and error detail so a proxy or parser failure is not called validation.

  2. Compare domain and wire input

    Inspect the object before encoding and the exact serialized form sent to the endpoint. Look for renamed keys, stringified numbers, dropped nulls, array conventions, and character encoding. Check whether the server saw the body or rejected the request before application validation.

  3. Bound field impact

    Group failures by operation, field, client revision, environment, and response code. Separate missing required data, wrong type, unknown property, and a business rule. If the response does not identify a field, preserve that uncertainty rather than guessing from the feature form.

What to carry forward

Triage ends with one redacted request, the first observable mismatch, affected operation cohort, and missing evidence list. Hold broad serializer changes until the contract boundary is named. Route a specific field or encoding question to the next owner.

Technical background: RFC Editor reference.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow