Target groups

Get Target Groups

get

Lists target groups.

A target group is a set of one or more registered targets. You must specify an IP address, a port number, and a weight for each target. Any object with an IP address in your VDC can be a target, for example, a VM, another load balancer, etc. You can register a target with multiple target groups.

Authorizations
Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
offsetinteger · int32Optional

The first element (from the complete list of the elements) to include in the response (used together with limit for pagination).

Default: 0
limitinteger · int32 · min: 1 · max: 200Optional

The maximum number of elements to return (used together with offset for pagination). It must not exceed 200.

Default: 100
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses
200
Successful operation
application/json
get
GET /cloudapi/v6/targetgroups HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
  "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  "type": "collection",
  "href": "<RESOURCE-URI>",
  "items": [
    {
      "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
      "type": "target-group",
      "href": "<RESOURCE-URI>",
      "metadata": {
        "etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
        "createdDate": "2015-12-04T14:34:09.809Z",
        "createdBy": "[email protected]",
        "createdByUserId": "[email protected]",
        "lastModifiedDate": "2015-12-04T14:34:09.809Z",
        "lastModifiedBy": "[email protected]",
        "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
        "state": "AVAILABLE"
      },
      "properties": {
        "name": "My target group",
        "algorithm": "ROUND_ROBIN",
        "protocol": "HTTP",
        "protocolVersion": "HTTP1",
        "location": "de/fra",
        "targets": [
          {
            "ip": "22.231.2.2",
            "port": 8080,
            "weight": 123,
            "proxyProtocol": "v1",
            "healthCheckEnabled": true,
            "maintenanceEnabled": true
          }
        ],
        "healthCheck": {
          "checkTimeout": 2000,
          "checkInterval": 2000,
          "retries": 3
        },
        "httpHealthCheck": {
          "path": "/monitoring",
          "method": "GET",
          "matchType": "STATUS_CODE",
          "response": "200",
          "regex": false,
          "negate": false
        }
      }
    }
  ],
  "offset": 0,
  "limit": 1000,
  "_links": {
    "prev": "<PREVIOUS-PAGE-URI>",
    "self": "<THIS-PAGE-URI>",
    "next": "<NEXT-PAGE-URI>"
  }
}

Create a Target Group

post

Creates a target group.

Authorizations
Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Body
idstringRead-onlyOptional

The resource's unique identifier.

Example: 15f67991-0f51-4efc-a8ad-ef1fb31a480c
typeall ofOptional

The type of object that has been created.

Example: target-group
string · enumOptionalPossible values:
hrefstring · uriRead-onlyOptional

The URL to the object representation (absolute path).

Example: <RESOURCE-URI>
Responses
202
Successful operation
application/json
post
POST /cloudapi/v6/targetgroups HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 494

{
  "type": "target-group",
  "metadata": {},
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}
{
  "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  "type": "target-group",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
    "createdDate": "2015-12-04T14:34:09.809Z",
    "createdBy": "[email protected]",
    "createdByUserId": "[email protected]",
    "lastModifiedDate": "2015-12-04T14:34:09.809Z",
    "lastModifiedBy": "[email protected]",
    "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
    "state": "AVAILABLE"
  },
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}

Get a Target Group by ID

get

Retrieves the properties of the target group specified by its ID.

Authorizations
Path parameters
targetGroupIdstringRequired

The unique ID of the target group.

Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses
200
Successful operation
application/json
get
GET /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*
{
  "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  "type": "target-group",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
    "createdDate": "2015-12-04T14:34:09.809Z",
    "createdBy": "[email protected]",
    "createdByUserId": "[email protected]",
    "lastModifiedDate": "2015-12-04T14:34:09.809Z",
    "lastModifiedBy": "[email protected]",
    "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
    "state": "AVAILABLE"
  },
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}

Modify a Target Group by ID

put

Modifies the properties of the target group specified by its ID.

Authorizations
Path parameters
targetGroupIdstringRequired

The unique ID of the target group.

Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Body
idstringRead-onlyOptional

The resource's unique identifier.

Example: 15f67991-0f51-4efc-a8ad-ef1fb31a480c
typeall ofOptional

