Build virtual machine (from spec)
POST/organizations/organization/virtual_machines/build_from_spec
Builds a new virtual machine by receiving a virtual machine spec document
Scopes
virtual_machines
OAuth2 Scopes
When using OAuth2 authentication, scopes are prefixed with api.katapult.io/core/v1/
.
Request
- application/json
Body
Array [
]
organization
object
required
All 'organization[]' params are mutually exclusive, only one can be provided.
annotations
object[]
Responses
- 201
- 400
- 403
- 404
- 422
- 429
- 503
Builds a new virtual machine by receiving a virtual machine spec document
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
task
object
required
Possible values: [pending
, running
, completed
, failed
]
build
object
required
Possible values: [draft
, failed
, pending
, complete
, building
]
virtual_machine_build
object
required
Possible values: [draft
, failed
, pending
, complete
, building
]
annotations
object[]
required
{
"task": {
"id": "string",
"name": "string",
"status": "pending"
},
"build": {
"id": "string",
"state": "draft"
},
"virtual_machine_build": {
"id": "string",
"state": "draft"
},
"hostname": "string",
"annotations": [
{
"key": "string",
"value": "string"
}
]
}
400 error response
- application/json
- Schema
- Example (from schema)
Schema
- APIAuthenticator400Schema
- InvalidSpecXMLSchema
oneOf
No API token was provided in the Authorization header. Ensure a token is provided prefixed with Bearer
Possible values: [missing_api_token
]
The spec XML provided is invalid
Possible values: [invalid_spec_xml
]
detail
object
A textual description of the errors with the provided XML
{}
403 error response
- application/json
- Schema
- Example (from schema)
Schema
- UnauthorizedNetworkForAPITokenSchema
- InvalidAPITokenSchema
- InvalidCapabilitiesTokenSchema
- ScopeNotGrantedErrorSchema
- OrganizationSuspendedSchema
- OrganizationNotActivatedSchema
- PermissionDeniedSchema
oneOf
Network is not allowed to access the API with this API token
Possible values: [unauthorized_network_for_api_token
]
detail
object
The IP address the request was received from
The API token provided was not valid (it may not exist or have expired)
Possible values: [invalid_api_token
]
detail
object
The capabilities token provided was not valid (either not valid, expired or not signed by the correct key)
Possible values: [invalid_capabilities_token
]
The scope required for this endpoint has not been granted to the authenticating identity
Possible values: [scope_not_granted
]
detail
ScopeNotGrantedError
An organization was found from the arguments provided but it was suspended
Possible values: [organization_suspended
]
An organization was found from the arguments provided but it wasn't activated yet
Possible values: [organization_not_activated
]
The authenticated identity is not permitted to perform this action
Possible values: [permission_denied
]
detail
object
Additional information regarding the reason why permission was denied
{}
No organization was found matching any of the criteria provided in the arguments
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [organization_not_found
]
{
"code": "organization_not_found",
"description": "string",
"detail": {}
}
A validation error occurred with the object that was being created/updated/deleted
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [validation_error
]
detail
ValidationError
{
"code": "validation_error",
"description": "string",
"detail": {
"errors": [
"string"
]
}
}
You have reached the rate limit for this type of request
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [rate_limit_reached
]
detail
object
The total number of requests per minute that are permitted
{
"code": "rate_limit_reached",
"description": "string",
"detail": {
"total_permitted": 0
}
}
The service is currently unavailable, please try again later
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [service_unavailable
]
{
"code": "service_unavailable",
"description": "string",
"detail": {}
}