Klineo/Docs
Open app ↗

API reference

Simulation studies and sharing

Paths on this page are relative to /api/liquidity-studio/v2. Authentication and required headers vary by operation.

API reference overview · OpenAPI download

Operations on this page#

Method Path Operation
GET /studies listStudies
POST /studies createStudies
GET /studies/{id} getStudies
GET /study-shares listStudyShares
GET /study-shares/{id} getStudyShares
POST /sandbox/studies runNonCustodialSandboxStudy
POST /studies/{id}/share-links createStudyShareLink
POST /study-shares/{id}/revoke revokeStudyShareLink
POST /studies/{id}/reports createSignedStudyReport
GET /studies/{id}/report-jobs listStudyReportJobs

List simulation studies#

GET /studies

Operation ID: listStudies

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:read (serviceCredential)

Service scope: studies:read. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
x-klineo-organization-id header Yes string —
cursor query No string Opaque cursor returned in the previous response metadata.
limit query No integer Default: 50; Minimum: 1; Maximum: 100

Responses#

Status Description Content type and schema
200 Latest tenant-isolated aggregate versions application/json: object

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes Array of All of: RecordEnvelope; object —
data[].allOf[2].payload Yes SimulationStudy —
meta Yes object Additional properties rejected
meta.count Yes integer Minimum: 0
meta.hasMore Yes boolean —
meta.nextCursor No string —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Create simulation studies#

POST /studies

Operation ID: createStudies

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:write (serviceCredential)

Service scope: studies:write. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
Idempotency-Key header Yes string Min length: 8; Max length: 160
x-klineo-organization-id header Yes string —

Request body#

Required: yes.

application/json

SimulationStudyRequest

Responses#

Status Description Content type and schema
201 Append-only aggregate created application/json: object

201 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes Exactly one of: All of: RecordEnvelope; object; object —
data.oneOf[1].allOf[2].payload Yes SimulationStudy —
data.oneOf[2].study Yes All of: RecordEnvelope; object —
data.oneOf[2].study.allOf[2].payload Yes SimulationStudy —
data.oneOf[2].job Yes OperatingSystemJob —
data.oneOf[2].interactive Yes Constant false —
data.oneOf[2].signedReportPending Yes Constant true —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Get one simulation studies aggregate#

GET /studies/{id}

Operation ID: getStudies

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:read (serviceCredential)

Service scope: studies:read. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
x-klineo-organization-id header Yes string —
id path Yes string —

Responses#

Status Description Content type and schema
200 Current immutable aggregate version application/json: object
404 Not found No response body declared

200 response headers

Header Required Type Description and constraints
ETag Yes string —

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes All of: RecordEnvelope; object —
data.allOf[2].payload Yes SimulationStudy —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

List revocable simulation-study shares#

GET /study-shares

Operation ID: listStudyShares

Authentication: __Host-klineo_session cookie (sessionCookie)

Parameters#

Name Location Required Type Description and constraints
x-klineo-organization-id header Yes string —
cursor query No string Opaque cursor returned in the previous response metadata.
limit query No integer Default: 50; Minimum: 1; Maximum: 100

Responses#

Status Description Content type and schema
200 Latest tenant-isolated aggregate versions application/json: object

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes Array of All of: RecordEnvelope; object —
data[].allOf[2].payload Yes StudyShare —
meta Yes object Additional properties rejected
meta.count Yes integer Minimum: 0
meta.hasMore Yes boolean —
meta.nextCursor No string —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Get one revocable simulation-study shares aggregate#

GET /study-shares/{id}

Operation ID: getStudyShares

Authentication: __Host-klineo_session cookie (sessionCookie)

Parameters#

Name Location Required Type Description and constraints
x-klineo-organization-id header Yes string —
id path Yes string —

Responses#

Status Description Content type and schema
200 Current immutable aggregate version application/json: object
404 Not found No response body declared

