Klineo/Docs
Open app ↗

API reference

Partners, consent and market makers

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.

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 —

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.

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

PartnerConsentGrantRequest

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 —

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

MarketMakerEvidenceRequest

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.