The Monitoring Service offers regional APIs that enable programmatic interaction with the platform. These APIs serve various purposes: task automation, system integration, and platform functionality extension. Additionally, the APIs allow you to filter metrics based on different criteria.
A sub-user is a user who has access to the Monitoring Service but is not an administrator or an owner. IONOS's crucial access control restriction does not allow sub-users to view or modify pipelines belonging to other sub-user accounts, except the primary administrator, who retains full cross-pipeline privileges. Ensure that the sub-user pipeline ownership and access permissions align with your organizational needs.
If a sub-user account creates a pipeline, access is restricted only to that sub-user and the primary administrator. Other sub-users cannot access or perform CRUD operations on the respective pipeline. For example, if sub-user A creates Pipeline 1, only sub-user A and the primary administrator account can view, edit, delete, or manage Pipeline 1. No other sub-user accounts will have access to it.
A regional endpoint is necessary to interact with the Monitoring Service REST API endpoints. Currently, IONOS supports only the following regions for the Monitoring Service:
Berlin: https://monitoring.de-txl.ionos.com/pipelines
Frankfurt: https://monitoring.de-fra.ionos.com/pipelines
London: https://monitoring.gb-lhr.ionos.com/pipelines
Paris: https://monitoring.fr-par.ionos.com/pipelines
Logroño: https://monitoring.es-vit.ionos.com/pipelines
Note: We recommend using the authorized IP addresses associated with each endpoint if you need to configure firewall rules to restrict traffic sent to the Monitoring Service endpoints. It enables you to configure rules accordingly to ensure traffic is redirected only through authorized IP addresses for each endpoint. For more information about the authorized IP addresses, see FAQs.
To interact with the Monitoring Service REST API endpoints, the header must contain the following values:
Here are some of the most common API How-Tos for the Monitoring Service:
We recommend you refer to the following after creating an instance via the API:
Ensures that the pipeline with the provided ID is created or modified. The full pipeline needs to be provided to ensure (either update or create) the pipeline. Non present data will only be filled with defaults or left empty, but not take previous values into consideration.
To ensure that the pipeline with the provided ID is created or modified, perform PUT
request.
The following is a sample request. Remember to replace the {pipelineID}
with a valid ID of the specific pipeline you want to create or update.
Below is the list of mandatory path parameters for updating a Monitoring Pipeline:
Path Parameters | Type | Description | Example |
---|---|---|---|
Below is the list of mandatory body parameters for updating a Monitoring Pipeline:
Body Parameters | Required | Type | Description | Example |
---|---|---|---|---|
To make authenticated requests to the API, the following fields are mandatory in the request header:
Header Parameters | Required | Type | Description |
---|---|---|---|
The following is a sample response. The values returned by each response differ based on the request.
200 Successful operation
Result: The Monitoring Pipeline is successfully updated or created.
Deletes the specified Pipeline.
To delete a Pipeline, perform a DELETE
request with the pipelineId
of the pipeline.
The following is a sample request. Remember to replace the {pipelineID}
with a valid ID of the specific pipeline that must be deleted.
You can update the pipelineID
value to delete a specific pipeline:
Path Parameters | Type | Description | Example |
---|
To make authenticated requests to the API, the following fields are mandatory in the request header:
Header Parameters | Required | Type | Description |
---|
202 Successful operation
Result: The Monitoring Pipeline with the specified pipelineID
is successfully deleted.
To create or update a Pipeline, you need to provide the complete Pipeline configuration. If you wish to create a new Pipeline or modify an existing one with a specified ID, you should include all necessary details in your request. Optional fields will be automatically populated with default values or left empty if not provided. To ensure that the Pipeline is created or updated correctly, perform a PUT
request with the full Pipeline data.
To ensure secure and authorized metric data submission, each Monitoring Pipeline is assigned a unique key
upon creation. This key acts as a credential for metric exporters or agents pushing data to the pipeline's HTTP endpoint.
For security reasons, the API key is not returned in the response after creating a pipeline. It's crucial to store the key securely during pipeline creation for future reference.
Key points
The key
is included in the metadata
section of the pipeline response (see "key": "momSrlgAAEmaYEvBsMr^HsYn"
in the example).
Metric exporters or agents must be configured to include this key in their requests to the pipeline's HTTP endpoint for successful data ingestion.
This mechanism safeguards the pipeline from unauthorized data submissions and maintains data integrity within the Monitoring Service.
Best practices
Store the pipeline key securely for authorized metric sources only.
Avoid sharing or exposing the key publicly.
Consider periodically for enhanced security.
To create a Monitoring Pipeline, perform a POST
request.
Below is the list of mandatory body parameters for creating a Pipeline:
To make authenticated requests to the API, the following fields are mandatory in the request header:
The following is a sample response. The values returned by each response differ based on the request.
Result: A Monitoring Pipeline is successfully created.
Header | Required | Type | Description |
---|---|---|---|
Body Parameters | Required | Type | Description | Example |
---|
Header Parameters | Required | Type | Description |
---|
Authorization
yes
string
A Bearer $TOKEN
is a string that is tied to your account. For information on generating tokens, see Create New Tokens.
Content-Type
yes
string
Set this to application/json
.
Create an instance of a monitoring pipeline.
Obtain a new key for a monitoring pipeline.
Update an existing monitoring pipeline.
Retrieve information about a specific monitoring pipeline.
Retrieve all monitoring pipelines.
Delete a specific monitoring pipeline.
pipelineId
string
The ID (UUID) of the Pipeline.
f72521ba-1590-5998-bf96-6eb997a5887d
metadata
no
object
Metadata
{}
properties
yes
object
A pipeline consists of the generic rules and configurations of a monitoring pipeline instance.
{ "name": "Updated Pipeline" }
Authorization
yes
string
The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API.
Content-Type
yes
string
Set this to application/json
.
| no | object | Metadata |
|
| yes | object | A pipeline consists of the generic rules and configurations of a monitoring pipeline instance. |
|
| yes | string | Name of your Pipeline. |
|
| yes | string | The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API. |
| yes | string | Set this to |
| string | The ID (UUID) of the Pipeline. |
|
| yes | string | The Bearer token enable requests to authenticate using an JSON Web Token (JWT). |
This endpoint enables retrieving all pipelines using pagination and optional filters.
To retrieve all the Monitoring Pipelines, perform a GET
request.
The following is a sample request.
Below is the list of optional Query Parameters:
Query Parameters | Type | Description | Example |
---|---|---|---|
To make authenticated requests to the API, the following fields are mandatory in the request header:
Header Parameters | Required | Type | Description |
---|---|---|---|
The following is a sample response. The values returned by each response differ based on the request.
200 Successful operation
Result: All existing Monitoring Pipelines and their details are successfully obtained.
Returns the Monitoring Pipeline by ID.
To retrieve a Monitoring Pipeline, perform a GET
request.
The following is a sample request. Remember to replace the {pipelineID}
with a valid ID of the specific pipeline whose information you want to access.
Path Parameter | Type | Description | Example |
---|---|---|---|
To make authenticated requests to the API, the following fields are mandatory in the request header:
Header Parameter | Required | Type | Description |
---|---|---|---|
The following is a sample response. The values returned by each response differ based on the request.
200 Successful operation
Result: The Monitoring Pipeline and its details for the specified pipelineID
are successfully obtained.
Note: A key is necessary to send metrics through the newly formed monitoring pipeline. For more information about creating a key, see Obtain a New Key.
To obtain a new key, perform a PUT
request with the complete key configuration. Ensure that you specify all the mandatory details. The optional fields will be automatically populated with default values or left empty if not specified.
To get a new key for a pipeline, you can use the following request. Remember to replace the {pipelineID}
with a valid ID of a pipeline to access its key
.
You can update the pipelineID
value to delete a specific pipeline:
Path Parameters | Type | Description | Example |
---|---|---|---|
To make authenticated requests to the API, the following fields are mandatory in the request header:
Header Parameters | Required | Type | Description |
---|---|---|---|
Generates a new key for a pipeline invalidating the old one. The key is used for authentication when sending metrics.
orderBy
string
The field to order the results by. If not provided, the results will be ordered by the default field.
Default: createdDate
Enum: createdDate
, lastModifiedDate
, name
, lastModifiedDate
createdDate
Authorization
yes
string
The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API.
pipelineID
string
The ID (UUID) of the Pipeline.
66a114c7-2ddd-5119-9ddf-5a789f5a5a44
Authorization
yes
string
The Bearer token to enable requests to authenticate using a JSON Web Token (JWT).
pipelineID
string
The ID (UUID) of the Pipeline.
85c79b4b-5b40-570a-b788-58dd46ea71e2
Authorization
yes
string
The Bearer token enable requests to authenticate using a JSON Web Token (JWT).