The type of object that has been created.

Example: applicationloadbalancer
string · enumOptionalPossible values:
hrefstring · uriRead-onlyOptional

The URL to the object representation (absolute path).

Example: <RESOURCE-URI>
Responses
202
Successful operation
application/json
put
PUT /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 491

{
  "type": "applicationloadbalancer",
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}
{
  "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  "type": "target-group",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
    "createdDate": "2015-12-04T14:34:09.809Z",
    "createdBy": "[email protected]",
    "createdByUserId": "[email protected]",
    "lastModifiedDate": "2015-12-04T14:34:09.809Z",
    "lastModifiedBy": "[email protected]",
    "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
    "state": "AVAILABLE"
  },
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}

Delete a Target Group by ID

delete

Deletes the target group specified by its ID.

Authorizations
Path parameters
targetGroupIdstringRequired

The unique ID of the target group.

Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Responses
202
Successful operation
delete
DELETE /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Accept: */*

No content

Partially Modify a Target Group by ID

patch

Updates the properties of the target group specified by its ID.

Authorizations
Path parameters
targetGroupIdstringRequired

The unique ID of the target group.

Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Body
namestringRequired

The target group name.

Example: My target group
algorithmstring · enumRequired

The balancing algorithm. A balancing algorithm consists of predefined rules with the logic that a load balancer uses to distribute network traffic between servers.

  • Round Robin: Targets are served alternately according to their weighting.

  • Least Connection: The target with the least active connection is served.

  • Random: The targets are served based on a consistent pseudorandom algorithm.

  • Source IP: It is ensured that the same client IP address reaches the same target.

Example: ROUND_ROBINPossible values:
protocolstring · enumRequired

The forwarding protocol. Only the value 'HTTP' is allowed.

Example: HTTPPossible values:
protocolVersionstring · enumOptional

The forwarding protocol version. Value is ignored when protocol is not 'HTTP'.

Example: HTTP1Possible values:
locationstringOptional

The target group location. This attribute is optional.

Example: de/fra
Responses
202
Successful operation
application/json
patch
PATCH /cloudapi/v6/targetgroups/{targetGroupId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 443

{
  "name": "My target group",
  "algorithm": "ROUND_ROBIN",
  "protocol": "HTTP",
  "protocolVersion": "HTTP1",
  "location": "de/fra",
  "targets": [
    {
      "ip": "22.231.2.2",
      "port": 8080,
      "weight": 123,
      "proxyProtocol": "v1",
      "healthCheckEnabled": true,
      "maintenanceEnabled": true
    }
  ],
  "healthCheck": {
    "checkTimeout": 2000,
    "checkInterval": 2000,
    "retries": 3
  },
  "httpHealthCheck": {
    "path": "/monitoring",
    "method": "GET",
    "matchType": "STATUS_CODE",
    "response": "200",
    "regex": false,
    "negate": false
  }
}
{
  "id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
  "type": "target-group",
  "href": "<RESOURCE-URI>",
  "metadata": {
    "etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
    "createdDate": "2015-12-04T14:34:09.809Z",
    "createdBy": "[email protected]",
    "createdByUserId": "[email protected]",
    "lastModifiedDate": "2015-12-04T14:34:09.809Z",
    "lastModifiedBy": "[email protected]",
    "lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
    "state": "AVAILABLE"
  },
  "properties": {
    "name": "My target group",
    "algorithm": "ROUND_ROBIN",
    "protocol": "HTTP",
    "protocolVersion": "HTTP1",
    "location": "de/fra",
    "targets": [
      {
        "ip": "22.231.2.2",
        "port": 8080,
        "weight": 123,
        "proxyProtocol": "v1",
        "healthCheckEnabled": true,
        "maintenanceEnabled": true
      }
    ],
    "healthCheck": {
      "checkTimeout": 2000,
      "checkInterval": 2000,
      "retries": 3
    },
    "httpHealthCheck": {
      "path": "/monitoring",
      "method": "GET",
      "matchType": "STATUS_CODE",
      "response": "200",
      "regex": false,
      "negate": false
    }
  }
}

Was this helpful?