Create load balancer
POST/organizations/organization/load_balancers
Create a new load balancer for a given organization
Scopes
load_balancers
OAuth2 Scopes
When using OAuth2 authentication, scopes are prefixed with api.katapult.io/core/v1/
.
Request
- application/json
Body
Array [
]
Array [
]
organization
object
required
All 'organization[]' params are mutually exclusive, only one can be provided.
properties
object
required
Possible values: [virtual_machines
, virtual_machine_groups
, tags
]
data_center
object
All 'data_center[]' params are mutually exclusive, only one can be provided.
weights
object[]
annotations
object[]
Responses
- 201
- 400
- 403
- 404
- 422
- 429
- 503
Create a new load balancer for a given organization
- application/json
- Schema
- Example (from schema)
Schema
Array [
- VirtualMachine
- VirtualMachineGroup
- Tag
Array [
]
Array [
Array [
]
]
Array [
]
Array [
]
]
Array [
]
Array [
]
load_balancer
object
required
Possible values: [virtual_machines
, virtual_machine_groups
, tags
]
resources
object[]
resources
object
oneOf
Possible values: [stopped
, failed
, started
, starting
, allocated
, allocating
, resetting
, migrating
, stopping
, shutting_down
, transferring
, orphaned
]
zone
object
data_center
object
country
object
organization
object
currency
object
country
object
nullable
country_state
object
nullable
country
object
group
object
nullable
package
object
nullable
Possible values: [public
, private
]
icon
object
nullable
group
object
attached_iso
object
nullable
operating_system
object
nullable
badge
object
nullable
gpu_type
object
nullable
data_centers
object[]
country
object
gpus
object[]
Unique ID for this GPU. Not available when status is "detached".
Possible values: [attached
, attaching
, detached
, detaching
, unknown
]
Possible values: [attach
, detach
]
When pending action is "attach", this indicates if there is a GPU of the relevant type available.
type
object
data_centers
object[]
country
object
tags
object[]
Possible values: [red
, pink
, purple
, dark_blue
, green
, teal
, aqua
, light_blue
, yellow
, orange
, orange_red
, brown
, black
, dark_gray
, light_gray
, light_brown
, pastel_red
, pastel_pink
, pastel_purple
, pastel_dark_blue
, pastel_green
, pastel_teal
, pastel_aqua
, pastel_light_blue
, pastel_yellow
, pastel_orange
, pastel_orange_red
, pastel_brown
, pastel_black
, pastel_dark_gray
, pastel_light_gray
, pastel_light_brown
]
ip_addresses
object[]
network
object
data_center
object
country
object
hypervisor
object
nullable
Possible values: [red
, pink
, purple
, dark_blue
, green
, teal
, aqua
, light_blue
, yellow
, orange
, orange_red
, brown
, black
, dark_gray
, light_gray
, light_brown
, pastel_red
, pastel_pink
, pastel_purple
, pastel_dark_blue
, pastel_green
, pastel_teal
, pastel_aqua
, pastel_light_blue
, pastel_yellow
, pastel_orange
, pastel_orange_red
, pastel_brown
, pastel_black
, pastel_dark_gray
, pastel_light_gray
, pastel_light_brown
]
ip_address
object
data_center
object
weights
object[]
annotations
object[]
required
{
"load_balancer": {
"id": "string",
"name": "string",
"api_reference": "string",
"resource_type": "virtual_machines",
"resources": [
{
"resources": {
"id": "string",
"name": "string",
"hostname": "string",
"fqdn": "string",
"description": "string",
"created_at": 0,
"initial_root_password": "string",
"state": "stopped",
"zone": {
"id": "string",
"name": "string",
"permalink": "string",
"data_center": {
"id": "string",
"name": "string",
"permalink": "string",
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
}
}
},
"organization": {
"id": "string",
"name": "string",
"sub_domain": "string",
"infrastructure_domain": "string",
"created_at": 0,
"activated_at": 0,
"suspended": true,
"managed": true,
"billing_name": "string",
"address1": "string",
"address2": "string",
"address3": "string",
"address4": "string",
"postcode": "string",
"vat_number": "string",
"phone_number": "string",
"currency": {
"id": "string",
"name": "string",
"iso_code": "string",
"symbol": "string"
},
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
},
"country_state": {
"id": "string",
"name": "string",
"code": "string",
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
}
}
},
"group": {
"id": "string",
"name": "string",
"segregate": true,
"auto_segregate": true,
"created_at": 0
},
"package": {
"id": "string",
"name": "string",
"permalink": "string",
"cpu_cores": 0,
"ipv4_addresses": 0,
"memory_in_gb": 0,
"storage_in_gb": 0,
"monthly_bandwidth_allowance_in_gb": 0,
"privacy": "public",
"icon": {
"url": "string",
"file_name": "string",
"file_type": "string",
"file_size": 0,
"digest": "string",
"token": "string"
},
"use_dedicated_cpus": true,
"group": {
"id": "string",
"name": "string"
}
},
"attached_iso": {
"id": "string",
"name": "string",
"operating_system": {
"id": "string",
"name": "string",
"badge": {
"url": "string",
"file_name": "string",
"file_type": "string",
"file_size": 0,
"digest": "string",
"token": "string"
}
}
},
"memory_in_gb": 0,
"cpu_cores": 0,
"use_dedicated_cpus": true,
"gpu_type": {
"id": "string",
"name": "string",
"manufacturer": "string",
"memory_in_gb": 0,
"memory_type": "string",
"permalink": "string",
"data_centers": [
{
"id": "string",
"name": "string",
"permalink": "string",
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
}
}
]
},
"gpus": [
{
"id": "string",
"status": "attached",
"pending_action": "attach",
"available": true,
"type": {
"id": "string",
"name": "string",
"manufacturer": "string",
"memory_in_gb": 0,
"memory_type": "string",
"permalink": "string",
"data_centers": [
{
"id": "string",
"name": "string",
"permalink": "string",
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
}
}
]
}
}
],
"tags": [
{
"id": "string",
"name": "string",
"color": "red",
"created_at": 0
}
],
"tag_names": [
"string"
],
"ip_addresses": [
{
"id": "string",
"address": "string",
"reverse_dns": "string",
"vip": true,
"label": "string",
"address_with_mask": "string",
"network": {
"id": "string",
"name": "string",
"permalink": "string",
"data_center": {
"id": "string",
"name": "string",
"permalink": "string",
"country": {
"id": "string",
"name": "string",
"iso_code2": "string",
"iso_code3": "string",
"time_zone": "string",
"eu": true
}
}
},
"allocation_id": "string",
"allocation_type": "string"
}
],
"hypervisor": {
"id": "string",
"name": "string",
"ip_address": "string"
}
}
}
],
"resource_ids": [
"string"
],
"ip_address": {
"id": "string",
"address": "string"
},
"https_redirect": true,
"backend_certificate": "string",
"backend_certificate_key": "string",
"data_center": {
"id": "string",
"name": "string",
"permalink": "string"
},
"enable_weighting": true,
"weights": [
{
"virtual_machine_id": "string",
"weight": 0
}
],
"standby_vms": [
"string"
]
},
"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
- ResourceCreationRestrictedSchema
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
The organization chosen is not permitted to create resources
Possible values: [resource_creation_restricted
]
detail
ResourceCreationRestricted
{}
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": {}
}