200 response headers

Header Required Type Description and constraints
ETag Yes string —

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes All of: RecordEnvelope; object —
data.allOf[2].payload Yes StudyShare —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Persist a deterministic non-custodial study with no execution authority#

POST /sandbox/studies

Operation ID: runNonCustodialSandboxStudy

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:write (serviceCredential)

Service scope: studies:write. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
Idempotency-Key header Yes string Min length: 8; Max length: 160
x-klineo-organization-id header Yes string —

Request body#

Required: yes.

application/json

SandboxSimulationStudyRequest

Responses#

Status Description Content type and schema
201 Sandbox study and immutable evidence application/json: object

201 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes object Additional properties rejected
data.study Yes All of: RecordEnvelope; object —
data.study.allOf[2].payload Yes SimulationStudy —
data.sandbox Yes Constant true —
data.custodyAuthorityGranted Yes Constant false —
data.signingAuthorityGranted Yes Constant false —
data.executionAuthorityGranted Yes Constant false —
data.networkCodeExecuted Yes Constant false —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

POST /studies/{id}/share-links

Operation ID: createStudyShareLink

Authentication: __Host-klineo_session cookie (sessionCookie)

Parameters#

Name Location Required Type Description and constraints
Idempotency-Key header Yes string Min length: 8; Max length: 160
x-klineo-organization-id header Yes string —
id path Yes string —

Request body#

Required: yes.

application/json

StudyShareRequest

Responses#

Status Description Content type and schema
201 Revocable share link application/json: object
409 Study is not completed or the permanent public slug is already claimed No response body declared

201 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes All of: RecordEnvelope; object —
data.allOf[2].payload Yes StudyShare —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Immediately revoke a private or public study share without deleting evidence#

POST /study-shares/{id}/revoke

Operation ID: revokeStudyShareLink

Authentication: __Host-klineo_session cookie (sessionCookie)

Parameters#

Name Location Required Type Description and constraints
Idempotency-Key header Yes string Min length: 8; Max length: 160
x-klineo-organization-id header Yes string —
id path Yes string —
If-Match header Yes string Pattern: ^"[^"\\ ]+"$

Request body#

Required: yes.

application/json

object — Additional properties rejected

Field Required at this level Type Description and constraints
reason Yes string Min length: 3; Max length: 500

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Responses#

Status Description Content type and schema
200 Append-only revoked share version application/json: object
412 Strong precondition failed No response body declared

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes All of: RecordEnvelope; object —
data.allOf[2].payload Yes StudyShare —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Queue a signed JSON, PDF, and CSV report#

POST /studies/{id}/reports

Operation ID: createSignedStudyReport

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:write (serviceCredential)

Service scope: studies:write. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
Idempotency-Key header Yes string Min length: 8; Max length: 160
x-klineo-organization-id header Yes string —
id path Yes string —

Request body#

Required: yes.

application/json

SignedStudyReportRequest

Responses#

Status Description Content type and schema
202 Fenced report job application/json: object

202 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes object Additional properties rejected
data.job Yes OperatingSystemJob —
data.source Yes object Additional properties rejected
data.source.id Yes string Min length: 3; Max length: 160
data.source.version Yes integer Minimum: 1
data.source.artifactHash Yes Hash —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

List report job state and dead-letter evidence#

GET /studies/{id}/report-jobs

Operation ID: listStudyReportJobs

Authentication: __Host-klineo_session cookie (sessionCookie) OR OAuth bearer token with studies:read (serviceCredential)

Service scope: studies:read. Session access and workspace roles are evaluated separately.

Parameters#

Name Location Required Type Description and constraints
x-klineo-organization-id header Yes string —
id path Yes string —

Responses#

Status Description Content type and schema
200 Report jobs application/json: object

200 application/json body

object — Additional properties rejected

Field Required at this level Type Description and constraints
data Yes Array of OperatingSystemJob —

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.