Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.hetzner.cloud/v1
/certificates/{id}
Deletes a Certificate.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Certificate. |
DELETE /certificates/{id}
/firewalls/{id}
Deletes a Firewall. #### Call specific error codes | Code | Description | |--------------------- |-------------------------------------------| | `resource_in_use` | Firewall must not be in use to be deleted |
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Firewall. |
DELETE /firewalls/{id}
/floating_ips/{id}
Deletes a Floating IP. If it is currently assigned to a Server it will automatically get unassigned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Floating IP. |
DELETE /floating_ips/{id}
/images/{id}
Deletes an Image. Only Images of type `snapshot` and `backup` can be deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Image. |
DELETE /images/{id}
/load_balancers/{id}
Deletes a Load Balancer.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Load Balancer. |
DELETE /load_balancers/{id}
/networks/{id}
Deletes a network. If there are Servers attached they will be detached in the background. Note: if the network object changes during the request, the response will be a “conflict” error.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Network. |
DELETE /networks/{id}
/placement_groups/{id}
Deletes a PlacementGroup.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Placement Group. |
DELETE /placement_groups/{id}
/primary_ips/{id}
Deletes a Primary IP. The Primary IP may be assigned to a Server. In this case it is unassigned automatically. The Server must be powered off (status `off`) in order for this operation to succeed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Primary IP. |
DELETE /primary_ips/{id}
/ssh_keys/{id}
Deletes an SSH key. It cannot be used anymore.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the SSH Key. |
DELETE /ssh_keys/{id}
/servers/{id}
Deletes a Server. This immediately removes the Server from your account, and it is no longer accessible. Any resources attached to the server (like Volumes, Primary IPs, Floating IPs, Firewalls, Placement Groups) are detached while the server is deleted.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Server. |
DELETE /servers/{id}
/volumes/{id}
Deletes a volume. All Volume data is irreversibly destroyed. The Volume must not be attached to a Server and it must not have delete protection enabled.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | integer | ID of the Volume. |
DELETE /volumes/{id}
Action
{
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
ActionID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
}
ActionListResponse
{
"type": "object",
"title": "ActionListResponse",
"required": [
"actions"
],
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ActionListResponseWithMeta
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ActionNullable
{
"type": "object",
"title": "ActionNullable",
"nullable": true,
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
ActionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ActionsGetAllResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ActionsGetByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
CertificateActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
CertificateActionsGetActionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
CertificateActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
CertificateActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
CertificateActionsRetryIssuanceOrRenewalResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
CertificateID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Certificate."
}
CertificatesCreateNewCertificateRequest
{
"type": "object",
"title": "CreateCertificateRequest",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "my website cert",
"description": "Name of the Certificate"
},
"type": {
"enum": [
"uploaded",
"managed"
],
"type": "string",
"default": "uploaded",
"example": "uploaded",
"description": "Choose between uploading a Certificate in PEM format or requesting a managed *Let's Encrypt* Certificate."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"certificate": {
"type": "string",
"example": "-----BEGIN CERTIFICATE-----\n...",
"description": "Certificate and chain in PEM format, in order so that each record directly certifies the one preceding. Required for type `uploaded` Certificates."
},
"private_key": {
"type": "string",
"example": "-----BEGIN PRIVATE KEY-----\n...",
"description": "Certificate key in PEM format. Required for type `uploaded` Certificates."
},
"domain_names": {
"type": "array",
"items": {
"type": "string"
},
"example": null,
"description": "Domains and subdomains that should be contained in the Certificate issued by *Let's Encrypt*. Required for type `managed` Certificates."
}
}
}
CertificatesCreateNewCertificateResponse
{
"type": "object",
"title": "CreateCertificateResponse",
"required": [
"certificate"
],
"properties": {
"action": {
"type": "object",
"title": "ActionNullable",
"nullable": true,
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"certificate": {
"type": "object",
"title": "Certificate",
"required": [
"id",
"name",
"labels",
"certificate",
"created",
"not_valid_before",
"not_valid_after",
"domain_names",
"fingerprint",
"used_by"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Certificate."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"uploaded",
"managed"
],
"type": "string",
"example": "uploaded",
"description": "Type of the Certificate"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"type": "object",
"nullable": true,
"properties": {
"error": {
"type": "object",
"example": null,
"nullable": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"description": "If issuance or renewal reports `failed`, this property contains information about what happened"
},
"renewal": {
"enum": [
"scheduled",
"pending",
"failed",
"unavailable"
],
"type": "string",
"example": "scheduled",
"description": "Status of the renewal process of the Certificate."
},
"issuance": {
"enum": [
"pending",
"completed",
"failed"
],
"type": "string",
"example": "completed",
"description": "Status of the issuance process of the Certificate"
}
},
"description": "Current status of a type `managed` Certificate, always *null* for type `uploaded` Certificates"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"used_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of resource referenced"
},
"type": {
"type": "string",
"example": "load_balancer",
"description": "Type of resource referenced"
}
}
},
"description": "Resources currently using the Certificate"
},
"certificate": {
"type": "string",
"example": "-----BEGIN CERTIFICATE-----\n...",
"nullable": true,
"description": "Certificate and chain in PEM format, in order so that each record directly certifies the one preceding"
},
"fingerprint": {
"type": "string",
"example": "03:c7:55:9b:2a:d1:04:17:09:f6:d0:7f:18:34:63:d4:3e:5f",
"nullable": true,
"description": "SHA256 fingerprint of the Certificate"
},
"domain_names": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"example.com",
"webmail.example.com",
"www.example.com"
],
"description": "Domains and subdomains covered by the Certificate"
},
"not_valid_after": {
"type": "string",
"example": "2019-07-08T09:59:59+00:00",
"nullable": true,
"description": "Point in time when the Certificate stops being valid (in ISO-8601 format)"
},
"not_valid_before": {
"type": "string",
"example": "2019-01-08T10:00:00+00:00",
"nullable": true,
"description": "Point in time when the Certificate becomes valid (in ISO-8601 format)"
}
}
}
}
}
CertificatesGetAllResponse
{
"type": "object",
"title": "CertificatesResponse",
"required": [
"certificates",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"certificates": {
"type": "array",
"items": {
"type": "object",
"title": "Certificate",
"required": [
"id",
"name",
"labels",
"certificate",
"created",
"not_valid_before",
"not_valid_after",
"domain_names",
"fingerprint",
"used_by"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Certificate."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"uploaded",
"managed"
],
"type": "string",
"example": "uploaded",
"description": "Type of the Certificate"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"type": "object",
"nullable": true,
"properties": {
"error": {
"type": "object",
"example": null,
"nullable": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"description": "If issuance or renewal reports `failed`, this property contains information about what happened"
},
"renewal": {
"enum": [
"scheduled",
"pending",
"failed",
"unavailable"
],
"type": "string",
"example": "scheduled",
"description": "Status of the renewal process of the Certificate."
},
"issuance": {
"enum": [
"pending",
"completed",
"failed"
],
"type": "string",
"example": "completed",
"description": "Status of the issuance process of the Certificate"
}
},
"description": "Current status of a type `managed` Certificate, always *null* for type `uploaded` Certificates"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"used_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of resource referenced"
},
"type": {
"type": "string",
"example": "load_balancer",
"description": "Type of resource referenced"
}
}
},
"description": "Resources currently using the Certificate"
},
"certificate": {
"type": "string",
"example": "-----BEGIN CERTIFICATE-----\n...",
"nullable": true,
"description": "Certificate and chain in PEM format, in order so that each record directly certifies the one preceding"
},
"fingerprint": {
"type": "string",
"example": "03:c7:55:9b:2a:d1:04:17:09:f6:d0:7f:18:34:63:d4:3e:5f",
"nullable": true,
"description": "SHA256 fingerprint of the Certificate"
},
"domain_names": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"example.com",
"webmail.example.com",
"www.example.com"
],
"description": "Domains and subdomains covered by the Certificate"
},
"not_valid_after": {
"type": "string",
"example": "2019-07-08T09:59:59+00:00",
"nullable": true,
"description": "Point in time when the Certificate stops being valid (in ISO-8601 format)"
},
"not_valid_before": {
"type": "string",
"example": "2019-01-08T10:00:00+00:00",
"nullable": true,
"description": "Point in time when the Certificate becomes valid (in ISO-8601 format)"
}
}
}
}
}
}
CertificatesGetByIdResponse
{
"type": "object",
"title": "CertificateResponse",
"required": [
"certificate"
],
"properties": {
"certificate": {
"type": "object",
"title": "Certificate",
"required": [
"id",
"name",
"labels",
"certificate",
"created",
"not_valid_before",
"not_valid_after",
"domain_names",
"fingerprint",
"used_by"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Certificate."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"uploaded",
"managed"
],
"type": "string",
"example": "uploaded",
"description": "Type of the Certificate"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"type": "object",
"nullable": true,
"properties": {
"error": {
"type": "object",
"example": null,
"nullable": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"description": "If issuance or renewal reports `failed`, this property contains information about what happened"
},
"renewal": {
"enum": [
"scheduled",
"pending",
"failed",
"unavailable"
],
"type": "string",
"example": "scheduled",
"description": "Status of the renewal process of the Certificate."
},
"issuance": {
"enum": [
"pending",
"completed",
"failed"
],
"type": "string",
"example": "completed",
"description": "Status of the issuance process of the Certificate"
}
},
"description": "Current status of a type `managed` Certificate, always *null* for type `uploaded` Certificates"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"used_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of resource referenced"
},
"type": {
"type": "string",
"example": "load_balancer",
"description": "Type of resource referenced"
}
}
},
"description": "Resources currently using the Certificate"
},
"certificate": {
"type": "string",
"example": "-----BEGIN CERTIFICATE-----\n...",
"nullable": true,
"description": "Certificate and chain in PEM format, in order so that each record directly certifies the one preceding"
},
"fingerprint": {
"type": "string",
"example": "03:c7:55:9b:2a:d1:04:17:09:f6:d0:7f:18:34:63:d4:3e:5f",
"nullable": true,
"description": "SHA256 fingerprint of the Certificate"
},
"domain_names": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"example.com",
"webmail.example.com",
"www.example.com"
],
"description": "Domains and subdomains covered by the Certificate"
},
"not_valid_after": {
"type": "string",
"example": "2019-07-08T09:59:59+00:00",
"nullable": true,
"description": "Point in time when the Certificate stops being valid (in ISO-8601 format)"
},
"not_valid_before": {
"type": "string",
"example": "2019-01-08T10:00:00+00:00",
"nullable": true,
"description": "Point in time when the Certificate becomes valid (in ISO-8601 format)"
}
}
}
}
}
CertificatesUpdateByIdRequest
{
"type": "object",
"title": "UpdateCertificateRequest",
"properties": {
"name": {
"type": "string",
"example": "my website cert",
"description": "New Certificate name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
CertificatesUpdateByIdResponse
{
"type": "object",
"title": "CertificateResponse",
"required": [
"certificate"
],
"properties": {
"certificate": {
"type": "object",
"title": "Certificate",
"required": [
"id",
"name",
"labels",
"certificate",
"created",
"not_valid_before",
"not_valid_after",
"domain_names",
"fingerprint",
"used_by"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Certificate."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"uploaded",
"managed"
],
"type": "string",
"example": "uploaded",
"description": "Type of the Certificate"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"type": "object",
"nullable": true,
"properties": {
"error": {
"type": "object",
"example": null,
"nullable": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"description": "If issuance or renewal reports `failed`, this property contains information about what happened"
},
"renewal": {
"enum": [
"scheduled",
"pending",
"failed",
"unavailable"
],
"type": "string",
"example": "scheduled",
"description": "Status of the renewal process of the Certificate."
},
"issuance": {
"enum": [
"pending",
"completed",
"failed"
],
"type": "string",
"example": "completed",
"description": "Status of the issuance process of the Certificate"
}
},
"description": "Current status of a type `managed` Certificate, always *null* for type `uploaded` Certificates"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"used_by": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of resource referenced"
},
"type": {
"type": "string",
"example": "load_balancer",
"description": "Type of resource referenced"
}
}
},
"description": "Resources currently using the Certificate"
},
"certificate": {
"type": "string",
"example": "-----BEGIN CERTIFICATE-----\n...",
"nullable": true,
"description": "Certificate and chain in PEM format, in order so that each record directly certifies the one preceding"
},
"fingerprint": {
"type": "string",
"example": "03:c7:55:9b:2a:d1:04:17:09:f6:d0:7f:18:34:63:d4:3e:5f",
"nullable": true,
"description": "SHA256 fingerprint of the Certificate"
},
"domain_names": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"example.com",
"webmail.example.com",
"www.example.com"
],
"description": "Domains and subdomains covered by the Certificate"
},
"not_valid_after": {
"type": "string",
"example": "2019-07-08T09:59:59+00:00",
"nullable": true,
"description": "Point in time when the Certificate stops being valid (in ISO-8601 format)"
},
"not_valid_before": {
"type": "string",
"example": "2019-01-08T10:00:00+00:00",
"nullable": true,
"description": "Point in time when the Certificate becomes valid (in ISO-8601 format)"
}
}
}
}
}
Created
{
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
}
DatacenterID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
}
DatacentersGetAllResponse
{
"type": "object",
"required": [
"datacenters",
"recommendation",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"datacenters": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
}
},
"description": "List of Datacenters."
},
"recommendation": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "Recommended Datacenter ID for new Resources."
}
}
}
DatacentersGetByIdResponse
{
"type": "object",
"required": [
"datacenter"
],
"properties": {
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
}
}
}
}
DeprecationInfo
{
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
}
Description
{
"type": "string",
"example": "This describes my resource",
"nullable": true,
"description": "Description of the Resource."
}
FirewallActionsApplyToResourcesRequest
{
"type": "object",
"title": "ApplyToResourcesRequest",
"required": [
"apply_to"
],
"properties": {
"apply_to": {
"type": "array",
"items": {
"type": "object",
"title": "FirewallResource",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "ID of the Server"
}
},
"description": "Configuration for type server, required if type is `server`"
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Configuration for type label_selector, required if type is `label_selector`"
}
}
},
"description": "Resources the Firewall should be applied to"
}
}
}
FirewallActionsApplyToResourcesResponse
{
"type": "object",
"title": "ActionListResponse",
"required": [
"actions"
],
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FirewallActionsGetActionById200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FirewallActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FirewallActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FirewallActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FirewallActionsRemoveFromResourcesRequest
{
"type": "object",
"title": "RemoveFromResourcesRequest",
"required": [
"remove_from"
],
"properties": {
"remove_from": {
"type": "array",
"items": {
"type": "object",
"title": "FirewallResource",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "ID of the Server"
}
},
"description": "Configuration for type server, required if type is `server`"
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Configuration for type label_selector, required if type is `label_selector`"
}
}
},
"description": "Resources the Firewall should be removed from"
}
}
}
FirewallActionsRemoveFromResourcesResponse
{
"type": "object",
"title": "ActionListResponse",
"required": [
"actions"
],
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FirewallActionsSetRulesRequest
{
"type": "object",
"title": "SetRulesRequest",
"required": [
"rules"
],
"properties": {
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "Rule",
"required": [
"direction",
"protocol"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
},
"maxItems": 50,
"description": "Array of rules.\n\nLimited to a maximum of 50 rules per Firewall.\n"
}
}
}
FirewallActionsSetRulesResponse
{
"type": "object",
"title": "ActionListResponse",
"required": [
"actions"
],
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FirewallID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
}
FirewallsCreateFirewallRequest
{
"type": "object",
"title": "CreateFirewallRequest",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Corporate Intranet Protection",
"description": "Name of the Firewall.\n\nLimited to a maximum of 128 characters.\n"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "Rule",
"required": [
"direction",
"protocol"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
},
"example": [
{
"port": "80",
"protocol": "tcp",
"direction": "in",
"source_ips": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
]
}
],
"description": "Array of rules.\n\nLimited to a maximum of 50 rules per Firewall.\n"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"apply_to": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "ID of the Server"
}
},
"description": "Configuration for type Server, required if type is `server`"
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"description": "Label selector"
}
},
"description": "Configuration for type LabelSelector, required if type is `label_selector`"
}
}
},
"description": "Resources the Firewall should be applied to after creation"
}
}
}
FirewallsCreateFirewallResponse
{
"type": "object",
"title": "CreateFirewallResponse",
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"example": [
{
"id": 13,
"error": {
"code": "action_failed",
"message": "Action failed"
},
"status": "success",
"command": "set_firewall_rules",
"started": "2016-01-30T23:55:00+00:00",
"finished": "2016-01-30T23:56:00+00:00",
"progress": 100,
"resources": [
{
"id": 38,
"type": "firewall"
}
]
},
{
"id": 14,
"error": {
"code": "action_failed",
"message": "Action failed"
},
"status": "success",
"command": "apply_firewall",
"started": "2016-01-30T23:55:00+00:00",
"finished": "2016-01-30T23:56:00+00:00",
"progress": 100,
"resources": [
{
"id": 42,
"type": "server"
},
{
"id": 38,
"type": "firewall"
}
]
}
]
},
"firewall": {
"type": "object",
"title": "FirewallResponse",
"required": [
"id",
"name",
"created",
"rules",
"applied_to"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "RuleResponse",
"required": [
"direction",
"protocol",
"destination_ips",
"source_ips",
"port"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"nullable": true,
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
}
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"applied_to": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
}
},
"applied_to_resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
}
}
}
}
}
}
}
}
}
}
}
FirewallsGetFirewallByIdResponse
{
"type": "object",
"title": "FirewallResponse",
"required": [
"firewall"
],
"properties": {
"firewall": {
"type": "object",
"title": "FirewallResponse",
"required": [
"id",
"name",
"created",
"rules",
"applied_to"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "RuleResponse",
"required": [
"direction",
"protocol",
"destination_ips",
"source_ips",
"port"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"nullable": true,
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
}
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"applied_to": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
}
},
"applied_to_resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
}
}
}
}
}
}
}
}
}
}
}
FirewallsListAllResponse
{
"type": "object",
"title": "FirewallsResponse",
"required": [
"firewalls",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"title": "FirewallResponse",
"required": [
"id",
"name",
"created",
"rules",
"applied_to"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "RuleResponse",
"required": [
"direction",
"protocol",
"destination_ips",
"source_ips",
"port"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"nullable": true,
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
}
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"applied_to": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
}
},
"applied_to_resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
}
}
}
}
}
}
}
}
}
}
}
}
FirewallsUpdateFirewallByIdRequest
{
"type": "object",
"title": "UpdateFirewallRequest",
"properties": {
"name": {
"type": "string",
"example": "new-name",
"description": "New Firewall name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
FirewallsUpdateFirewallByIdResponse
{
"type": "object",
"title": "FirewallResponse",
"required": [
"firewall"
],
"properties": {
"firewall": {
"type": "object",
"title": "FirewallResponse",
"required": [
"id",
"name",
"created",
"rules",
"applied_to"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"rules": {
"type": "array",
"items": {
"type": "object",
"title": "RuleResponse",
"required": [
"direction",
"protocol",
"destination_ips",
"source_ips",
"port"
],
"properties": {
"port": {
"type": "string",
"example": "80",
"nullable": true,
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
],
"type": "string",
"description": "Type of traffic to allow"
},
"direction": {
"enum": [
"in",
"out"
],
"type": "string",
"example": "in",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`."
},
"source_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"28.239.13.1/32",
"28.239.14.0/24",
"ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
],
"description": "List of permitted IPv4/IPv6 addresses for incoming traffic (`direction` set to `in`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 255,
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [],
"description": "List of permitted IPv4/IPv6 addresses for outgoing traffic (`direction` set to `out`)\nin [CIDR block notation](https://wikipedia.org/wiki/CIDR). You can specify 100 CIDR\nblocks at most.\n\nThe CIDR blocks may refer to networks (with empty host bits) or single hosts.\nFor example, a network could be defined with `10.0.1.0/24` or `2001:db8:ff00:42::/64`,\nand a single host with `10.0.1.1/32` or `2001:db8:ff00:42::8329/128`.\nUse `0.0.0.0/0` to allow any IPv4 addresses and `::/0` to allow any IPv6 addresses.\n"
}
}
}
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"applied_to": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"server",
"label_selector"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
}
},
"applied_to_resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Type of resource referenced"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
}
}
}
}
}
}
}
}
}
}
}
}
FloatingIPID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Floating IP."
}
FloatingIPsCreateNewIpRequest
{
"type": "object",
"title": "CreateFloatingIPRequest",
"required": [
"type"
],
"properties": {
"name": {
"type": "string",
"example": "Web Frontend"
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Floating IP type"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "ID of the Server to assign the Floating IP to"
},
"description": {
"type": "string",
"example": "Web Frontend"
},
"home_location": {
"type": "string",
"example": "fsn1",
"description": "Home Location (routing is optimized for that Location). Only optional if Server argument is passed."
}
}
}
FloatingIPsCreateNewIpResponse
{
"type": "object",
"required": [
"floating_ip"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"floating_ip": {
"type": "object",
"required": [
"id",
"name",
"description",
"ip",
"type",
"server",
"dns_ptr",
"home_location",
"blocked",
"protection",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Floating IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Floating IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true,
"description": "ID of the Server the Floating IP is assigned to, null if it is not assigned at all"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "This describes my resource",
"nullable": true,
"description": "Description of the Resource."
},
"home_location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location the Floating IP was created in. Routing is optimized for this Location."
}
}
}
}
}
FloatingIPsGetAllResponse
{
"type": "object",
"required": [
"floating_ips",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"floating_ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"ip",
"type",
"server",
"dns_ptr",
"home_location",
"blocked",
"protection",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Floating IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Floating IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true,
"description": "ID of the Server the Floating IP is assigned to, null if it is not assigned at all"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "This describes my resource",
"nullable": true,
"description": "Description of the Resource."
},
"home_location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location the Floating IP was created in. Routing is optimized for this Location."
}
}
}
}
}
}
FloatingIPsGetResponse
{
"type": "object",
"required": [
"floating_ip"
],
"properties": {
"floating_ip": {
"type": "object",
"required": [
"id",
"name",
"description",
"ip",
"type",
"server",
"dns_ptr",
"home_location",
"blocked",
"protection",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Floating IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Floating IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true,
"description": "ID of the Server the Floating IP is assigned to, null if it is not assigned at all"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "This describes my resource",
"nullable": true,
"description": "Description of the Resource."
},
"home_location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location the Floating IP was created in. Routing is optimized for this Location."
}
}
}
}
}
FloatingIPsUpdateDescriptionLabelsRequest
{
"type": "object",
"title": "UpdateFloatingIPRequest",
"properties": {
"name": {
"type": "string",
"example": "Web Frontend",
"description": "New unique name to set"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string",
"example": "Web Frontend",
"description": "New Description to set"
}
}
}
FloatingIPsUpdateDescriptionLabelsResponse
{
"type": "object",
"required": [
"floating_ip"
],
"properties": {
"floating_ip": {
"type": "object",
"required": [
"id",
"name",
"description",
"ip",
"type",
"server",
"dns_ptr",
"home_location",
"blocked",
"protection",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Floating IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Floating IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"nullable": true,
"description": "ID of the Server the Floating IP is assigned to, null if it is not assigned at all"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "This describes my resource",
"nullable": true,
"description": "Description of the Resource."
},
"home_location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location the Floating IP was created in. Routing is optimized for this Location."
}
}
}
}
}
FloatingIpActionsAssignToServerRequest
{
"type": "object",
"title": "AssignFloatingIPRequest",
"required": [
"server"
],
"properties": {
"server": {
"type": "integer",
"format": "int64",
"example": 42,
"description": "ID of the Server the Floating IP shall be assigned to"
}
},
"description": "#### Call specific error codes\n\n| Code | Description |\n|------------------------------ |-------------------------------------------------------------- |\n| `floating_ip_assigned` | The floating IP is already assigned |\n"
}
FloatingIpActionsAssignToServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FloatingIpActionsChangeDnsPtrRequest
{
"type": "object",
"title": "ChangeDNSPTRRequest",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address for which to set the reverse DNS entry"
},
"dns_ptr": {
"type": "string",
"example": "server02.example.com",
"nullable": true,
"description": "Hostname to set as a reverse DNS PTR entry, will reset to original default value if `null`"
}
}
}
FloatingIpActionsChangeDnsPtrResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FloatingIpActionsChangeProtectionRequest
{
"type": "object",
"title": "ChangeProtectionRequest",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Floating IP from being deleted"
}
}
}
FloatingIpActionsChangeProtectionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FloatingIpActionsGetActionById200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FloatingIpActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
FloatingIpActionsGetAllActions200Response
{
"type": "object",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FloatingIpActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
FloatingIpActionsUnassignIpResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
}
IP
{
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
}
ISOID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
}
ImageActionsChangeProtectionRequest
{
"type": "object",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the snapshot from being deleted"
}
}
}
ImageActionsChangeProtectionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ImageActionsGetActionById200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ImageActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ImageActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ImageActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ImageID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
}
ImagesGetAllResponse
{
"type": "object",
"required": [
"images",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
}
}
}
}
}
ImagesGetByIdResponse
{
"type": "object",
"properties": {
"image": {
"type": "object",
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
}
}
}
}
ImagesUpdateImageByIdRequest
{
"type": "object",
"title": "UpdateImageRequest",
"properties": {
"type": {
"enum": [
"snapshot"
],
"type": "string",
"description": "Destination Image type to convert to"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string",
"example": "My new Image description",
"description": "New description of Image"
}
}
}
ImagesUpdateImageByIdResponse
{
"type": "object",
"properties": {
"image": {
"type": "object",
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
}
}
}
}
IsOsGetAllResponse
{
"type": "object",
"required": [
"isos",
"meta"
],
"properties": {
"isos": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
}
}
},
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
}
}
}
IsOsGetResponse
{
"type": "object",
"required": [
"iso"
],
"properties": {
"iso": {
"type": "object",
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
}
}
}
}
Labels
{
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
ListMeta
{
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
}
LoadBalancerActionsAddServiceRequest
{
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
}
LoadBalancerActionsAddServiceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsAddTargetRequest
{
"type": "object",
"title": "AddTargetRequest",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Configuration for type Server, required if type is `server`"
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Configuration for label selector targets, required if type is `label_selector`"
},
"use_private_ip": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use the private network IP instead of the public IP of the Server, requires the Server and Load Balancer to be in the same network."
}
}
}
LoadBalancerActionsAddTargetResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsAttachToNetworkRequest
{
"type": "object",
"required": [
"network"
],
"properties": {
"ip": {
"type": "string",
"example": "10.0.1.1",
"description": "IP to request to be assigned to this Load Balancer; if you do not provide this then you will be auto assigned an IP address"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of an existing network to attach the Load Balancer to"
}
}
}
LoadBalancerActionsAttachToNetworkResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsChangeAlgorithmRequest
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"description": "Algorithm of the Load Balancer"
}
}
}
LoadBalancerActionsChangeAlgorithmResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsChangeDnsPtrRequest
{
"type": "object",
"title": "ChangeLoadbalancerDnsPtrRequest",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "Public IP address for which the reverse DNS entry should be set"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Hostname to set as a reverse DNS PTR entry"
}
}
}
LoadBalancerActionsChangeDnsPtrResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsChangeProtectionRequest
{
"type": "object",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Load Balancer from being deleted"
}
}
}
LoadBalancerActionsChangeProtectionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsChangeTypeRequest
{
"type": "object",
"title": "ChangeTypeRequest",
"required": [
"load_balancer_type"
],
"properties": {
"load_balancer_type": {
"type": "string",
"example": "lb21",
"description": "ID or name of Load Balancer type the Load Balancer should migrate to"
}
}
}
LoadBalancerActionsChangeTypeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsDeleteServiceRequest
{
"type": "object",
"required": [
"listen_port"
],
"properties": {
"listen_port": {
"type": "integer",
"example": 443,
"description": "The listen port of the service you want to delete"
}
}
}
LoadBalancerActionsDeleteServiceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsDetachFromNetworkRequest
{
"type": "object",
"required": [
"network"
],
"properties": {
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of an existing network to detach the Load Balancer from"
}
}
}
LoadBalancerActionsDetachFromNetworkResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsDisablePublicInterfaceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsEnablePublicInterfaceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
LoadBalancerActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
LoadBalancerActionsGetSpecificAction200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsGetSpecificActionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsRemoveTargetRequest
{
"type": "object",
"title": "RemoveTargetRequest",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Configuration for type Server, required if type is `server`"
},
"label_selector": {
"type": "object",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Configuration for label selector targets, required if type is `label_selector`"
}
}
}
LoadBalancerActionsRemoveTargetResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerActionsUpdateServiceRequest
{
"type": "object",
"title": "UpdateLoadBalancerService",
"required": [
"listen_port"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions"
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is \"http\""
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if protocol is \"https\"."
},
"cookie_lifetime": {
"type": "integer",
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)"
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if protocol is \"http\" or \"https\"."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "UpdateLoadBalancerServiceHealthCheck",
"properties": {
"http": {
"type": "object",
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
}
LoadBalancerActionsUpdateServiceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
LoadBalancerID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer."
}
LoadBalancerTypeID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer Type."
}
LoadBalancerTypesGetAllTypesResponse
{
"type": "object",
"required": [
"load_balancer_types"
],
"properties": {
"load_balancer_types": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
}
LoadBalancerTypesGetByIdResponse
{
"type": "object",
"properties": {
"load_balancer_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
LoadBalancersCreateLoadBalancerRequest
{
"type": "object",
"title": "CreateLoadBalancerRequest",
"required": [
"name",
"load_balancer_type"
],
"properties": {
"name": {
"type": "string",
"example": "Web Frontend",
"description": "Name of the Load Balancer"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"network": {
"type": "integer",
"format": "int64",
"example": 123,
"description": "ID of the network the Load Balancer should be attached to on creation"
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTarget",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTargetTarget",
"properties": {
"type": {
"type": "string",
"example": "server",
"description": "Type of the resource. Here always \"server\"."
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of resolved label selector target Servers. Only present for type \"label_selector\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"label_selector": {
"type": "object",
"title": "LoadBalancerTargetLabelSelector",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Label selector used to determine targets. Only present for target type \"label_selector\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "Array of targets"
},
"location": {
"type": "string",
"description": "ID or name of Location to create Load Balancer in"
},
"services": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
},
"description": "Array of services"
},
"algorithm": {
"type": "object",
"title": "LoadBalancerAlgorithm",
"default": {
"type": "round_robin"
},
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"default": "round_robin",
"description": "Type of the algorithm."
}
},
"description": "Algorithm of the Load Balancer"
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of network zone"
},
"public_interface": {
"type": "boolean",
"example": true,
"description": "Enable or disable the public interface of the Load Balancer"
},
"load_balancer_type": {
"type": "string",
"example": "lb11",
"description": "ID or name of the Load Balancer type this Load Balancer should be created with"
}
}
}
LoadBalancersCreateLoadBalancerResponse
{
"type": "object",
"required": [
"load_balancer",
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"load_balancer": {
"type": "object",
"required": [
"id",
"name",
"public_net",
"private_net",
"location",
"load_balancer_type",
"protection",
"labels",
"created",
"services",
"targets",
"algorithm",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTarget",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTargetTarget",
"properties": {
"type": {
"type": "string",
"example": "server",
"description": "Type of the resource. Here always \"server\"."
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of resolved label selector target Servers. Only present for type \"label_selector\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"label_selector": {
"type": "object",
"title": "LoadBalancerTargetLabelSelector",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Label selector used to determine targets. Only present for target type \"label_selector\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of targets that belong to this Load Balancer"
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
},
"services": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
},
"description": "List of services that belong to this Load Balancer"
},
"algorithm": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"description": "Type of the algorithm"
}
},
"description": "Algorithm of the Load Balancer"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"public_net": {
"type": "object",
"required": [
"enabled",
"ipv4",
"ipv6"
],
"properties": {
"ipv4": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"nullable": true,
"description": "IP address (v4) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv4 address of this Load Balancer"
}
},
"description": "IP address (v4)"
},
"ipv6": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"nullable": true,
"description": "IP address (v6) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv6 address of this Load Balancer"
}
},
"description": "IP address (v6)"
},
"enabled": {
"type": "boolean",
"description": "Public Interface enabled or not"
}
},
"description": "Public network information"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "IP address (v4) of this Load Balancer in this Network"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
}
}
},
"description": "Private networks information"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 10000,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"load_balancer_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
}
}
LoadBalancersGetAllResponse
{
"type": "object",
"required": [
"load_balancers",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"load_balancers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"public_net",
"private_net",
"location",
"load_balancer_type",
"protection",
"labels",
"created",
"services",
"targets",
"algorithm",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTarget",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTargetTarget",
"properties": {
"type": {
"type": "string",
"example": "server",
"description": "Type of the resource. Here always \"server\"."
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of resolved label selector target Servers. Only present for type \"label_selector\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"label_selector": {
"type": "object",
"title": "LoadBalancerTargetLabelSelector",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Label selector used to determine targets. Only present for target type \"label_selector\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of targets that belong to this Load Balancer"
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
},
"services": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
},
"description": "List of services that belong to this Load Balancer"
},
"algorithm": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"description": "Type of the algorithm"
}
},
"description": "Algorithm of the Load Balancer"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"public_net": {
"type": "object",
"required": [
"enabled",
"ipv4",
"ipv6"
],
"properties": {
"ipv4": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"nullable": true,
"description": "IP address (v4) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv4 address of this Load Balancer"
}
},
"description": "IP address (v4)"
},
"ipv6": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"nullable": true,
"description": "IP address (v6) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv6 address of this Load Balancer"
}
},
"description": "IP address (v6)"
},
"enabled": {
"type": "boolean",
"description": "Public Interface enabled or not"
}
},
"description": "Public network information"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "IP address (v4) of this Load Balancer in this Network"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
}
}
},
"description": "Private networks information"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 10000,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"load_balancer_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
}
}
}
LoadBalancersGetByIdResponse
{
"type": "object",
"required": [
"load_balancer"
],
"properties": {
"load_balancer": {
"type": "object",
"required": [
"id",
"name",
"public_net",
"private_net",
"location",
"load_balancer_type",
"protection",
"labels",
"created",
"services",
"targets",
"algorithm",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTarget",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTargetTarget",
"properties": {
"type": {
"type": "string",
"example": "server",
"description": "Type of the resource. Here always \"server\"."
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of resolved label selector target Servers. Only present for type \"label_selector\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"label_selector": {
"type": "object",
"title": "LoadBalancerTargetLabelSelector",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Label selector used to determine targets. Only present for target type \"label_selector\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of targets that belong to this Load Balancer"
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
},
"services": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
},
"description": "List of services that belong to this Load Balancer"
},
"algorithm": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"description": "Type of the algorithm"
}
},
"description": "Algorithm of the Load Balancer"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"public_net": {
"type": "object",
"required": [
"enabled",
"ipv4",
"ipv6"
],
"properties": {
"ipv4": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"nullable": true,
"description": "IP address (v4) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv4 address of this Load Balancer"
}
},
"description": "IP address (v4)"
},
"ipv6": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"nullable": true,
"description": "IP address (v6) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv6 address of this Load Balancer"
}
},
"description": "IP address (v6)"
},
"enabled": {
"type": "boolean",
"description": "Public Interface enabled or not"
}
},
"description": "Public network information"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "IP address (v4) of this Load Balancer in this Network"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
}
}
},
"description": "Private networks information"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 10000,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"load_balancer_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
}
}
LoadBalancersGetMetricsResponse
{
"type": "object",
"required": [
"metrics"
],
"properties": {
"metrics": {
"type": "object",
"required": [
"start",
"end",
"step",
"time_series"
],
"properties": {
"end": {
"type": "string",
"example": "2017-01-01T23:00:00+00:00",
"description": "End of period of metrics reported (in ISO-8601 format)"
},
"step": {
"type": "number",
"example": 60,
"description": "Resolution of results in seconds."
},
"start": {
"type": "string",
"example": "2017-01-01T00:00:00+00:00",
"description": "Start of period of metrics reported (in ISO-8601 format)"
},
"time_series": {
"type": "object",
"example": {
"name_of_timeseries": {
"values": [
[
1435781470.622,
"42"
],
[
1435781471.622,
"43"
]
]
}
},
"description": "Hash with timeseries information, containing the name of timeseries as key",
"additionalProperties": {
"type": "object",
"required": [
"values"
],
"properties": {
"values": {
"type": "array",
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"description": "Metrics Timestamps with values"
}
}
}
}
}
}
}
}
LoadBalancersUpdateBalancerRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "new-name",
"description": "New Load Balancer name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
LoadBalancersUpdateBalancerResponse
{
"type": "object",
"required": [
"load_balancer"
],
"properties": {
"load_balancer": {
"type": "object",
"required": [
"id",
"name",
"public_net",
"private_net",
"location",
"load_balancer_type",
"protection",
"labels",
"created",
"services",
"targets",
"algorithm",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Load Balancer."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTarget",
"required": [
"type"
],
"properties": {
"ip": {
"type": "object",
"title": "LoadBalancerTargetIP",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"example": "203.0.113.1",
"description": "IP of a server that belongs to the same customer (public IPv4/IPv6) or private IP in a Subnetwork type vswitch."
}
},
"description": "IP targets where the traffic should be routed to. It is only possible to use the (Public or vSwitch) IPs of Hetzner Online Root Servers belonging to the project owner. IPs belonging to other users are blocked. Additionally IPs belonging to services provided by Hetzner Cloud (Servers, Load Balancers, ...) are blocked as well. Only present for target type \"ip\"."
},
"type": {
"enum": [
"server",
"label_selector",
"ip"
],
"type": "string",
"description": "Type of the resource"
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerTargetTarget",
"properties": {
"type": {
"type": "string",
"example": "server",
"description": "Type of the resource. Here always \"server\"."
},
"server": {
"type": "object",
"title": "LoadBalancerTargetServer",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 80,
"description": "ID of the Server"
}
},
"description": "Server where the traffic should be routed to. Only present for target type \"server\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of resolved label selector target Servers. Only present for type \"label_selector\"."
},
"health_status": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"enum": [
"healthy",
"unhealthy",
"unknown"
],
"type": "string",
"example": "healthy"
},
"listen_port": {
"type": "integer",
"example": 443
}
}
},
"title": "LoadBalancerTargetHealthStatus",
"description": "List of health statuses of the services on this target. Only present for target types \"server\" and \"ip\"."
},
"label_selector": {
"type": "object",
"title": "LoadBalancerTargetLabelSelector",
"required": [
"selector"
],
"properties": {
"selector": {
"type": "string",
"example": "env=prod",
"description": "Label selector"
}
},
"description": "Label selector used to determine targets. Only present for target type \"label_selector\"."
},
"use_private_ip": {
"type": "boolean",
"title": "LoadBalancerTargetUsePrivateIP",
"default": false,
"description": "Use the private network IP instead of the public IP. Only present for target types \"server\" and \"label_selector\"."
}
}
},
"description": "List of targets that belong to this Load Balancer"
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
},
"services": {
"type": "array",
"items": {
"type": "object",
"title": "LoadBalancerService",
"required": [
"protocol",
"listen_port",
"destination_port",
"proxyprotocol",
"health_check"
],
"properties": {
"http": {
"type": "object",
"title": "LoadBalancerServiceHTTP",
"properties": {
"cookie_name": {
"type": "string",
"default": "HCLBSTICKY",
"example": "HCLBSTICKY",
"description": "Name of the cookie used for sticky sessions."
},
"certificates": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
897
],
"description": "IDs of the Certificates to use for TLS/SSL termination by the Load Balancer; empty for TLS/SSL passthrough or if `protocol` is `http`."
},
"redirect_http": {
"type": "boolean",
"default": false,
"example": true,
"description": "Redirect HTTP requests to HTTPS. Only available if `protocol` is `https`."
},
"cookie_lifetime": {
"type": "integer",
"default": 300,
"example": 300,
"description": "Lifetime of the cookie used for sticky sessions (in seconds)."
},
"sticky_sessions": {
"type": "boolean",
"default": false,
"example": true,
"description": "Use sticky sessions. Only available if `protocol` is `http` or `https`."
}
},
"description": "Configuration option for protocols http and https"
},
"protocol": {
"enum": [
"tcp",
"http",
"https"
],
"type": "string",
"example": "https",
"description": "Protocol of the Load Balancer"
},
"listen_port": {
"type": "integer",
"example": 443,
"description": "Port the Load Balancer listens on"
},
"health_check": {
"type": "object",
"title": "LoadBalancerServiceHealthCheck",
"required": [
"protocol",
"port",
"interval",
"timeout",
"retries"
],
"properties": {
"http": {
"type": "object",
"required": [
"domain",
"path"
],
"properties": {
"tls": {
"type": "boolean",
"example": false,
"description": "Use HTTPS for health check"
},
"path": {
"type": "string",
"example": "/",
"description": "HTTP path to use for health checks. May not contain literal spaces, use percent-encoding instead."
},
"domain": {
"type": "string",
"example": "example.com",
"nullable": true,
"description": "Host header to send in the HTTP request. May not contain spaces, percent or backslash symbols. Can be null, in that case no host header is sent."
},
"response": {
"type": "string",
"example": "{\"status\": \"ok\"}",
"description": "String that must be contained in HTTP response in order to pass the health check"
},
"status_codes": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"2??",
"3??"
],
"example": [
"2??",
"3??"
],
"description": "List of returned HTTP status codes in order to pass the health check. Supports the wildcards `?` for exactly one character and `*` for multiple ones."
}
},
"description": "Additional configuration for protocol http"
},
"port": {
"type": "integer",
"example": 4711,
"description": "Port the health check will be performed on"
},
"retries": {
"type": "integer",
"example": 3,
"description": "Unsuccessful retries needed until a target is considered unhealthy; an unhealthy target needs the same number of successful retries to become healthy again"
},
"timeout": {
"type": "integer",
"example": 10,
"description": "Time in seconds after an attempt is considered a timeout"
},
"interval": {
"type": "integer",
"example": 15,
"description": "Time interval in seconds health checks are performed"
},
"protocol": {
"enum": [
"tcp",
"http"
],
"type": "string",
"example": "http",
"description": "Type of the health check"
}
},
"description": "Service health check"
},
"proxyprotocol": {
"type": "boolean",
"example": false,
"description": "Is Proxyprotocol enabled or not"
},
"destination_port": {
"type": "integer",
"example": 80,
"description": "Port the Load Balancer will balance to"
}
}
},
"description": "List of services that belong to this Load Balancer"
},
"algorithm": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"round_robin",
"least_connections"
],
"type": "string",
"description": "Type of the algorithm"
}
},
"description": "Algorithm of the Load Balancer"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"public_net": {
"type": "object",
"required": [
"enabled",
"ipv4",
"ipv6"
],
"properties": {
"ipv4": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"nullable": true,
"description": "IP address (v4) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv4 address of this Load Balancer"
}
},
"description": "IP address (v4)"
},
"ipv6": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"nullable": true,
"description": "IP address (v6) of this Load Balancer"
},
"dns_ptr": {
"type": "string",
"example": "lb1.example.com",
"nullable": true,
"description": "Reverse DNS PTR entry for the IPv6 address of this Load Balancer"
}
},
"description": "IP address (v6)"
},
"enabled": {
"type": "boolean",
"description": "Public Interface enabled or not"
}
},
"description": "Public network information"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "IP address (v4) of this Load Balancer in this Network"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
}
}
},
"description": "Private networks information"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 10000,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"load_balancer_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"max_connections",
"max_services",
"max_targets",
"max_assigned_certificates",
"deprecated",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Unique identifier of the Load Balancer type"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
},
"description": "Prices in different network zones"
},
"deprecated": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"nullable": true,
"description": "Point in time when the Load Balancer type is deprecated (in ISO-8601 format)"
},
"description": {
"type": "string",
"example": "LB11",
"description": "Description of the Load Balancer type"
},
"max_targets": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Number of targets a single Load Balancer can have"
},
"max_services": {
"type": "integer",
"format": "int64",
"example": 5,
"description": "Number of services a Load Balancer of this type can have"
},
"max_connections": {
"type": "integer",
"format": "int64",
"example": 20000,
"description": "Number of maximum simultaneous open connections"
},
"max_assigned_certificates": {
"type": "integer",
"format": "int64",
"example": 10,
"description": "Number of SSL Certificates that can be assigned to a single Load Balancer"
}
}
}
}
}
}
}
LocationID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
}
LocationsGetAllLocationsResponse
{
"type": "object",
"required": [
"locations",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
},
"description": "List of Locations."
}
}
}
LocationsGetLocationByIdResponse
{
"type": "object",
"required": [
"location"
],
"properties": {
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
}
}
}
}
Name
{
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
}
NetworkActionsAddRouteRequest
{
"type": "object",
"title": "AddDeleteRouteRequest",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range, an IP behind a vSwitch or 172.31.1.1, as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
}
NetworkActionsAddRouteResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsAddSubnetRequest
{
"type": "object",
"title": "AddSubnetRequest",
"required": [
"type",
"network_zone"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. If the Subnet is of type vSwitch, it also can not overlap with any gateway in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"description": "ID of the robot vSwitch. Must be supplied if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
}
NetworkActionsAddSubnetResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsChangeIpRangeRequest
{
"type": "object",
"title": "ChangeIPRangeRequest",
"required": [
"ip_range"
],
"properties": {
"ip_range": {
"type": "string",
"example": "10.0.0.0/12",
"description": "The new prefix for the whole Network"
}
}
}
NetworkActionsChangeIpRangeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsChangeProtectionRequest
{
"type": "object",
"title": "ChangeProtectionRequest",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Network from being deleted"
}
}
}
NetworkActionsChangeProtectionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsDeleteRouteRequest
{
"type": "object",
"title": "AddDeleteRouteRequest",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range, an IP behind a vSwitch or 172.31.1.1, as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
}
NetworkActionsDeleteRouteResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsDeleteSubnetRequest
{
"type": "object",
"title": "DeleteSubnetRequest",
"required": [
"ip_range"
],
"properties": {
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "IP range of subnet to delete"
}
}
}
NetworkActionsDeleteSubnetResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsGetAction200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsGetActionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
NetworkActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
NetworkActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
NetworkID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Network."
}
NetworksCreateNetworkRequest
{
"type": "object",
"title": "CreateNetworkRequest",
"required": [
"name",
"ip_range"
],
"properties": {
"name": {
"type": "string",
"example": "mynet",
"description": "Name of the network"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1 as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
},
"description": "Array of routes set in this network. The destination of the route must be one of the private IPv4 ranges of RFC1918. The gateway must be a subnet/IP of the ip_range of the network object. The destination must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. The gateway cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1."
},
"subnets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"network_zone"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"description": "ID of the robot vSwitch. Must be supplied if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
},
"description": "Array of subnets allocated."
},
"ip_range": {
"type": "string",
"example": "10.0.0.0/16",
"description": "IP range of the whole network which must span all included subnets. Must be one of the private IPv4 ranges of RFC1918. Minimum network size is /24. We highly recommend that you pick a larger network with a /16 netmask."
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active."
}
}
}
NetworksCreateNetworkResponse
{
"type": "object",
"properties": {
"network": {
"type": "object",
"required": [
"id",
"name",
"ip_range",
"subnets",
"routes",
"servers",
"protection",
"labels",
"created",
"expose_routes_to_vswitch"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
},
"name": {
"type": "string",
"example": "mynet",
"description": "Name of the Network"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1 as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
},
"description": "Array of routes set in this Network"
},
"created": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"description": "Point in time when the Network was created (in ISO-8601 format)"
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers attached to this Network"
},
"subnets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"network_zone",
"gateway"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"gateway": {
"type": "string",
"example": "10.0.0.1",
"description": "Gateway for Servers attached to this subnet. For subnets of type Server this is always the first IP of the network IP range."
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"nullable": true,
"description": "ID of the robot vSwitch if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
},
"description": "Array subnets allocated in this Network"
},
"ip_range": {
"type": "string",
"example": "10.0.0.0/16",
"description": "IPv4 prefix of the whole Network"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Load Balancers attached to this Network"
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection."
}
}
}
}
}
NetworksGetAllResponse
{
"type": "object",
"required": [
"networks",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"ip_range",
"subnets",
"routes",
"servers",
"protection",
"labels",
"created",
"expose_routes_to_vswitch"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
},
"name": {
"type": "string",
"example": "mynet",
"description": "Name of the Network"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1 as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
},
"description": "Array of routes set in this Network"
},
"created": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"description": "Point in time when the Network was created (in ISO-8601 format)"
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers attached to this Network"
},
"subnets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"network_zone",
"gateway"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"gateway": {
"type": "string",
"example": "10.0.0.1",
"description": "Gateway for Servers attached to this subnet. For subnets of type Server this is always the first IP of the network IP range."
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"nullable": true,
"description": "ID of the robot vSwitch if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
},
"description": "Array subnets allocated in this Network"
},
"ip_range": {
"type": "string",
"example": "10.0.0.0/16",
"description": "IPv4 prefix of the whole Network"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Load Balancers attached to this Network"
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection."
}
}
}
}
}
}
NetworksGetByIdResponse
{
"type": "object",
"properties": {
"network": {
"type": "object",
"required": [
"id",
"name",
"ip_range",
"subnets",
"routes",
"servers",
"protection",
"labels",
"created",
"expose_routes_to_vswitch"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
},
"name": {
"type": "string",
"example": "mynet",
"description": "Name of the Network"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1 as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
},
"description": "Array of routes set in this Network"
},
"created": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"description": "Point in time when the Network was created (in ISO-8601 format)"
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers attached to this Network"
},
"subnets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"network_zone",
"gateway"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"gateway": {
"type": "string",
"example": "10.0.0.1",
"description": "Gateway for Servers attached to this subnet. For subnets of type Server this is always the first IP of the network IP range."
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"nullable": true,
"description": "ID of the robot vSwitch if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
},
"description": "Array subnets allocated in this Network"
},
"ip_range": {
"type": "string",
"example": "10.0.0.0/16",
"description": "IPv4 prefix of the whole Network"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Load Balancers attached to this Network"
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection."
}
}
}
}
}
NetworksUpdatePropertiesRequest
{
"type": "object",
"title": "UpdateNetworkRequest",
"properties": {
"name": {
"type": "string",
"example": "new-name",
"description": "New network name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection. The exposing only takes effect if a vSwitch connection is active."
}
}
}
NetworksUpdatePropertiesResponse
{
"type": "object",
"properties": {
"network": {
"type": "object",
"required": [
"id",
"name",
"ip_range",
"subnets",
"routes",
"servers",
"protection",
"labels",
"created",
"expose_routes_to_vswitch"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of the Network"
},
"name": {
"type": "string",
"example": "mynet",
"description": "Name of the Network"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"required": [
"destination",
"gateway"
],
"properties": {
"gateway": {
"type": "string",
"example": "10.0.1.1",
"description": "Gateway for the route. Cannot be the first IP of the networks ip_range and also cannot be 172.31.1.1 as this IP is being used as a gateway for the public network interface of Servers."
},
"destination": {
"type": "string",
"example": "10.100.1.0/24",
"description": "Destination network or host of this route. Must not overlap with an existing ip_range in any subnets or with any destinations in other routes or with the first IP of the networks ip_range or with 172.31.1.1. Must be one of the private IPv4 ranges of RFC1918."
}
}
},
"description": "Array of routes set in this Network"
},
"created": {
"type": "string",
"example": "2016-01-30T23:50:00+00:00",
"description": "Point in time when the Network was created (in ISO-8601 format)"
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers attached to this Network"
},
"subnets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"network_zone",
"gateway"
],
"properties": {
"type": {
"enum": [
"cloud",
"server",
"vswitch"
],
"type": "string",
"description": "Type of Subnetwork"
},
"gateway": {
"type": "string",
"example": "10.0.0.1",
"description": "Gateway for Servers attached to this subnet. For subnets of type Server this is always the first IP of the network IP range."
},
"ip_range": {
"type": "string",
"example": "10.0.1.0/24",
"description": "Range to allocate IPs from. Must be a Subnet of the ip_range of the parent network object and must not overlap with any other subnets or with any destinations in routes. Minimum Network size is /30. We suggest that you pick a bigger Network with a /24 netmask."
},
"vswitch_id": {
"type": "integer",
"format": "int64",
"example": 1000,
"nullable": true,
"description": "ID of the robot vSwitch if the subnet is of type vswitch."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"description": "Name of Network zone. The Location object contains the `network_zone` property each Location belongs to."
}
}
},
"description": "Array subnets allocated in this Network"
},
"ip_range": {
"type": "string",
"example": "10.0.0.0/16",
"description": "IPv4 prefix of the whole Network"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Load Balancers attached to this Network"
},
"expose_routes_to_vswitch": {
"type": "boolean",
"example": false,
"description": "Indicates if the routes from this network should be exposed to the vSwitch connection."
}
}
}
}
}
PaginationOffsetPagination
{
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
PlacementGroupID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
}
PlacementGroupsCreateNewGroupRequest
{
"type": "object",
"title": "CreatePlacementGroupRequest",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"example": "my Placement Group",
"description": "Name of the PlacementGroup"
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Define the Placement Group Type."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
PlacementGroupsCreateNewGroupResponse
{
"type": "object",
"title": "CreatePlacementGroupResponse",
"required": [
"placement_group"
],
"properties": {
"action": {
"type": "object",
"title": "ActionNullable",
"nullable": true,
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"placement_group": {
"type": "object",
"title": "PlacementGroup",
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
}
}
}
}
PlacementGroupsGetAllResponse
{
"type": "object",
"title": "PlacementGroupsResponse",
"required": [
"placement_groups",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"placement_groups": {
"type": "array",
"items": {
"type": "object",
"title": "PlacementGroup",
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
}
}
}
}
}
PlacementGroupsGetByIdResponse
{
"type": "object",
"title": "PlacementGroupResponse",
"required": [
"placement_group"
],
"properties": {
"placement_group": {
"type": "object",
"title": "PlacementGroup",
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
}
}
}
}
PlacementGroupsUpdatePropertiesRequest
{
"type": "object",
"title": "UpdatePlacementGroupRequest",
"properties": {
"name": {
"type": "string",
"example": "my Placement Group",
"description": "New PlacementGroup name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
PlacementGroupsUpdatePropertiesResponse
{
"type": "object",
"title": "PlacementGroupResponse",
"required": [
"placement_group"
],
"properties": {
"placement_group": {
"type": "object",
"title": "PlacementGroup",
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
}
}
}
}
Prices
{
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for."
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Hourly costs for a Resource in this Location."
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT."
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added."
}
},
"description": "Monthly costs for a Resource in this Location."
}
}
}
PricingGetAllPricesResponse
{
"type": "object",
"required": [
"pricing"
],
"properties": {
"pricing": {
"type": "object",
"required": [
"currency",
"vat_rate",
"image",
"floating_ip",
"floating_ips",
"traffic",
"server_backup",
"volume",
"server_types",
"load_balancer_types",
"primary_ips"
],
"properties": {
"image": {
"type": "object",
"required": [
"price_per_gb_month"
],
"properties": {
"price_per_gb_month": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
}
}
},
"description": "The cost of Image per GB/month"
},
"volume": {
"type": "object",
"required": [
"price_per_gb_month"
],
"properties": {
"price_per_gb_month": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
}
}
},
"description": "The cost of Volume per GB/month"
},
"traffic": {
"type": "object",
"required": [
"price_per_tb"
],
"properties": {
"price_per_tb": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
}
}
},
"description": "The cost of additional traffic per TB"
},
"currency": {
"type": "string",
"example": "EUR",
"description": "Currency the returned prices are expressed in, coded according to ISO 4217"
},
"vat_rate": {
"type": "string",
"format": "decimal",
"example": "19.000000",
"description": "The VAT rate used for calculating prices with VAT"
},
"floating_ip": {
"type": "object",
"required": [
"price_monthly"
],
"properties": {
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
}
}
},
"description": "The cost of one Floating IP per month"
},
"primary_ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"prices"
],
"properties": {
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"example": "ipv4",
"description": "The type of the Primary IP"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Primary IP type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Primary IP type in this Location"
}
}
},
"description": "Primary IP type costs per Location"
}
}
},
"description": "Costs of Primary IPs types per Location"
},
"floating_ips": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"prices"
],
"properties": {
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"example": "ipv4",
"description": "The type of the Floating IP"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Floating IP type in this Location"
}
}
},
"description": "Floating IP type costs per Location"
}
}
},
"description": "Costs of Floating IPs types per Location and type"
},
"server_types": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 4,
"description": "ID of the Server type the price is for"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Name of the Server type the price is for"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Server type costs per Location"
}
}
},
"description": "Costs of Server types per Location and type"
},
"server_backup": {
"type": "object",
"required": [
"percentage"
],
"properties": {
"percentage": {
"type": "string",
"format": "decimal",
"example": "20.0000000000",
"description": "Percentage by how much the base price will increase"
}
},
"description": "Will increase base Server costs by specific percentage"
},
"load_balancer_types": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"prices"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Load Balancer type the price is for"
},
"name": {
"type": "string",
"example": "lb11",
"description": "Name of the Load Balancer type the price is for"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Load Balancer type in this network zone"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Load Balancer type in this network zone"
}
}
},
"description": "Load Balancer type costs per Location"
}
}
},
"description": "Costs of Load Balancer types per Location and type"
}
}
}
}
}
PrimaryIPID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
}
PrimaryIPsCreateOrUpdateRequest
{
"type": "object",
"title": "CreatePrimaryIPRequest",
"required": [
"name",
"type",
"assignee_type"
],
"properties": {
"name": {
"type": "string",
"example": "my-ip"
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Primary IP type"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"datacenter": {
"type": "string",
"example": "fsn1-dc8",
"description": "ID or name of Datacenter the Primary IP will be bound to. Needs to be omitted if `assignee_id` is passed."
},
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 17,
"description": "ID of the resource the Primary IP should be assigned to. Omitted if it should not be assigned."
},
"auto_delete": {
"type": "boolean",
"default": false,
"example": false,
"description": "Delete the Primary IP when the Server it is assigned to is deleted."
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Resource type the Primary IP can be assigned to"
}
}
}
PrimaryIPsCreateOrUpdateResponse
{
"type": "object",
"title": "CreatePrimaryIPResponse",
"required": [
"primary_ip"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"primary_ip": {
"type": "object",
"title": "PrimaryIP",
"required": [
"id",
"name",
"labels",
"created",
"blocked",
"datacenter",
"ip",
"dns_ptr",
"protection",
"type",
"auto_delete",
"assignee_type",
"assignee_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Primary IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Primary IP is located at"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 17,
"nullable": true,
"description": "ID of the resource the Primary IP is assigned to, null if it is not assigned at all"
},
"auto_delete": {
"type": "boolean",
"example": true,
"description": "Delete this Primary IP when the resource it is assigned to is deleted"
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"description": "Resource type the Primary IP can be assigned to"
}
}
}
}
}
PrimaryIPsGetAllResponse
{
"type": "object",
"title": "PrimaryIPsResponse",
"required": [
"primary_ips",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"primary_ips": {
"type": "array",
"items": {
"type": "object",
"title": "PrimaryIP",
"required": [
"id",
"name",
"labels",
"created",
"blocked",
"datacenter",
"ip",
"dns_ptr",
"protection",
"type",
"auto_delete",
"assignee_type",
"assignee_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Primary IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Primary IP is located at"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 17,
"nullable": true,
"description": "ID of the resource the Primary IP is assigned to, null if it is not assigned at all"
},
"auto_delete": {
"type": "boolean",
"example": true,
"description": "Delete this Primary IP when the resource it is assigned to is deleted"
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"description": "Resource type the Primary IP can be assigned to"
}
}
}
}
}
}
PrimaryIPsGetByIdResponse
{
"type": "object",
"title": "PrimaryIPResponse",
"required": [
"primary_ip"
],
"properties": {
"primary_ip": {
"type": "object",
"title": "PrimaryIP",
"required": [
"id",
"name",
"labels",
"created",
"blocked",
"datacenter",
"ip",
"dns_ptr",
"protection",
"type",
"auto_delete",
"assignee_type",
"assignee_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Primary IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Primary IP is located at"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 17,
"nullable": true,
"description": "ID of the resource the Primary IP is assigned to, null if it is not assigned at all"
},
"auto_delete": {
"type": "boolean",
"example": true,
"description": "Delete this Primary IP when the resource it is assigned to is deleted"
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"description": "Resource type the Primary IP can be assigned to"
}
}
}
}
}
PrimaryIPsUpdateIpLabelsRequest
{
"type": "object",
"title": "UpdatePrimaryIPRequest",
"properties": {
"name": {
"type": "string",
"example": "my-ip",
"description": "New unique name to set"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"auto_delete": {
"type": "boolean",
"example": true,
"description": "Delete this Primary IP when the resource it is assigned to is deleted"
}
}
}
PrimaryIPsUpdateIpLabelsResponse
{
"type": "object",
"title": "PrimaryIPResponse",
"required": [
"primary_ip"
],
"properties": {
"primary_ip": {
"type": "object",
"title": "PrimaryIP",
"required": [
"id",
"name",
"labels",
"created",
"blocked",
"datacenter",
"ip",
"dns_ptr",
"protection",
"type",
"auto_delete",
"assignee_type",
"assignee_id"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "IP address."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"ipv4",
"ipv6"
],
"type": "string",
"description": "Type of the Primary IP"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"blocked": {
"type": "boolean",
"example": false,
"description": "Whether the IP is blocked"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "131.232.99.1",
"description": "Single IPv4 or IPv6 address"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"description": "Array of reverse DNS entries"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Primary IP is located at"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 17,
"nullable": true,
"description": "ID of the resource the Primary IP is assigned to, null if it is not assigned at all"
},
"auto_delete": {
"type": "boolean",
"example": true,
"description": "Delete this Primary IP when the resource it is assigned to is deleted"
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"description": "Resource type the Primary IP can be assigned to"
}
}
}
}
}
PrimaryIpActionsAssignPrimaryIpToResourceRequest
{
"type": "object",
"title": "AssignPrimaryIPRequest",
"required": [
"assignee_type",
"assignee_id"
],
"properties": {
"assignee_id": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of a resource of type `assignee_type`"
},
"assignee_type": {
"enum": [
"server"
],
"type": "string",
"example": "server",
"description": "Type of resource assigning the Primary IP to"
}
}
}
PrimaryIpActionsAssignPrimaryIpToResourceResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
PrimaryIpActionsChangeDnsPtrRequest
{
"type": "object",
"title": "ChangeDNSPTRRequest",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address for which to set the reverse DNS entry"
},
"dns_ptr": {
"type": "string",
"example": "server02.example.com",
"nullable": true,
"description": "Hostname to set as a reverse DNS PTR entry, will reset to original default value if `null`"
}
}
}
PrimaryIpActionsChangeDnsPtrResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
PrimaryIpActionsChangeProtectionPrimaryIpRequest
{
"type": "object",
"title": "ChangeProtectionRequest",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Primary IP from being deleted"
}
}
}
PrimaryIpActionsChangeProtectionPrimaryIpResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
PrimaryIpActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
PrimaryIpActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
PrimaryIpActionsUnassignPrimaryIpResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
Protection
{
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
}
SSHKeyID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the SSH Key."
}
ServerActionsAddToPlacementGroupRequest
{
"type": "object",
"title": "AddToPlacementGroupRequest",
"required": [
"placement_group"
],
"properties": {
"placement_group": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of Placement Group the Server should be added to"
}
}
}
ServerActionsAddToPlacementGroupResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsAttachIsoToServerRequest
{
"type": "object",
"required": [
"iso"
],
"properties": {
"iso": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"description": "ID or name of ISO to attach to the Server as listed in GET `/isos`"
}
}
}
ServerActionsAttachIsoToServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsAttachToNetworkRequest
{
"type": "object",
"title": "AttachToNetworkRequest",
"required": [
"network"
],
"properties": {
"ip": {
"type": "string",
"example": "10.0.1.1",
"description": "IP to request to be assigned to this Server; if you do not provide this then you will be auto assigned an IP address"
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of an existing network to attach the Server to"
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"10.0.1.2"
],
"description": "Additional IPs to be assigned to this Server"
}
}
}
ServerActionsAttachToNetworkResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsChangeAliasIpsRequest
{
"type": "object",
"required": [
"network",
"alias_ips"
],
"properties": {
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of an existing Network already attached to the Server"
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"10.0.1.2"
],
"description": "New alias IPs to set for this Server"
}
}
}
ServerActionsChangeAliasIpsResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsChangeDnsPtrRequest
{
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "Primary IP address for which the reverse DNS entry should be set"
},
"dns_ptr": {
"type": "string",
"example": "server01.example.com",
"nullable": true,
"description": "Hostname to set as a reverse DNS PTR entry, reset to original value if `null`"
}
}
}
ServerActionsChangeDnsPtrResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsChangeProtectionRequest
{
"type": "object",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Server from being deleted (currently delete and rebuild attribute needs to have the same value)"
},
"rebuild": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Server from being rebuilt (currently delete and rebuild attribute needs to have the same value)"
}
}
}
ServerActionsChangeProtectionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsChangeServerTypeRequest
{
"type": "object",
"required": [
"upgrade_disk",
"server_type"
],
"properties": {
"server_type": {
"type": "string",
"example": "cx11",
"description": "ID or name of Server type the Server should migrate to"
},
"upgrade_disk": {
"type": "boolean",
"example": true,
"description": "If false, do not upgrade the disk (this allows downgrading the Server type later)"
}
}
}
ServerActionsChangeServerTypeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsCreateImageRequest
{
"type": "object",
"title": "CreateImageRequest",
"properties": {
"type": {
"enum": [
"snapshot",
"backup"
],
"type": "string",
"default": "snapshot",
"example": "snapshot",
"description": "Type of Image to create."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"description": {
"type": "string",
"example": "my image",
"description": "Description of the Image, will be auto-generated if not set"
}
}
}
ServerActionsCreateImageResponse
{
"type": "object",
"properties": {
"image": {
"type": "object",
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
}
},
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsDetachFromNetworkRequest
{
"type": "object",
"title": "DetachFromNetworkRequest",
"required": [
"network"
],
"properties": {
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "ID of an existing network to detach the Server from"
}
}
}
ServerActionsDetachFromNetworkResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsDetachIsoFromServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsDisableBackupResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsDisableRescueModeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsEnableBackupResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsEnableRescueModeRequest
{
"type": "object",
"properties": {
"type": {
"enum": [
"linux64"
],
"type": "string",
"default": "linux64",
"description": "Type of rescue system to boot."
},
"ssh_keys": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
2323
],
"description": "Array of SSH key IDs which should be injected into the rescue system."
}
}
}
ServerActionsEnableRescueModeResponse
{
"type": "object",
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"root_password": {
"type": "string",
"example": "zCWbFhnu950dUTko5f40",
"description": "Password that will be set for this Server once the Action succeeds"
}
}
}
ServerActionsGetActionById200Response
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ServerActionsGetAllResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
ServerActionsGracefulShutdownResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsPowerOffServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsPowerOnServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsRebuildServerFromImageRequest
{
"type": "object",
"title": "RebuildServerRequest",
"required": [
"image"
],
"properties": {
"image": {
"type": "string",
"example": "ubuntu-20.04",
"description": "ID or name of Image to rebuilt from."
}
}
}
ServerActionsRebuildServerFromImageResponse
{
"type": "object",
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"root_password": {
"type": "string",
"nullable": true,
"description": "New root password when not using SSH keys"
}
}
}
ServerActionsRemoveFromPlacementGroupResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsRequestConsoleResponse
{
"type": "object",
"required": [
"wss_url",
"password",
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"wss_url": {
"type": "string",
"example": "wss://console.hetzner.cloud/?server_id=1&token=3db32d15-af2f-459c-8bf8-dee1fd05f49c",
"description": "URL of websocket proxy to use; this includes a token which is valid for a limited time only"
},
"password": {
"type": "string",
"example": "9MQaTg2VAGI0FIpc10k3UpRXcHj2wQ6x",
"description": "VNC password to use for this connection (this password only works in combination with a wss_url with valid token)"
}
}
}
ServerActionsResetServerPasswordResponse
{
"type": "object",
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"root_password": {
"type": "string",
"example": "zCWbFhnu950dUTko5f40",
"description": "Password that will be set for this Server once the Action succeeds"
}
}
}
ServerActionsResetServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerActionsSoftRebootServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServerID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
}
ServerTypeID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server Type."
}
ServerTypesGetServerTypeResponse
{
"type": "object",
"required": [
"server_type"
],
"properties": {
"server_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
}
}
}
ServerTypesListAllServerTypesResponse
{
"type": "object",
"required": [
"server_types"
],
"properties": {
"server_types": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
}
}
}
}
ServersCreateServerActionRequest
{
"type": "object",
"title": "CreateServerRequest",
"required": [
"name",
"server_type",
"image"
],
"properties": {
"name": {
"type": "string",
"example": "my-server",
"description": "Name of the Server to create (must be unique per Project and a valid hostname as per RFC 1123)"
},
"image": {
"type": "string",
"example": "ubuntu-20.04",
"description": "ID or name of the Image the Server is created from"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"volumes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
123
],
"description": "Volume IDs which should be attached to the Server at the creation time. Volumes must be in the same Location."
},
"location": {
"type": "string",
"example": "nbg1",
"description": "ID or name of Location to create Server in (must not be used together with datacenter)"
},
"networks": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
456
],
"description": "Network IDs which should be attached to the Server private network interface at the creation time"
},
"ssh_keys": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"my-ssh-key"
],
"description": "SSH key IDs (`integer`) or names (`string`) which should be injected into the Server at creation time"
},
"automount": {
"type": "boolean",
"example": false,
"description": "Auto-mount Volumes after attach"
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"required": [
"firewall"
],
"properties": {
"firewall": {
"type": "integer",
"format": "int64",
"description": "ID of the Firewall"
}
}
},
"example": [
{
"firewall": 38
}
],
"description": "Firewalls which should be applied on the Server's public network interface at creation time"
},
"user_data": {
"type": "string",
"example": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n",
"description": "Cloud-Init user data to use during Server creation. This field is limited to 32KiB."
},
"datacenter": {
"type": "string",
"example": "nbg1-dc3",
"description": "ID or name of Datacenter to create Server in (must not be used together with location)"
},
"public_net": {
"type": "object",
"properties": {
"ipv4": {
"type": "integer",
"nullable": true,
"description": "ID of the ipv4 Primary IP to use. If omitted and enable_ipv4 is true, a new ipv4 Primary IP will automatically be created."
},
"ipv6": {
"type": "integer",
"nullable": true,
"description": "ID of the ipv6 Primary IP to use. If omitted and enable_ipv6 is true, a new ipv6 Primary IP will automatically be created."
},
"enable_ipv4": {
"type": "boolean",
"default": true,
"description": "Attach an IPv4 on the public NIC. If false, no IPv4 address will be attached."
},
"enable_ipv6": {
"type": "boolean",
"default": true,
"description": "Attach an IPv6 on the public NIC. If false, no IPv6 address will be attached."
}
},
"description": "Public Network options"
},
"server_type": {
"type": "string",
"example": "cx11",
"description": "ID or name of the Server type this Server should be created with"
},
"placement_group": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Placement Group the server should be in"
},
"start_after_create": {
"type": "boolean",
"default": true,
"example": true,
"description": "This automatically triggers a [Power on a Server-Server Action](https://docs.hetzner.cloud) after the creation is finished and is returned in the `next_actions` response object."
}
}
}
ServersCreateServerActionResponse
{
"type": "object",
"title": "CreateServerResponse",
"required": [
"server",
"action",
"next_actions",
"root_password"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"server": {
"type": "object",
"required": [
"id",
"name",
"status",
"created",
"public_net",
"private_net",
"server_type",
"datacenter",
"image",
"iso",
"rescue_enabled",
"locked",
"backup_window",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic",
"protection",
"labels",
"primary_disk_size"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
},
"iso": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
},
"description": "ISO Image that is attached to this Server. Null if no ISO is attached."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Server (must be unique per Project and a valid hostname as per RFC 1123)"
},
"image": {
"type": "object",
"nullable": true,
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
},
"description": "Image the server is based on."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"locked": {
"type": "boolean",
"example": false,
"description": "True if Server has been locked and is not available to user"
},
"status": {
"enum": [
"running",
"initializing",
"starting",
"stopping",
"off",
"deleting",
"migrating",
"rebuilding",
"unknown"
],
"type": "string",
"description": "Status of the Server"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"volumes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of Volumes assigned to this Server"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Resource is located at"
},
"protection": {
"type": "object",
"required": [
"delete",
"rebuild"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being deleted"
},
"rebuild": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being rebuilt"
}
},
"description": "Protection configuration for the Server"
},
"public_net": {
"type": "object",
"required": [
"ipv4",
"ipv6",
"floating_ips"
],
"properties": {
"ipv4": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address (v4) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "string",
"example": "server01.example.com",
"description": "Reverse DNS PTR entry for the IPv4 addresses of this Server"
}
},
"description": "IP address (v4) and its reverse DNS entry of this Server"
},
"ipv6": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "2001:db8::/64",
"description": "IP address (v6) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv6 address of this Server for which the reverse DNS entry has been set up"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"nullable": true,
"description": "Reverse DNS PTR entries for the IPv6 addresses of this Server"
}
},
"description": "IPv6 network assigned to this Server and its reverse DNS entry"
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"title": "ServerPublicNetFirewall",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"status": {
"enum": [
"applied",
"pending"
],
"type": "string",
"example": "applied",
"description": "Status of the Firewall on the Server"
}
}
},
"description": "Firewalls applied to the public network interface of this Server"
},
"floating_ips": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
478
],
"description": "IDs of Floating IPs assigned to this Server"
}
},
"description": "Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "The server IP address on the network."
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "The Network ID the server is attached to."
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional IP addresses of the server on the network."
},
"mac_address": {
"type": "string",
"example": "86:00:ff:2a:7d:e1",
"description": "The server MAC address on the network."
}
}
},
"description": "Private networks information"
},
"server_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
},
"backup_window": {
"type": "string",
"example": "22-02",
"nullable": true,
"description": "Time window (UTC) in which the backup will run, or null if the backups are not enabled"
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "Load Balancer IDs assigned to the server."
},
"rescue_enabled": {
"type": "boolean",
"example": false,
"description": "True if rescue mode is enabled. Server will then boot into rescue system on next reboot"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"placement_group": {
"type": "object",
"title": "PlacementGroupNullable",
"nullable": true,
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
},
"description": "The placement group the server is assigned to."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"nullable": true,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"primary_disk_size": {
"type": "number",
"example": 50,
"description": "Size of the primary Disk"
}
}
},
"next_actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
},
"root_password": {
"type": "string",
"example": "YItygq1v3GYjjMomLaKc",
"nullable": true,
"description": "Root password when no SSH keys have been specified"
}
}
}
ServersDeleteServerResponse
{
"type": "object",
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
ServersGetAllResponse
{
"type": "object",
"required": [
"servers",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"servers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"status",
"created",
"public_net",
"private_net",
"server_type",
"datacenter",
"image",
"iso",
"rescue_enabled",
"locked",
"backup_window",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic",
"protection",
"labels",
"primary_disk_size"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
},
"iso": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
},
"description": "ISO Image that is attached to this Server. Null if no ISO is attached."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Server (must be unique per Project and a valid hostname as per RFC 1123)"
},
"image": {
"type": "object",
"nullable": true,
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
},
"description": "Image the server is based on."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"locked": {
"type": "boolean",
"example": false,
"description": "True if Server has been locked and is not available to user"
},
"status": {
"enum": [
"running",
"initializing",
"starting",
"stopping",
"off",
"deleting",
"migrating",
"rebuilding",
"unknown"
],
"type": "string",
"description": "Status of the Server"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"volumes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of Volumes assigned to this Server"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Resource is located at"
},
"protection": {
"type": "object",
"required": [
"delete",
"rebuild"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being deleted"
},
"rebuild": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being rebuilt"
}
},
"description": "Protection configuration for the Server"
},
"public_net": {
"type": "object",
"required": [
"ipv4",
"ipv6",
"floating_ips"
],
"properties": {
"ipv4": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address (v4) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "string",
"example": "server01.example.com",
"description": "Reverse DNS PTR entry for the IPv4 addresses of this Server"
}
},
"description": "IP address (v4) and its reverse DNS entry of this Server"
},
"ipv6": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "2001:db8::/64",
"description": "IP address (v6) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv6 address of this Server for which the reverse DNS entry has been set up"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"nullable": true,
"description": "Reverse DNS PTR entries for the IPv6 addresses of this Server"
}
},
"description": "IPv6 network assigned to this Server and its reverse DNS entry"
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"title": "ServerPublicNetFirewall",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"status": {
"enum": [
"applied",
"pending"
],
"type": "string",
"example": "applied",
"description": "Status of the Firewall on the Server"
}
}
},
"description": "Firewalls applied to the public network interface of this Server"
},
"floating_ips": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
478
],
"description": "IDs of Floating IPs assigned to this Server"
}
},
"description": "Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "The server IP address on the network."
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "The Network ID the server is attached to."
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional IP addresses of the server on the network."
},
"mac_address": {
"type": "string",
"example": "86:00:ff:2a:7d:e1",
"description": "The server MAC address on the network."
}
}
},
"description": "Private networks information"
},
"server_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
},
"backup_window": {
"type": "string",
"example": "22-02",
"nullable": true,
"description": "Time window (UTC) in which the backup will run, or null if the backups are not enabled"
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "Load Balancer IDs assigned to the server."
},
"rescue_enabled": {
"type": "boolean",
"example": false,
"description": "True if rescue mode is enabled. Server will then boot into rescue system on next reboot"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"placement_group": {
"type": "object",
"title": "PlacementGroupNullable",
"nullable": true,
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
},
"description": "The placement group the server is assigned to."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"nullable": true,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"primary_disk_size": {
"type": "number",
"example": 50,
"description": "Size of the primary Disk"
}
}
}
}
}
}
ServersGetMetricsForServerResponse
{
"type": "object",
"required": [
"metrics"
],
"properties": {
"metrics": {
"type": "object",
"required": [
"start",
"end",
"step",
"time_series"
],
"properties": {
"end": {
"type": "string",
"example": "2017-01-01T23:00:00+00:00",
"description": "End of period of metrics reported (in ISO-8601 format)"
},
"step": {
"type": "number",
"example": 60,
"description": "Resolution of results in seconds."
},
"start": {
"type": "string",
"example": "2017-01-01T00:00:00+00:00",
"description": "Start of period of metrics reported (in ISO-8601 format)"
},
"time_series": {
"type": "object",
"example": {
"name_of_timeseries": {
"values": [
[
1435781470.622,
"42"
],
[
1435781471.622,
"43"
]
]
}
},
"description": "Hash with timeseries information, containing the name of timeseries as key",
"additionalProperties": {
"type": "object",
"required": [
"values"
],
"properties": {
"values": {
"type": "array",
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"description": "Metrics Timestamps with values"
}
}
}
}
}
}
}
}
ServersGetServerResponse
{
"type": "object",
"properties": {
"server": {
"type": "object",
"required": [
"id",
"name",
"status",
"created",
"public_net",
"private_net",
"server_type",
"datacenter",
"image",
"iso",
"rescue_enabled",
"locked",
"backup_window",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic",
"protection",
"labels",
"primary_disk_size"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
},
"iso": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
},
"description": "ISO Image that is attached to this Server. Null if no ISO is attached."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Server (must be unique per Project and a valid hostname as per RFC 1123)"
},
"image": {
"type": "object",
"nullable": true,
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
},
"description": "Image the server is based on."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"locked": {
"type": "boolean",
"example": false,
"description": "True if Server has been locked and is not available to user"
},
"status": {
"enum": [
"running",
"initializing",
"starting",
"stopping",
"off",
"deleting",
"migrating",
"rebuilding",
"unknown"
],
"type": "string",
"description": "Status of the Server"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"volumes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of Volumes assigned to this Server"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Resource is located at"
},
"protection": {
"type": "object",
"required": [
"delete",
"rebuild"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being deleted"
},
"rebuild": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being rebuilt"
}
},
"description": "Protection configuration for the Server"
},
"public_net": {
"type": "object",
"required": [
"ipv4",
"ipv6",
"floating_ips"
],
"properties": {
"ipv4": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address (v4) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "string",
"example": "server01.example.com",
"description": "Reverse DNS PTR entry for the IPv4 addresses of this Server"
}
},
"description": "IP address (v4) and its reverse DNS entry of this Server"
},
"ipv6": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "2001:db8::/64",
"description": "IP address (v6) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv6 address of this Server for which the reverse DNS entry has been set up"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"nullable": true,
"description": "Reverse DNS PTR entries for the IPv6 addresses of this Server"
}
},
"description": "IPv6 network assigned to this Server and its reverse DNS entry"
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"title": "ServerPublicNetFirewall",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"status": {
"enum": [
"applied",
"pending"
],
"type": "string",
"example": "applied",
"description": "Status of the Firewall on the Server"
}
}
},
"description": "Firewalls applied to the public network interface of this Server"
},
"floating_ips": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
478
],
"description": "IDs of Floating IPs assigned to this Server"
}
},
"description": "Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "The server IP address on the network."
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "The Network ID the server is attached to."
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional IP addresses of the server on the network."
},
"mac_address": {
"type": "string",
"example": "86:00:ff:2a:7d:e1",
"description": "The server MAC address on the network."
}
}
},
"description": "Private networks information"
},
"server_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
},
"backup_window": {
"type": "string",
"example": "22-02",
"nullable": true,
"description": "Time window (UTC) in which the backup will run, or null if the backups are not enabled"
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "Load Balancer IDs assigned to the server."
},
"rescue_enabled": {
"type": "boolean",
"example": false,
"description": "True if rescue mode is enabled. Server will then boot into rescue system on next reboot"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"placement_group": {
"type": "object",
"title": "PlacementGroupNullable",
"nullable": true,
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
},
"description": "The placement group the server is assigned to."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"nullable": true,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"primary_disk_size": {
"type": "number",
"example": 50,
"description": "Size of the primary Disk"
}
}
}
}
}
ServersUpdateServerRequest
{
"type": "object",
"title": "UpdateServerRequest",
"properties": {
"name": {
"type": "string",
"example": "my-server",
"description": "New name to set"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
ServersUpdateServerResponse
{
"type": "object",
"properties": {
"server": {
"type": "object",
"required": [
"id",
"name",
"status",
"created",
"public_net",
"private_net",
"server_type",
"datacenter",
"image",
"iso",
"rescue_enabled",
"locked",
"backup_window",
"outgoing_traffic",
"ingoing_traffic",
"included_traffic",
"protection",
"labels",
"primary_disk_size"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Server."
},
"iso": {
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"description",
"type",
"deprecation",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the ISO."
},
"name": {
"type": "string",
"example": "FreeBSD-11.0-RELEASE-amd64-dvd1",
"nullable": true,
"description": "Unique identifier of the ISO. Only set for public ISOs"
},
"type": {
"enum": [
"public",
"private"
],
"type": "string",
"nullable": true,
"description": "Type of the ISO"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "FreeBSD 11.0 x64",
"description": "Description of the ISO"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"nullable": true,
"description": "Type of cpu architecture this iso is compatible with. Null indicates no restriction on the architecture (wildcard)."
}
},
"description": "ISO Image that is attached to this Server. Null if no ISO is attached."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Server (must be unique per Project and a valid hostname as per RFC 1123)"
},
"image": {
"type": "object",
"nullable": true,
"required": [
"id",
"type",
"status",
"name",
"description",
"image_size",
"disk_size",
"created",
"created_from",
"bound_to",
"os_flavor",
"os_version",
"protection",
"deprecated",
"deleted",
"labels",
"architecture"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Image."
},
"name": {
"type": "string",
"example": "ubuntu-20.04",
"nullable": true,
"description": "Unique identifier of the Image. This value is only set for system Images."
},
"type": {
"enum": [
"system",
"app",
"snapshot",
"backup",
"temporary"
],
"type": "string",
"example": "snapshot",
"description": "Type of the Image"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"status": {
"enum": [
"available",
"creating",
"unavailable"
],
"type": "string",
"description": "Whether the Image can be used or if it's still being created or unavailable"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"deleted": {
"type": "string",
"example": null,
"nullable": true,
"description": "Point in time where the Image was deleted (in ISO-8601 format)"
},
"bound_to": {
"type": "integer",
"format": "int64",
"example": null,
"nullable": true,
"description": "ID of Server the Image is bound to. Only set for Images of type `backup`."
},
"disk_size": {
"type": "number",
"example": 10,
"description": "Size of the disk contained in the Image in GB"
},
"os_flavor": {
"enum": [
"ubuntu",
"centos",
"debian",
"fedora",
"rocky",
"alma",
"unknown"
],
"type": "string",
"example": "ubuntu",
"description": "Flavor of operating system contained in the Image"
},
"deprecated": {
"type": "string",
"example": "2018-02-28T00:00:00+00:00",
"nullable": true,
"description": "Point in time when the Image is considered to be deprecated (in ISO-8601 format)"
},
"image_size": {
"type": "number",
"example": 2.3,
"nullable": true,
"description": "Size of the Image file in our storage in GB. For snapshot Images this is the value relevant for calculating costs for the Image."
},
"os_version": {
"type": "string",
"example": "20.04",
"nullable": true,
"description": "Operating system version"
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"description": {
"type": "string",
"example": "Ubuntu 20.04 Standard 64 bit",
"description": "Description of the Image"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture this image is compatible with."
},
"created_from": {
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server the Image was created from"
},
"name": {
"type": "string",
"example": "Server",
"description": "Server name at the time the Image was created"
}
},
"description": "Information about the Server the Image was created from"
},
"rapid_deploy": {
"type": "boolean",
"example": false,
"description": "Indicates that rapid deploy of the Image is available"
}
},
"description": "Image the server is based on."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"locked": {
"type": "boolean",
"example": false,
"description": "True if Server has been locked and is not available to user"
},
"status": {
"enum": [
"running",
"initializing",
"starting",
"stopping",
"off",
"deleting",
"migrating",
"rebuilding",
"unknown"
],
"type": "string",
"description": "Status of the Server"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"volumes": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of Volumes assigned to this Server"
},
"datacenter": {
"type": "object",
"required": [
"id",
"name",
"description",
"location",
"server_types"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Datacenter."
},
"name": {
"type": "string",
"example": "fsn1-dc8",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Datacenter."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "The location of the datacenter."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 8",
"description": "Human readable description of the Datacenter."
},
"server_types": {
"type": "object",
"required": [
"supported",
"available",
"available_for_migration"
],
"properties": {
"available": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) currently available in this Datacenter.\n\nThe listed Server Types can currently be purchased. Types that are temporarily unavailable\nbut are supported in this Datacenter are listed as `supported`.\n"
},
"supported": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n\nThose Server Types are generally available in this Datacenter, but might be\ntemporarily out of stock.\n"
},
"available_for_migration": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
1,
2,
3
],
"description": "IDs of the [Server Types](https://docs.hetzner.cloud) that are available to migrate to in this Datacenter.\n\nExisting Servers can be migrated to the Server Types listed here.\n"
}
},
"description": "[Server Types](https://docs.hetzner.cloud) that are supported in this Datacenter.\n"
}
},
"description": "Datacenter this Resource is located at"
},
"protection": {
"type": "object",
"required": [
"delete",
"rebuild"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being deleted"
},
"rebuild": {
"type": "boolean",
"example": false,
"description": "If true, prevents the Server from being rebuilt"
}
},
"description": "Protection configuration for the Server"
},
"public_net": {
"type": "object",
"required": [
"ipv4",
"ipv6",
"floating_ips"
],
"properties": {
"ipv4": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "1.2.3.4",
"description": "IP address (v4) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "string",
"example": "server01.example.com",
"description": "Reverse DNS PTR entry for the IPv4 addresses of this Server"
}
},
"description": "IP address (v4) and its reverse DNS entry of this Server"
},
"ipv6": {
"type": "object",
"nullable": true,
"required": [
"ip",
"blocked",
"dns_ptr"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Primary IP."
},
"ip": {
"type": "string",
"example": "2001:db8::/64",
"description": "IP address (v6) of this Server"
},
"blocked": {
"type": "boolean",
"example": false,
"description": "If the IP is blocked by our anti abuse dept"
},
"dns_ptr": {
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"dns_ptr"
],
"properties": {
"ip": {
"type": "string",
"example": "2001:db8::1",
"description": "Single IPv6 address of this Server for which the reverse DNS entry has been set up"
},
"dns_ptr": {
"type": "string",
"example": "server.example.com",
"description": "DNS pointer for the specific IP address"
}
}
},
"nullable": true,
"description": "Reverse DNS PTR entries for the IPv6 addresses of this Server"
}
},
"description": "IPv6 network assigned to this Server and its reverse DNS entry"
},
"firewalls": {
"type": "array",
"items": {
"type": "object",
"title": "ServerPublicNetFirewall",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Firewall."
},
"status": {
"enum": [
"applied",
"pending"
],
"type": "string",
"example": "applied",
"description": "Status of the Firewall on the Server"
}
}
},
"description": "Firewalls applied to the public network interface of this Server"
},
"floating_ips": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
478
],
"description": "IDs of Floating IPs assigned to this Server"
}
},
"description": "Public network information. The Server's IPv4 address can be found in `public_net->ipv4->ip`"
},
"private_net": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"example": "10.0.0.2",
"description": "The server IP address on the network."
},
"network": {
"type": "integer",
"format": "int64",
"example": 4711,
"description": "The Network ID the server is attached to."
},
"alias_ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional IP addresses of the server on the network."
},
"mac_address": {
"type": "string",
"example": "86:00:ff:2a:7d:e1",
"description": "The server MAC address on the network."
}
}
},
"description": "Private networks information"
},
"server_type": {
"type": "object",
"required": [
"id",
"name",
"description",
"cores",
"memory",
"disk",
"deprecated",
"prices",
"storage_type",
"cpu_type",
"architecture",
"included_traffic"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 1,
"description": "ID of the Server type"
},
"disk": {
"type": "number",
"example": 24,
"description": "Disk size a Server of this type will have in GB"
},
"name": {
"type": "string",
"example": "cx11",
"description": "Unique identifier of the Server type"
},
"cores": {
"type": "number",
"example": 1,
"description": "Number of cpu cores a Server of this type will have"
},
"memory": {
"type": "number",
"example": 1,
"description": "Memory a Server of this type will have in GB"
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"location",
"price_hourly",
"price_monthly"
],
"properties": {
"location": {
"type": "string",
"example": "fsn1",
"description": "Name of the Location the price is for"
},
"price_hourly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Hourly costs for a Server type in this Location"
},
"price_monthly": {
"type": "object",
"required": [
"net",
"gross"
],
"properties": {
"net": {
"type": "string",
"format": "decimal",
"example": "1.0000000000",
"description": "Price without VAT"
},
"gross": {
"type": "string",
"format": "decimal",
"example": "1.1900000000000000",
"description": "Price with VAT added"
}
},
"description": "Monthly costs for a Server type in this Location"
}
}
},
"description": "Prices in different Locations"
},
"cpu_type": {
"enum": [
"shared",
"dedicated"
],
"type": "string",
"description": "Type of cpu"
},
"deprecated": {
"type": "boolean",
"example": false,
"description": "This field is deprecated. Use the deprecation object instead"
},
"deprecation": {
"type": "object",
"title": "DeprecationInfo",
"nullable": true,
"required": [
"unavailable_after",
"announced"
],
"properties": {
"announced": {
"type": "string",
"format": "iso-8601",
"example": "2023-06-01T00:00:00+00:00",
"description": "Date of the deprecation announcement.\n"
},
"unavailable_after": {
"type": "string",
"format": "iso-8601",
"example": "2023-09-01T00:00:00+00:00",
"description": "Date of the deprecated resource removal.\n\nOnce this date is reached, the resource will not be returned\nby resource type \"list\" endpoint, and the resource can not be\nused to create new resources. For example, if this is an\nimage, you can not create new servers with this image after\nthe mentioned date.\n"
}
},
"description": "Describes if, when and how the resource is deprecated. If this field is\nset to `null` the resource is not deprecated. If a value is set, it is\nconsidered deprecated.\n"
},
"description": {
"type": "string",
"example": "CX11",
"description": "Description of the Server type"
},
"architecture": {
"enum": [
"x86",
"arm"
],
"type": "string",
"example": "x86",
"description": "Type of cpu architecture"
},
"storage_type": {
"enum": [
"local",
"network"
],
"type": "string",
"description": "Type of Server boot drive. Local has higher speed. Network has better availability."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"description": "Free traffic per month in bytes"
}
}
},
"backup_window": {
"type": "string",
"example": "22-02",
"nullable": true,
"description": "Time window (UTC) in which the backup will run, or null if the backups are not enabled"
},
"load_balancers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "Load Balancer IDs assigned to the server."
},
"rescue_enabled": {
"type": "boolean",
"example": false,
"description": "True if rescue mode is enabled. Server will then boot into rescue system on next reboot"
},
"ingoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Inbound Traffic for the current billing period in bytes"
},
"placement_group": {
"type": "object",
"title": "PlacementGroupNullable",
"nullable": true,
"required": [
"id",
"name",
"labels",
"type",
"created",
"servers"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Placement Group."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"type": {
"enum": [
"spread"
],
"type": "string",
"example": "spread",
"description": "Type of the Placement Group"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"servers": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"example": [
42
],
"description": "Array of IDs of Servers that are part of this Placement Group"
}
},
"description": "The placement group the server is assigned to."
},
"included_traffic": {
"type": "integer",
"format": "int64",
"example": 654321,
"nullable": true,
"description": "Free Traffic for the current billing period in bytes"
},
"outgoing_traffic": {
"type": "integer",
"format": "int64",
"example": 123456,
"nullable": true,
"description": "Outbound Traffic for the current billing period in bytes"
},
"primary_disk_size": {
"type": "number",
"example": 50,
"description": "Size of the primary Disk"
}
}
}
}
}
SshKeysCreateKeyRequest
{
"type": "object",
"required": [
"name",
"public_key"
],
"properties": {
"name": {
"type": "string",
"example": "My ssh key",
"description": "Name of the SSH key"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"public_key": {
"type": "string",
"example": "ssh-rsa AAAjjk76kgf...Xt",
"description": "Public key"
}
}
}
SshKeysCreateKeyResponse
{
"type": "object",
"required": [
"ssh_key"
],
"properties": {
"ssh_key": {
"type": "object",
"required": [
"id",
"name",
"fingerprint",
"public_key",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the SSH Key."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"public_key": {
"type": "string",
"example": "ssh-rsa AAAjjk76kgf...Xt",
"description": "Public key"
},
"fingerprint": {
"type": "string",
"example": "b7:2f:30:a0:2f:6c:58:6c:21:04:58:61:ba:06:3b:2f",
"description": "Fingerprint of public key"
}
}
}
}
}
SshKeysGetAllSshKeysResponse
{
"type": "object",
"required": [
"ssh_keys",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"ssh_keys": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"fingerprint",
"public_key",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the SSH Key."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"public_key": {
"type": "string",
"example": "ssh-rsa AAAjjk76kgf...Xt",
"description": "Public key"
},
"fingerprint": {
"type": "string",
"example": "b7:2f:30:a0:2f:6c:58:6c:21:04:58:61:ba:06:3b:2f",
"description": "Fingerprint of public key"
}
}
}
}
}
}
SshKeysGetByIdResponse
{
"type": "object",
"required": [
"ssh_key"
],
"properties": {
"ssh_key": {
"type": "object",
"required": [
"id",
"name",
"fingerprint",
"public_key",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the SSH Key."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"public_key": {
"type": "string",
"example": "ssh-rsa AAAjjk76kgf...Xt",
"description": "Public key"
},
"fingerprint": {
"type": "string",
"example": "b7:2f:30:a0:2f:6c:58:6c:21:04:58:61:ba:06:3b:2f",
"description": "Fingerprint of public key"
}
}
}
}
}
SshKeysUpdateKeyRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "My ssh key",
"description": "New name Name to set"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
SshKeysUpdateKeyResponse
{
"type": "object",
"required": [
"ssh_key"
],
"properties": {
"ssh_key": {
"type": "object",
"required": [
"id",
"name",
"fingerprint",
"public_key",
"labels",
"created"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the SSH Key."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"public_key": {
"type": "string",
"example": "ssh-rsa AAAjjk76kgf...Xt",
"description": "Public key"
},
"fingerprint": {
"type": "string",
"example": "b7:2f:30:a0:2f:6c:58:6c:21:04:58:61:ba:06:3b:2f",
"description": "Fingerprint of public key"
}
}
}
}
}
Timestamp
{
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time (in ISO-8601 format)."
}
TimestampNullable
{
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time (in ISO-8601 format)."
}
VolumeActionsAttachVolumeToServerRequest
{
"type": "object",
"title": "AttachVolumeRequest",
"required": [
"server"
],
"properties": {
"server": {
"type": "integer",
"format": "int64",
"example": 43,
"description": "ID of the Server the Volume will be attached to"
},
"automount": {
"type": "boolean",
"example": false,
"description": "Auto-mount the Volume after attaching it"
}
}
}
VolumeActionsAttachVolumeToServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsChangeProtectionVolumeRequest
{
"type": "object",
"properties": {
"delete": {
"type": "boolean",
"example": true,
"description": "If true, prevents the Volume from being deleted"
}
}
}
VolumeActionsChangeProtectionVolumeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsChangeSizeRequest
{
"type": "object",
"required": [
"size"
],
"properties": {
"size": {
"type": "number",
"example": 50,
"description": "New Volume size in GB (must be greater than current size)"
}
}
}
VolumeActionsChangeSizeResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsDetachVolumeFromServerResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsGetActionByIdResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsGetActionResponse
{
"type": "object",
"title": "ActionResponse",
"required": [
"action"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
VolumeActionsGetAllActions200Response
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
VolumeActionsGetAllActionsResponse
{
"type": "object",
"title": "ActionListResponseWithMeta",
"required": [
"actions",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
VolumeID
{
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Volume."
}
VolumesCreateVolumeRequest
{
"type": "object",
"title": "CreateVolumeRequest",
"required": [
"size",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "databases-storage",
"description": "Name of the volume"
},
"size": {
"type": "integer",
"example": 42,
"description": "Size of the Volume in GB"
},
"format": {
"type": "string",
"example": "xfs",
"description": "Format Volume after creation. One of: `xfs`, `ext4`"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"description": "Server to which to attach the Volume once it's created (Volume will be created in the same Location as the server)"
},
"location": {
"type": "string",
"example": "nbg1",
"description": "Location to create the Volume in (can be omitted if Server is specified)"
},
"automount": {
"type": "boolean",
"example": false,
"description": "Auto-mount Volume after attach. `server` must be provided."
}
}
}
VolumesCreateVolumeResponse
{
"type": "object",
"required": [
"volume",
"action",
"next_actions"
],
"properties": {
"action": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
},
"volume": {
"type": "object",
"required": [
"id",
"created",
"name",
"server",
"location",
"size",
"linux_device",
"protection",
"labels",
"status",
"format"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Volume."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"size": {
"type": "number",
"example": 42,
"description": "Size in GB of the Volume"
},
"format": {
"type": "string",
"example": "xfs",
"nullable": true,
"description": "Filesystem of the Volume if formatted on creation, null if not formatted on creation"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 12,
"nullable": true,
"description": "ID of the Server the Volume is attached to, null if it is not attached at all"
},
"status": {
"enum": [
"creating",
"available"
],
"type": "string",
"example": "available",
"description": "Current status of the Volume"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location of the Volume. Volume can only be attached to Servers in the same Location."
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"linux_device": {
"type": "string",
"example": "/dev/disk/by-id/scsi-0HC_Volume_4711",
"description": "Device path on the file system for the Volume"
}
}
},
"next_actions": {
"type": "array",
"items": {
"type": "object",
"title": "Action",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Action."
},
"error": {
"type": "object",
"nullable": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"example": "action_failed",
"description": "Fixed error code for machines."
},
"message": {
"type": "string",
"example": "Action failed",
"description": "Error message for humans."
}
},
"description": "Error message for the Action if an error occurred, otherwise null."
},
"status": {
"enum": [
"running",
"success",
"error"
],
"type": "string",
"description": "Status of the Action."
},
"command": {
"type": "string",
"example": "start_resource",
"description": "Command executed in the Action."
},
"started": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Action was started (in ISO-8601 format)."
},
"finished": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"nullable": true,
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"progress": {
"type": "integer",
"format": "int32",
"example": 100,
"description": "Progress of the Action in percent."
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Resource."
},
"type": {
"type": "string",
"example": "server",
"description": "Type of the Resource."
}
}
},
"description": "Resources the Action relates to."
}
}
}
}
}
}
VolumesGetAllResponse
{
"type": "object",
"required": [
"volumes",
"meta"
],
"properties": {
"meta": {
"type": "object",
"title": "ListMeta",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"page",
"per_page",
"previous_page",
"next_page",
"last_page",
"total_entries"
],
"properties": {
"page": {
"type": "integer",
"format": "int64",
"example": 3,
"description": "Current page number."
},
"per_page": {
"type": "integer",
"format": "int64",
"example": 25,
"description": "Maximum number of entries returned per page."
},
"last_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "integer",
"format": "int64",
"example": 4,
"nullable": true,
"description": "Page number of the next page. Can be null if the current page is the last one."
},
"previous_page": {
"type": "integer",
"format": "int64",
"example": 2,
"nullable": true,
"description": "Page number of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "integer",
"format": "int64",
"example": 100,
"nullable": true,
"description": "Total number of entries that exist for this query. Can be null if unknown."
}
},
"description": "See \"[Pagination](https://docs.hetzner.cloud)\" for more information."
}
}
},
"volumes": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"created",
"name",
"server",
"location",
"size",
"linux_device",
"protection",
"labels",
"status",
"format"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Volume."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"size": {
"type": "number",
"example": 42,
"description": "Size in GB of the Volume"
},
"format": {
"type": "string",
"example": "xfs",
"nullable": true,
"description": "Filesystem of the Volume if formatted on creation, null if not formatted on creation"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 12,
"nullable": true,
"description": "ID of the Server the Volume is attached to, null if it is not attached at all"
},
"status": {
"enum": [
"creating",
"available"
],
"type": "string",
"example": "available",
"description": "Current status of the Volume"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location of the Volume. Volume can only be attached to Servers in the same Location."
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"linux_device": {
"type": "string",
"example": "/dev/disk/by-id/scsi-0HC_Volume_4711",
"description": "Device path on the file system for the Volume"
}
}
}
}
}
}
VolumesGetByIdResponse
{
"type": "object",
"required": [
"volume"
],
"properties": {
"volume": {
"type": "object",
"required": [
"id",
"created",
"name",
"server",
"location",
"size",
"linux_device",
"protection",
"labels",
"status",
"format"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Volume."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"size": {
"type": "number",
"example": 42,
"description": "Size in GB of the Volume"
},
"format": {
"type": "string",
"example": "xfs",
"nullable": true,
"description": "Filesystem of the Volume if formatted on creation, null if not formatted on creation"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 12,
"nullable": true,
"description": "ID of the Server the Volume is attached to, null if it is not attached at all"
},
"status": {
"enum": [
"creating",
"available"
],
"type": "string",
"example": "available",
"description": "Current status of the Volume"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location of the Volume. Volume can only be attached to Servers in the same Location."
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"linux_device": {
"type": "string",
"example": "/dev/disk/by-id/scsi-0HC_Volume_4711",
"description": "Device path on the file system for the Volume"
}
}
}
}
}
VolumesUpdateVolumePropertiesRequest
{
"type": "object",
"title": "UpdateVolumeRequest",
"properties": {
"name": {
"type": "string",
"example": "database-storage",
"description": "New Volume name"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
}
}
}
VolumesUpdateVolumePropertiesResponse
{
"type": "object",
"required": [
"volume"
],
"properties": {
"volume": {
"type": "object",
"required": [
"id",
"created",
"name",
"server",
"location",
"size",
"linux_device",
"protection",
"labels",
"status",
"format"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Volume."
},
"name": {
"type": "string",
"example": "my-resource",
"description": "Name of the Resource. Must be unique per Project."
},
"size": {
"type": "number",
"example": 42,
"description": "Size in GB of the Volume"
},
"format": {
"type": "string",
"example": "xfs",
"nullable": true,
"description": "Filesystem of the Volume if formatted on creation, null if not formatted on creation"
},
"labels": {
"type": "object",
"example": {
"just-a-key": "",
"environment": "prod",
"example.com/my": "label"
},
"description": "User-defined labels (`key/value` pairs) for the Resource.\nFor more information, see \"[Labels](https://docs.hetzner.cloud)\".\n",
"additionalProperties": {
"type": "string"
}
},
"server": {
"type": "integer",
"format": "int64",
"example": 12,
"nullable": true,
"description": "ID of the Server the Volume is attached to, null if it is not attached at all"
},
"status": {
"enum": [
"creating",
"available"
],
"type": "string",
"example": "available",
"description": "Current status of the Volume"
},
"created": {
"type": "string",
"example": "2016-01-30T23:55:00+00:00",
"description": "Point in time when the Resource was created (in ISO-8601 format)."
},
"location": {
"type": "object",
"required": [
"id",
"name",
"description",
"country",
"city",
"latitude",
"longitude",
"network_zone"
],
"properties": {
"id": {
"type": "integer",
"format": "int64",
"example": 42,
"maximum": 9007199254740991,
"description": "ID of the Location."
},
"city": {
"type": "string",
"example": "Falkenstein",
"description": "Name of the closest city to the Location.\n\nCity name or city name and state in short form. E.g. `Falkenstein` or `Ashburn, VA`.\n"
},
"name": {
"type": "string",
"example": "fsn1",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Unique identifier of the Location."
},
"country": {
"type": "string",
"example": "DE",
"description": "Country the Location resides in.\n\nISO 3166-1 alpha-2 code of the country.\n"
},
"latitude": {
"type": "number",
"format": "double",
"example": 50.47612,
"description": "Latitude of the city closest to the Location."
},
"longitude": {
"type": "number",
"format": "double",
"example": 12.370071,
"description": "Longitude of the city closest to the Location."
},
"description": {
"type": "string",
"example": "Falkenstein DC Park 1",
"description": "Humand readable description of the Location."
},
"network_zone": {
"type": "string",
"example": "eu-central",
"pattern": "^[a-z0-9]+(-?[a-z0-9]*)*$",
"description": "Name of the Network Zone this Location resides in."
}
},
"description": "Location of the Volume. Volume can only be attached to Servers in the same Location."
},
"protection": {
"type": "object",
"required": [
"delete"
],
"properties": {
"delete": {
"type": "boolean",
"example": false,
"description": "Prevent the Resource from being deleted."
}
},
"description": "Protection configuration for the Resource."
},
"linux_device": {
"type": "string",
"example": "/dev/disk/by-id/scsi-0HC_Volume_4711",
"description": "Device path on the file system for the Volume"
}
}
}
}
}