LinkMablnet

Get the current mablnet peer-CA trust bundle for a link infrastructure cluster

Changed on

Returns the publisher-signed envelope carrying the X.509 root certificate(s) every mablnet client trusts as peer-CA roots when verifying mabl-side Host certs during the peer-to-peer QUIC TLS handshake. One bundle per link infrastructure cluster: the shared cluster's unless infrastructure_key names a dedicated one, and the same bundle for every caller asking for that cluster. A dedicated cluster's envelope carries its key in a signed cluster field, which a caller must check against the key it asked for; the shared cluster's has none. Bundle bytes come from the cluster's published trust bundle — the same anchors its Link Routers load on startup. More than one anchor may be present: a root rotation publishes the incoming anchor alongside the outgoing one, and callers should trust every certificate in the envelope. The anchors are non-secret — X.509 root certificates are public artefacts by definition; protection here is integrity, not confidentiality. Auth is required for attribution / rate-limiting / audit, not because the bytes are sensitive. Integrity is what the envelope provides, and it is the only thing that makes these anchors safe to fetch: a caller must verify the signature against a publisher key it already holds, and must not accept anchors from anywhere else in this response. Conditional refetch: callers send their last-known ETag as If-None-Match on each poll. The server returns 304 Not Modified (no body) when the bundle is unchanged. The current ETag is mirrored in both the standard ETag header and the mabl-specific x-mabl-entity-version header (the latter survives upstream gzip-Vary stripping).

get/link/mablnet/peer-ca

Request

  • Base URL: https://api.mabl.com
  • URL: https://api.mabl.com/link/mablnet/peer-ca
  • Auth: one of:
    • HTTP basic
    • API key in header Authorization

Query parameters

infrastructure_keystring

Link infrastructure key of the cluster whose bundle to return, as reported by link_infrastructure_key on the Link Agent or infrastructure_key on a resolved tunnel. Omit it, or pass mabl, for the shared cluster.

Headers

If-None-Matchstring

Last ETag the caller observed; server returns 304 when current ETag matches.

Response

Current bundle returned in body; current ETag in headers.

operator_public_keystring

Base64-encoded X.509 SubjectPublicKeyInfo of the deployment's operator-token Ed25519 public key. A Host registers the mablnet-operator command service (and verifies per-command operator tokens) against this key. Absent when the deployment has no operator-token signing key configured — in that case the Host runs without the operator interface.

signed_bundlestring required

The publisher-signed trust envelope, forwarded byte-for-byte as it was published. An Agent verifies these exact bytes against the publisher key embedded in its own binary and takes its trust anchors from inside the envelope, which is what makes the anchors safe to fetch over a channel the Agent cannot authenticate — most customers run TLS-intercepting proxies, so the Agent does not verify this connection's certificate. Carried as an opaque string rather than as fields on this schema on purpose: the signature covers the bytes the publisher produced, and spreading them across this schema would mean reserialising them through a generated model that silently drops any field it does not yet know about. Do not parse, reformat, or re-emit it — pass it through. Always present when this endpoint returns 200. An unsigned trust bundle is refused rather than served, because anchors an Agent cannot verify are the problem the signature exists to solve; the endpoint reports the deployment as unconfigured until the bundle has been published signed.

Changes

    • info

      added the new optional query request parameter infrastructure_key

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • breaking

      removed the required property from the response with the status

    • info

      added the required property to the response with the status