HYBRID-CHAINDEVELOPERS
DOCUMENTATIONv2
POST

Price feeds

Create access ticket

/api/v2/price-feed-tickets
AUTHENTICATIONBearer token · pricing:writeAUTHORITATIVE OWNERmarket-data-serviceCONTRACT AUTHORITYCapability registry · plannedSTATUSPlanned · not executable
PLANNING CONTRACT · NOT CALLABLE

This page describes intended capability and integration boundaries so people and agents can prepare safely. Do not send this request or register it as an executable tool. Wait until the capability registry marks it implemented-contract, then re-fetch the deployed OpenAPI document and build the request from that machine contract.

PURPOSE + BUSINESS CONTEXT

Planned capability: plan short-lived scoped ticket issuance. No public ticket issuer exists in the authoritative owner yet.

WHEN THIS CALL IS USEFUL

Do not call or register this operation as an executable agent tool yet. Use this page to plan the future access ticket workflow; enable it only after the status becomes implemented-contract and the exact operation appears in deployed OpenAPI.

OUTCOME · Planned · Create or advance

What changes

None today: this route is not executable. Its intended behavior is: no executable public behavior exists. Core can only record that an already-issued ticket was observed for an ACTIVE subscription; it cannot mint, sign, scope, expire, or return one.

WHY IT MATTERS

  • Lets people and agents prepare for access ticket without falsely presenting roadmap scope as a live capability.
  • Gives people and agents a contract-backed way to advance access ticket.
  • Separates subject identity, consent, evidence, provider output, review, issuer credentials, and relying-party acceptance instead of collapsing them into a universal trust score.

ISOLATION + AUTHORITY

Bearer subject, tenant, purpose, policy version, role, issuer, reviewer, provider, and relying-party boundaries remain distinct. The response or transition grants no payment, custody, settlement, publisher, matching, or trading authority and must not expose regulated evidence beyond the live schema. This planning record grants no runtime authority, and only deployed OpenAPI can define an executable public contract.

BEFORE YOU CALL

  • First confirm that this operation is marked implemented-contract and exists in the currently deployed OpenAPI document; until then, no production request is valid.
  • Its capability-registry profile is provisional integration guidance, not an executable request schema.
  • Authenticate at the documented boundary: bearer+scope.
  • Treat the proposed subscription_uuid (body), feed_uuids (body), transport (body), audience (body), purpose (body), client_nonce (body) as planning input only; re-generate the request from deployed OpenAPI before making a call.
  • Use one Idempotency-Key only for retries of the same byte-equivalent logical mutation.
  • Resolve the applicable purpose, policy version, consent or role basis, and required assurance before relying on this result.

WHAT TO DO NEXT

  • Keep this operation disabled in clients, agents, SDKs, and workflow automation while it remains planned-contract.
  • Use the stated owner, lifecycle, authority boundary, and provisional access ticket profile to prepare requirements and conformance tests without sending a request.
  • Monitor the capability registry for implemented-contract, then re-fetch deployed OpenAPI and validate its exact security, parameters, schemas, responses, and agent metadata before enabling the integration.

AGENT GUIDANCE

  • Never call this planned contract, include it in an executable tool registry, or infer runtime availability from this readable page.
  • Its capability-registry profile is provisional integration guidance, not an executable request schema.
  • Use access ticket only for the purpose and lifecycle stage described by this operation; do not treat it as authority for an adjacent action.
  • Treat the proposed subscription_uuid (body), feed_uuids (body), transport (body), audience (body), purpose (body), client_nonce (body) as planning input only; re-generate the request from deployed OpenAPI before making a call.
  • Treat policy availability, consent, evidence capture, completed checks, review, decision, credential issuance, validity, and relying-party acceptance as separate facts.
  • After a timeout or conflict, read authoritative state before deciding whether an equivalent retry is safe.
  • When implementation lands, discard generated requests based on this planning record and rebuild them from the deployed OpenAPI operation.
MACHINE CONTRACT

This operation is a non-executable planning contract. Its capability-registry record defines the intended owner, parameters, responses, and integration boundary until an implemented Rust OpenAPI operation replaces it.

EXTENDED INTEGRATION GUIDANCE

Readable request and response reference

Examples describe the reviewed planning contract and remain non-executable until promoted into OpenAPI.

PARAMETERS

Headers, path, query, and body

NAMELOCATIONPRESENCETYPE / RULES / PURPOSE
AuthorizationheaderRequired

Bearer tokenCredential containing the pricing:write scope.EXAMPLEBearer hc_live_…

Idempotency-KeyheaderRequired

