For the complete documentation index, see llms.txt. This page is also available as Markdown.

Server Commands

Commands you can perform on servers

Allocate a server to a client

post

Allocates a server to a client, according to the given location and instance type.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Body

Allocation request object

locationIdinteger · min: 1RequiredExample: 18
instanceTypeIdinteger · min: 1RequiredExample: 126
clientIdintegerRequiredExample: 12345
contractIdstringOptional

Can be empty or null for on-demand client quota

Example: JD-NB2UU6VX732Pattern: ^[A-Z0-9_\-.]{0,240}$
overflowbooleanOptional

If true, the allocation will be allowed to overflow the client's quota and use on-demand quota

Default: falseExample: false
Responses
200

Successful operation

application/json
post/api/server/allocate

De-allocate a server from a client

delete

De-allocates a server from a client. Afterwards the Back to Baseline process will start, wiping and health checking the server.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
clientIdinteger · intRequired

ID of the client to de-allocate for

serverIdinteger · intRequired

ID of the server to de-allocate

Responses
200

Successful operation. Returned in case of success, but also when the server was already de-allocated.

application/json
delete/api/client/{clientId}/server/{serverId}/allocate

Compensates allocation for a server

delete

Compensates Allocation of the server which failed to deliver. Afterwards the Back to Baseline process will start, wiping and health checking the server.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
serverIdinteger · intRequired

ID of the server to de-allocate

clientIdinteger · intRequired

ID of the client to de-allocate for

Responses
200

Successful operation

application/json
delete/api/client/{clientId}/server/{serverId}/allocate/compensate

Isolate a server with a specific reason (subState)

post

Isolate a server with a specific reason (subState). See request object for valid values.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
serverIdinteger · intRequired

ID of the server to isolate

Body

Isolation request object

subStatestring · enumRequiredExample: brokenHardwarePossible values:
operationUuidstring · uuidOptional

The operationUuid reference from MetalWorks

reasonstringOptionalExample: Failed to IPMI boot
Responses
200

Successful operation

application/json
post/api/server/{serverId}/isolate

Move a server out of isolation to start the baseline process

delete

Move a server out of isolation to start the baseline process after which it will become Available again or, if a problem was encountered during the baseline process, the server goes back to Isolation.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
serverIdinteger · intRequired

ID of the server to move out of isolation

Responses
200

Successful operation

application/json
delete/api/server/{serverId}/isolate

Set server status to Available

post

Set server status to Available. Should only be called by MetalWorks after a successful Back to Baseline workflow.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
serverIdinteger · intRequired

ID of the server to set to Available

Responses
200

Successful operation

application/json
post/api/server/{serverId}/available

Quarantine a server

post

Quarantines a server, preserving its current state, e.g. for law enforcement purposes or any "offline" investigation into a server's state.

Required scopes
This endpoint requires the following scopes:
Authorizations
X-Api-KeystringRequired
Path parameters
serverIdinteger · intRequired

ID of the server to quarantine

Responses
200

Successful operation

application/json
post/api/server/{serverId}/quarantine

Last updated

Was this helpful?