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 |
/partners |
listPartners |
POST |
/partners |
createVerifiedPartnerTenant |
GET |
/partners/{id} |
getPartners |
PATCH |
/partners/{id} |
updatePartnerConfiguration |
GET |
/market-maker-mandates |
listMarketMakerMandates |
POST |
/market-maker-mandates |
createMarketMakerMandate |
GET |
/market-maker-mandates/{id} |
getMarketMakerMandates |
PATCH |
/market-maker-mandates/{id} |
supersedeMarketMakerMandates |
GET |
/partner-portfolios/{partnerId} |
getPartnerPortfolio |
POST |
/partner-portfolios/{partnerId}/proposal-preparations |
preparePartnerProposal |
POST |
/partners/{id}/revoke |
revokePartnerTenant |
GET |
/partner-consents |
listPartnerConsents |
POST |
/partner-consents |
grantPartnerConsent |
GET |
/partner-consents/{id} |
getPartnerConsent |
POST |
/partner-consents/{id}/revoke |
revokePartnerConsent |
GET |
/market-maker-mandates/{id}/observations |
listMarketMakerEvidence |
POST |
/market-maker-mandates/{id}/observations |
ingestMarketMakerEvidence |
List white-label partner tenants#
GET /partners
Operation ID: listPartners
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 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerTenant | — |
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.
Bind brand configuration to fresh signed exact-domain verifier evidence#
POST /partners
Operation ID: createVerifiedPartnerTenant
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 |
— |
Request body#
Required: yes.
application/json
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
payload |
Yes | PartnerTenantCreate | — |
evidenceHashes |
No | Array of Hash | Max items: 256 |
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 |
|---|---|---|
201 |
Host-unique partner configuration bound to current verifier generations | application/json: object |
409 |
Host already bound | No response body declared |
201 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerTenant | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
409 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
Get one white-label partner tenants aggregate#
GET /partners/{id}
Operation ID: getPartners
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 |
— |
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerTenant | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
404 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
Append an explicitly reviewed partner generation after current domain verification#
PATCH /partners/{id}
Operation ID: updatePartnerConfiguration
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 |
|---|---|---|---|
payload |
Yes | PartnerTenantCreate | — |
evidenceHashes |
No | Array of Hash | Max items: 256 |
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 active configuration generation; existing issuer consent requires regrant | application/json: object |
409 |
Domain already bound or configuration lifecycle conflict | No response body declared |
412 |
Selected partner configuration changed | No response body declared |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerTenant | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
409 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
412 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
List market-maker mandates#
GET /market-maker-mandates
Operation ID: listMarketMakerMandates
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 | MarketMakerMandate | — |
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 a monitoring-only market-maker mandate with an AMM comparison benchmark#
POST /market-maker-mandates
Operation ID: createMarketMakerMandate
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 |
— |
Request body#
Required: yes.
application/json
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
payload |
Yes | MarketMakerMandate | — |
status |
No | OperatingSystemRecordStatus | — |
evidenceHashes |
No | Array of Hash | Max items: 256 |
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 |
|---|---|---|
201 |
Mandate and deterministic monitoring-only comparison | 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.mandate |
Yes | All of: RecordEnvelope; object |
— |
data.mandate.allOf[2].payload |
Yes | MarketMakerMandate | — |
data.oversight |
Yes | MarketMakerOversight | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Get one market-maker mandates aggregate#
GET /market-maker-mandates/{id}
Operation ID: getMarketMakerMandates
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 | MarketMakerMandate | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Pause or revoke a mandate without replacing signed economics#
PATCH /market-maker-mandates/{id}
Operation ID: supersedeMarketMakerMandates
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 |
— |
If-Match |
header | Yes | string |
— |
id |
path | Yes | string |
— |
Request body#
Required: yes.
application/json
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
status |
No | string |
Allowed: PAUSED, REVOKED |
evidenceHashes |
No | Array of Hash | Max items: 256 |
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 bounded supersession accepted with deterministic evidence | application/json: object |
400 |
Payload or safety transition is outside this bounded operation | No response body declared |
409 |
Typed authority workflow is required | No response body declared |
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 | MarketMakerMandate | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Read issuer aggregates only where bilateral partner consent is active#
GET /partner-portfolios/{partnerId}
Operation ID: getPartnerPortfolio
Authentication: __Host-klineo_session cookie (sessionCookie)
Parameters#
| Name | Location | Required | Type | Description and constraints |
|---|---|---|---|---|
x-klineo-organization-id |
header | Yes | string |
— |
partnerId |
path | Yes | string |
— |
Responses#
| Status | Description | Content type and schema |
|---|---|---|
200 |
Privacy-reduced portfolio view | application/json: object |
403 |
Partner role or issuer consent absent | No response body declared |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
200 application/json body
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
data |
Yes | PartnerPortfolio | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
403 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
Prepare an issuer import packet through exact current bilateral consent without cross-tenant or Safe authority#
POST /partner-portfolios/{partnerId}/proposal-preparations
Operation ID: preparePartnerProposal
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 |
— |
partnerId |
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 |
|---|---|---|---|
issuerOrganizationId |
Yes | string |
Min length: 3; Max length: 160 |
proposal |
Yes | ProposalWorkspaceInput | — |
requestExternalDelivery |
No | boolean |
Default: false |
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 |
|---|---|---|
202 |
Consent-mediated approval-empty issuer inbox packet prepared; optional configured external delivery queued | application/json: object |
400 |
Prepared packet attempted derived approval/Safe fields or has invalid expiry | No response body declared |
403 |
Current bilateral actor-scoped consent is absent | No response body declared |
409 |
Requested external partner integration is unavailable | No response body declared |
412 |
Issuer consent or partner configuration generation changed | No response body declared |
202 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
202 application/json body
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
data |
Yes | PartnerProposalPreparationResult | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
400 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
403 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
409 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
412 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
Immediately remove all host bindings for a partner configuration#
POST /partners/{id}/revoke
Operation ID: revokePartnerTenant
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 partner version | application/json: object |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerTenant | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
List the issuer tenant’s current bilateral consent records#
GET /partner-consents
Operation ID: listPartnerConsents
Authentication: __Host-klineo_session cookie (sessionCookie)
Parameters#
| Name | Location | Required | Type | Description and constraints |
|---|---|---|---|---|
x-klineo-organization-id |
header | Yes | string |
— |
Responses#
| Status | Description | Content type and schema |
|---|---|---|
200 |
Tenant-isolated consent versions | application/json: object |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerIssuerConsent | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Grant or regrant explicit actor-scoped bilateral access#
POST /partner-consents
Operation ID: grantPartnerConsent
Authentication: __Host-klineo_session cookie (sessionCookie)
Conditional version precondition: A consent already exists for partnerId.
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 |
— |
If-Match |
header | No | string |
Pattern: ^"[^"\\ ]+"$ |
Request body#
Required: yes.
application/json
Responses#
| Status | Description | Content type and schema |
|---|---|---|
201 |
Append-only active issuer consent | application/json: object |
412 |
Existing consent version changed | No response body declared |
201 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerIssuerConsent | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
412 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
Read one issuer-owned partner consent#
GET /partner-consents/{id}
Operation ID: getPartnerConsent
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 consent version | application/json: object |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerIssuerConsent | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Immediately revoke portfolio and proposal-preparation access#
POST /partner-consents/{id}/revoke
Operation ID: revokePartnerConsent
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 consent version | application/json: object |
200 response headers
| Header | Required | Type | Description and constraints |
|---|---|---|---|
Cache-Control |
Yes | Constant private, no-store |
— |
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 | PartnerIssuerConsent | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
List provenance-preserving market-maker observations and reconciliation state#
GET /market-maker-mandates/{id}/observations
Operation ID: listMarketMakerEvidence
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 |
Append-only market-maker evidence | application/json: object |
200 application/json body
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
data |
Yes | Array of OperatingSystemEvent | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Ingest a finalized onchain or signed API/file/exchange observation without custody authority#
POST /market-maker-mandates/{id}/observations
Operation ID: ingestMarketMakerEvidence
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
Responses#
| Status | Description | Content type and schema |
|---|---|---|
201 |
Signed provenance and reconciliation event appended | application/json: object |
201 application/json body
object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
data |
Yes | MarketMakerEvidenceResult | — |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.