d0fc0114da66
Authorize a mablnet Host to join a Link Label's tunnel
Validates a HostCredentials blob presented by a mablnet client (Link Agent, execution Host, or future desktop-app Host) and returns the tenantId / hostIdentity / validUntil triple the mablnet protocol needs to admit the client. Internally called by Link Router on every carrier-join — see mablnet-client-authorization.md in link/mablnet/docs for the full design. Three caller types are accepted, all auth'd against the standard mabl-api chain: link_agent API keys (workspace-scoped Link Agent keys), execution API keys (workspace-scoped, TTL'd, minted per test run), or user OAuth tokens (workspace members with write permission, mabl support admins included). The request body's workspace_id is cross-checked against the auth principal. Failure semantics: 401 for bad credential / malformed body / stale issued_at / replayed nonce / (link_agent callers only) host_id not matching any active Link Agent; 402 for billing-suspended or LINK feature disabled; 403 for auth principal not authorised on workspace_id; 5xx for transient backend failures including Redis-unavailable (fail-closed on the nonce cache).
Request body
Response
Authorization granted