Skip to main content

The twin object

For a failed twin, retryable says whether uploading the same trace again may succeed. A failed run is never charged.

Create a twin

POST /v1/kennet/twins, as multipart/form-data. Send an Idempotency-Key header so a retried request never starts a second run.
The response is 202 Accepted with the twin, queued, and a Location header naming it. A live run checks your organization’s balance first: 402 out_of_credit means it is used up and nothing was started.

Retrieve a twin

GET /v1/kennet/twins/{id} returns the twin as it stands now. A twin belongs to the organization and mode of the key that made it. Any other key gets 404 resource_missing.

List twins

GET /v1/kennet/twins returns your twins, newest first.
While has_more is true, pass the last twin’s id as starting_after to get the next page.

Download a twin’s content

GET /v1/kennet/twins/{id}/content streams the twinned file once the twin has completed. The Content-Type follows the uploaded file’s extension:

What is kept

  • The upload is deleted when its run ends, whether it completed or failed.
  • The twin’s content is kept for 7 days after it completes, and only your organization’s keys reach it in the mode that made it.
  • The table of what became what is neither returned nor stored.