SG Ground Truth

Reports

A finding records what the API does and ends in a line telling a caller what to do about it. A report is the same behaviour written for the team that owns the API: what was expected, what happened, a transcript anyone can run, and the change that would fix it.

Each names the entries that measured it rather than restating them, and dates the last time the behaviour was seen. That date is what makes this list the one to re-run after a Flow Production Tracking release.

reportkindstatusconfirmed
batch create skips validation

A create inside POST /entity/_batch skips the required-attribute validation the single-create path applies, and answers 200 with the id of a row no read can reach.

apiunreported2026-09-04
complete upload without bytes

POST links.complete_upload answers 201 and creates an Attachment when the presigned PUT never happened, and nothing on the row separates it from a good upload.

apiunreported2026-09-04
sort fails silently

A sort on an unknown or unsortable field answers 200 with the rows in default order, while the same field name in a filter answers 400 and names the reason.

apiunreported2026-09-04
update mode ignored in query string

multi_entity_update_mode sent as a query parameter is accepted and ignored, and the whole link set is replaced when the caller asked to add.

apiunreported2026-09-04
writing replies deletes rows

A write to Note.replies deletes the Reply rows rather than unlinking them, so PUT with an empty list destroys a thread at 200.

apiunreported2026-09-04
duplicate field name is 201

Creating a custom field whose display name is taken answers 201 for a suffixed field instead of a conflict, and every retry burns a programmatic name no REST call frees.

apiunreported2026-09-04
reference disagrees with spec

Four calls in the published REST reference exist under no spelling in the deployment's own OpenAPI document, which names two of them differently.

docsunreported2026-09-04
jsonb filters return everything

A filter on PageSetting.settings_json or EventLogEntry.audit_trail is accepted and ignored, so the unfiltered set comes back at 200 and is_null and is_not_null each return every row.

apiunreported2026-09-04
attention 500s on bad input

A record id that does not exist on activity_stream is a 500, and the follow body answers 500 for the plural entity name every URL on the API uses while an invalid name answers 400.

apiunreported2026-09-04

Every entry on this site is the output of a probe in probes/. The corpus is generated by running those probes against a live Flow Production Tracking site, not written from memory.

Not affiliated with or endorsed by Autodesk. Flow Production Tracking is their product; this is an independent record of how its REST API answers.