Every call to Minion Agent's Api returns one of the codes below. This page is the one place they're explained -- each individual endpoint page just lists which of these it can actually return, and links back here instead of re-explaining what each one means.

Code Name What it means
200 OK The call succeeded and the body has what you asked for.
201 Created Something new was created; the body describes it.
202 Accepted The request was accepted and queued -- it hasn't necessarily finished yet. Used by anything that hands work off to run in the background (starting a job, for example); check back with the matching status call to see how it turned out.
204 No Content The call succeeded. There's nothing to hand back.
400 Bad Request The request itself was invalid -- missing or malformed input, or (as of this version) a missing X-App-Name header. The body is a plain-text message saying what was wrong.
401 Unauthorized Signing in failed -- wrong username/password, or an expired/invalid session token.
403 Forbidden You're signed in fine, but not allowed to do this specific thing. The body is JSON: { "error": "<reason>" }.
404 Not Found Whatever you asked for doesn't exist -- or, for a status check on something still running, just hasn't produced a result yet. That second case is normal, not a failure.
409 Conflict The action can't happen right now because something else has to be resolved first (a name that's already in use, a thing that's still referenced elsewhere and has to be detached before it can be removed).
500 Internal Server Error Something went wrong on the server's end.

Two things worth knowing if you're building against this for real

X-App-Name is required on every call, no matter what. Leave it out and you get a 400 before anything else even runs -- see Calling the API From Your Own Code for why and how to set it.

Deserializing responses in C#? The Api sends JSON as camelCase (runCorrelationId, not RunCorrelationId). A plain PascalCase C# record won't match that by default -- fields silently come back null instead of throwing, which is a much harder bug to notice. Every C# example in this guide sets this once and reuses it:

var jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web);

...and passes jsonOptions into every ReadFromJsonAsync/GetFromJsonAsync/PostAsJsonAsync call. PowerShell's Invoke-RestMethod doesn't have this problem -- its property access is already case-insensitive.