SG Ground Truth

Recorded behaviour of the Flow Production Tracking REST API.

The REST documentation is incomplete and in places wrong. Every entry here is what a live site answered when a script asked it. The scripts are in the repository and run against any site.

How it works Read it on GitHub

Who is it for

YouEvery entry is a page on this site. Start with the entity types.
Your agentGiven proper instructions, it has a ground truth to refer to and probes it can run to check a claim.
Your codeFPT is the client every probe here uses, so what the corpus records is what it does. Call the API with it.
Your siteLive data about your entity types, the fields in use, your status vocabularies and your projects.

Recipes are a call and the response it returned. The corpus has them. /sg-groundtruth-adopt writes new ones from code you already have.

Start here

Four commands. The last one asks what you want run, then measures your site and rebuilds these pages with your own entities, fields, status vocabularies and projects in them.

In a terminal
# the corpus, the probes that produced it, and the setup command
git clone https://github.com/ksallee/sg-groundtruth
cd sg-groundtruth

# start your agent from inside the clone, so it loads the repository's commands
claude
Then, in the agent
/sg-groundtruth-setup

Read-only. Nothing is written without --write, and what it measures stays in corpus.local/, which is gitignored. What the command does, step by step.

Why it exists

Some Flow PT API calls fail silently. They answer 200 and do not do what you asked. They are documented here.

you do thisthis happens
Sort on a misspelled field200. The sort is ignored, rows come back id ascending, and nothing says so 026
Page until links.next is absentIt is never absent. It is emitted on zero-row pages too. Stop when data is empty 006
Create rows in a batchYou get an id per row. A batch can return an id for a row it never made 028

Every entry was measured by a script user with broad access. The API is the same for every caller, but what it returns is filtered by permission, so a lower-permission account may see fewer rows and fewer fields than an entry records.

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.