Create disk
POST/organizations/organization/disks
Create a new disk for a given organization.
Scopes
disks
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.
properties
object
required
Possible values: [scsi
, virtio
]
data_center
object
All 'data_center[]' params are mutually exclusive, only one can be provided.
Only available when creating disk. Existing disks must use the resize endpoint.
io_profile
object
All 'io_profile[]' params are mutually exclusive, only one can be provided.
Possible values: [ext4
, xfs
]
Possible values: [nvme
, ssd
]
virtual_machine_disk
object
Attach the disk during virtual machine start up. Default is true.
Attach the disk once built. If the virtual machine is not running the disk will attach when started. Only available when creating disk, existing disks must use the attach endpoint.
virtual_machine
object
All 'virtual_machine[]' params are mutually exclusive, only one can be provided.
annotations
object[]
Responses
- 201
- 400
- 403
- 404
- 406
- 422
- 429
- 503
Create a new disk for a given organization.
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
disk
object
required
Possible values: [not_built
, failed
, built
, building
, installing
, restoring
, formatting
, resizing
, configuring
, importing
]
Possible values: [nvme
, ssd
]
io_profile
object
nullable
Possible values: [scsi
, virtio
]
data_center
object
virtual_machine_disk
object
nullable
virtual_machine
object
Possible values: [detached
, failed
, attached
, attaching
, detaching
]
installation
object
nullable
disk_template_version
object
disk_template
object
operating_system
object
nullable
badge
object
nullable
attributes
object[]
task
object
required
Possible values: [pending
, running
, completed
, failed
]
annotations
object[]
required
Annotations for this disk
{
"disk": {
"id": "string",
"name": "string",
"size_in_gb": 0,
"wwn": "string",
"state": "not_built",
"created_at": 0,
"storage_speed": "nvme",
"io_profile": {
"id": "string",
"name": "string",
"permalink": "string",
"speed_in_mb": 0,
"iops": 0
},
"bus_type": "scsi",
"data_center": {
"id": "string",
"name": "string",
"permalink": "string"
},
"virtual_machine_disk": {
"virtual_machine": {
"id": "string",
"fqdn": "string"
},
"attach_on_boot": true,
"boot": true,
"state": "detached"
},
"installation": {
"id": "string",
"disk_template_version": {
"id": "string",
"number": 0,
"stable": true,
"size_in_gb": 0,
"disk_template": {
"id": "string",
"name": "string",
"description": "string",
"permalink": "string",
"universal": true,
"size_in_gb": 0,
"operating_system": {
"id": "string",
"name": "string",
"badge": {
"url": "string",
"file_name": "string",
"file_type": "string",
"file_size": 0,
"digest": "string",
"token": "string"
}
}
}
},
"attributes": [
{
"key": "string",
"label": "string",
"value": "string",
"description": "string",
"protect": true
}
]
}
},
"task": {
"id": "string",
"name": "string",
"status": "pending",
"created_at": 0,
"started_at": 0,
"finished_at": 0,
"progress": 0
},
"annotations": [
{
"key": "string",
"value": "string"
}
]
}
No API token was provided in the Authorization header. Ensure a token is provided prefixed with Bearer
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [missing_api_token
]
{
"code": "missing_api_token",
"description": "string",
"detail": {}
}
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": {}
}
This error means that a background task that was needed to complete your request could not be queued
- application/json
- Schema
- Example (from schema)
Schema
Possible values: [task_queueing_error
]
detail
object
{
"code": "task_queueing_error",
"description": "string",
"detail": {
"details": "string"
}
}
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": {}
}