ASCII string · 1–128Caller-generated key reused for every retry of the same logical mutation.EXAMPLEticket-treasury-btc-usd-20260901-01

Content-TypeheaderRequired

application/jsonSigned mutations accept canonical JSON only.EXAMPLEapplication/json

Content-DigestheaderRequired

RFC 9530 SHA-256 digestDigest of the exact transmitted body bytes.EXAMPLEsha-256=:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=:

Signature-InputheaderRequired

RFC 9421 signature parametersCovers @method, @path, content-digest, content-type, and idempotency-key; includes keyid, nonce, created, and expires.EXAMPLEsig1=("@method" "@path" "content-digest" "content-type" "idempotency-key");created=1786582800;expires=1786583100;nonce="01J…";keyid="machine-prod"

SignatureheaderRequired

Ed25519 HTTP Message SignatureSignature made by an active public key registered to the authenticated client.EXAMPLEsig1=:base64-signature:

subscription_uuidbodyRequired

32-character hexadecimal identifierFuture ACTIVE workspace-owned delivery contract, freshly reconciled through the subscription detail route.EXAMPLE05aa9566990f42fa8e8e74624d4ec906

feed_uuidsbodyRequired

32-character hexadecimal identifier[] · 1–100 uniqueExact subset of currently enabled subscription feeds. Foreign, disabled, or unsubscribed feeds must fail closed.EXAMPLE["8c1490adbe524bb79b8be0618e58fe55"]

transportbodyRequired

WEBSOCKET | SSESingle future delivery transport. The ticket cannot be redeemed through another transport.EXAMPLEWEBSOCKET

audiencebodyRequired

allowlisted service audience · 1–255Exact owner-configured delivery-service audience. Arbitrary URLs, redirects, and caller-selected internal hosts are forbidden.EXAMPLEwss://prices.hybrid-chain.com/v2/delivery

purposebodyRequired

string · 8–160Retained purpose limitation. It grants no extra feed, workspace, transport, or business authority.EXAMPLETreasury valuation evidence stream

requested_expires_in_secondsbodyOptional

integer · 30–300Requested short lifetime; owner policy may shorten it and must not outlive the subscription or bearer.EXAMPLE120

client_noncebodyRequired

single-use URL-safe string · 16–128Caller nonce bound into the future signed ticket and atomically reserved against replay.EXAMPLEprice-ticket-01K43J7F9T2YQ8M6

REQUEST

JSON body example

{
  "subscription_uuid": "05aa9566990f42fa8e8e74624d4ec906",
  "feed_uuids": [
    "8c1490adbe524bb79b8be0618e58fe55"
  ],
  "transport": "WEBSOCKET",
  "audience": "wss://prices.hybrid-chain.com/v2/delivery",
  "purpose": "Treasury valuation evidence stream",
  "requested_expires_in_seconds": 120,
  "client_nonce": "price-ticket-01K43J7F9T2YQ8M6"
}

RESPONSES

Status and payload examples

501Profiled planning contract only; no authoritative public ticket issuer exists and this operation is absent from live OpenAPI.Not executable · JSON RESPONSE+
{
  "code": "planned_contract",
  "message": "Price-feed ticket issuance is not available."
}
INTEGRATION DECISIONplanned_contract
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from workspace price-feed definitions, source mappings, observations, quality status, subscriptions, and delivery receipts through an implemented operation.
ESCALATE WHEN
Escalate when source identity, observation time, confidence, staleness, entitlement, or delivery evidence cannot be reconciled.

OPERATIONAL NOTES

Security and lifecycle guarantees

  • This profile is for design, owner review, and conformance planning only. Agents must not send it, synthesize a credential, or treat the example as executable until the operation appears in the live production OpenAPI document.
  • A future issuer must derive workspace and network from the bearer, require an ACTIVE owner-scoped subscription, limit feed_uuids to enabled entitlements, and allow only configured audience and transport pairs.
  • A promoted success response must return the secret exactly once under no-store and include public issuance metadata: ticket identifier, subject, workspace, network, subscription, exact feeds, audience, transport, issued_at, expires_at, signing key identifier, and redemption posture.
  • Treat the future ticket secret like a password. Never place it in a URL, prompt, log, analytics event, browser storage, crash report, or persistent agent memory; nonce and ticket redemption state must be reserved atomically.
  • The ticket could read only its bound price evidence. It cannot publish observations, enable ingress, trade, match, settle, move value, widen a subscription, change market status, or route unrelated traffic.
DOCUMENTATION STATUS

This planned contract now defines its public parameters, authorization boundary, replay behavior, responses, and authoritative owner. It remains non-executable until its owner adapter and conformance tests are promoted into the Rust gateway.

Return to the V2 directory