Retrieve an analysis
/api/sdk/v1/analyses/{analysisId}Authorization
bearerAuth A personal access token created in the inklet portal. Server-side use only.
In: header
Path Parameters
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/sdk/v1/analyses/string"{ "id": "string", "mode": "ai", "trigger": "api", "state": "queued", "outcome": "presentations", "noChangeReason": "string", "contentIds": [ "string" ], "context": "submitted", "scope": { "since": "string", "sinceAt": "2019-08-24T14:15:22Z" }, "intent": "string", "title": "string", "target": { "displayId": "string", "displayIds": [ "string" ], "output": { "formats": [ "scene" ], "preset": "string", "viewport": { "width": 1, "height": 1 }, "colorMode": "color", "pixelRatio": 1 } }, "presentationIds": [ "string" ], "failure": { "code": "string", "message": "string", "stage": "string", "retryable": true, "assetIndex": 0 }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Create an analysis POST
Starts an agent run over the named contents, the user's earlier contents, or both. Accepted work is returned immediately with `state: "queued"`; follow it with the event stream or by re-reading the analysis. `mode: "ai"` requires an active Pro subscription. `mode: "direct"` shows one uploaded PNG or JPEG without AI and is available on every plan. Omitting `target` asks the agent to choose the displays — which needs at least one usable display on the account, or the request is refused with `422 no_compatible_display` before anything is created.
List analysis events GET
One page of the public event stream, oldest first. Pass the previous page's `nextAfter` as `after` to continue, and read `state` to know whether the run is over. The stream is a progress report, not the run's log. The agent's turns, its individual tool calls and their arguments and output, and the sentences a rejected plan was faulted for are not part of the public API at any depth — a `detail` query parameter is rejected with `400`. `seq` is monotonic but **not contiguous**: it is shared with events that are not published, so a public page skips numbers. Treat it as an ordering and a resume token, never as a count.