Servers

Submit Host Profile

Register a host class (sek8s discover-profile.sh output) so Chutes can measure it.

One of four distinct operations: this REGISTERS, POST /servers/tdx/host_profiles/status RESOLVES a class (is it known, and for which images), POST /servers/tdx/preflight CHECKS whether one specific image can boot, and GET /servers/tdx/host_profiles LISTS the generated set. A miner reaches this only when the status lookup reports the class is not on file. The API owns the fingerprint -- the miner sends raw platform metadata and gets back the class's retention lifecycle, which only ever advances:

  • accepted -- a measurement has already been generated for this class; retained from here on
  • pending -- parked in object storage, awaiting its first measurement generation

A real submission is always stored, so this never returns unknown. It answers only whether the class has been measured at all; whether the caller's specific image can boot is preflight's job. Signed by the miner hotkey, so the signature covers the request body.

post/servers/tdx/host_profiles

Headers

X-Chutes-Hotkeystring nullable
X-Chutes-Signaturestring nullable
X-Chutes-Noncestring nullable
Authorizationstring nullable

Request body

Response

Successful Response

fingerprintstring required
status'accepted' | 'pending' | 'unknown' required

Retention lifecycle of a submitted host class -- monotonic, only ever advances (unknown -> pending -> accepted) and never regresses.

accepted is class-level and version-agnostic: a measurement was generated for this fingerprint at some point, so the class is on the attestable set and retained (its profile is kept for RTMR0 regeneration). It is NOT the answer to "can version X launch here" -- that is POST /servers/tdx/preflight, which joins the caller's (version, rc) to the class's measurements. Submission only reports which of the three the class is in; POST /servers/tdx/host_profiles/status reports the same lifecycle without storing anything.

storedboolean required
detailstring required

Changes

Changed in 4 of the 11 revisions of this API.7195

  • 6543e32b21d37182See the full diff
    • ▲

      added the new required request property /

      new-required-request-property

    • ▲

      added the new required request property /

      new-required-request-property

    • ▲

      added the new required request property /

      new-required-request-property

    • ▲

      added the new required request property

      new-required-request-property

    • ▲

      added the new required request property /

      new-required-request-property

    • ▲

      added the new required request property

      new-required-request-property

    • ▲

      the / request property's min was increased to 1.00

      request-property-min-increased

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property /

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ●

      removed the request property

      request-property-removed

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the new optional request property

      new-optional-request-property

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ○

      added the new optional request property /

      new-optional-request-property

    • ○

      added the new optional request property /

      new-optional-request-property

    • ●

      deleted the query request parameter dry_run

      request-parameter-removed

    • ○

      endpoint added

      endpoint-added