# Pipelines

A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.

This tag groups all operations for pipelines.

## Retrieve all Pipelines

> This endpoint enables retrieving all Pipelines using\
> pagination and optional filters.<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Logging Service REST API","version":"0.0.1"},"tags":[{"name":"Pipelines","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n\nThis tag groups all operations for pipelines.\n"}],"servers":[{"url":"https://logging.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://logging.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://logging.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://logging.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://logging.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://logging.fr-par.ionos.com","description":"service endpoint for location fr-par"},{"url":"https://logging.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://logging.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://logging.us-las.ionos.com","description":"service endpoint for location us-las"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"parameters":{"paginationOffset":{"name":"offset","in":"query","description":"The first element (of the total list of elements) to include in the response. Use this parameter together with the limit for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},"paginationLimit":{"name":"limit","in":"query","description":"The maximum number of elements to return. Use this parameter together with the offset for pagination.","required":false,"schema":{"type":"integer","format":"int32","default":100,"minimum":1,"maximum":1000}}},"schemas":{"PipelineReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Pipeline resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Pipeline resources.","type":"string"},"items":{"description":"The list of Pipeline resources.","type":"array","items":{"$ref":"#/components/schemas/PipelineRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"PipelineRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Pipeline.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["pipeline"]},"href":{"description":"The URL of the Pipeline.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Pipeline"}}},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state"],"properties":{"state":{"type":"string","description":"The status of the object. The status can be:\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED` - resource failed, details in `failureMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"Pipeline":{"allOf":[{"$ref":"#/components/schemas/PipelineNoAddr"},{"type":"object","properties":{"tcpAddress":{"type":"string","description":"The TCP address of the pipeline. This is the address to which logs are sent using the TCP protocol.\n"},"httpAddress":{"type":"string","description":"The HTTP address of the pipeline. This is the address to which logs are sent using the HTTP protocol.\n"},"grafanaAddress":{"type":"string","description":"The Grafana address is where user can access their logs, create dashboards, and set up alerts.\n"},"resourceTier":{"type":"string","description":"The resource tier of the pipeline. This is used to determine the resources allocated to the pipeline.\n"},"key":{"type":"string","description":"The key is shared once and is used to authenticate the logs sent to the pipeline.\n"}}}]},"PipelineNoAddr":{"type":"object","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the pipeline. Must be not more that 20 characters long.\n"},"logs":{"type":"array","items":{"required":["source","tag","protocol","destinations"],"type":"object","properties":{"source":{"type":"string","description":"The source of the logs. Could be one of the following: `generic`, `kubernetes`, `docker`, `systemd`.\n"},"tag":{"type":"string","description":"The tag of the logs. Tag represents a short alphanumeric badge (3–20 characters). It must contain only letters and digits, with no special characters or spaces.\n"},"protocol":{"type":"string","description":"The protocol used to send logs. Could be one of the following: `http`, `tcp`.\n"},"labels":{"type":"array","description":"Optional custom labels to filter and report logs\n","items":{"type":"string"},"maxItems":3,"minItems":0,"uniqueItems":true},"destinations":{"type":"array","items":{"type":"object","required":["type","retentionInDays"],"properties":{"type":{"type":"string","description":"The type of the destination. Could be one of the following: `loki`.\n","enum":["loki"]},"retentionInDays":{"type":"integer","description":"The retention period of the logs in days. Could be one of the following: 0, 7, 14, 30.\n","enum":[0,7,14,30]}}}}}}}}},"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/pipelines":{"get":{"operationId":"pipelinesGet","summary":"Retrieve all Pipelines","description":"This endpoint enables retrieving all Pipelines using\npagination and optional filters.\n","parameters":[{"$ref":"#/components/parameters/paginationOffset"},{"$ref":"#/components/parameters/paginationLimit"},{"name":"orderBy","in":"query","description":"The field to order the results by. If not provided, the results will be ordered by the default field.","schema":{"type":"string","default":"-createdDate","enum":["-createdDate","-lastModifiedDate","-name","name","createdDate","lastModifiedDate"]}}],"tags":["Pipelines"],"responses":{"200":{"description":"Returned all requested Pipelines successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineReadList"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Create Pipeline

> Creates a new Pipeline.\
> \
> The full Pipeline needs to be provided to create the object.\
> Optional data will be filled with defaults or left empty.<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Logging Service REST API","version":"0.0.1"},"tags":[{"name":"Pipelines","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n\nThis tag groups all operations for pipelines.\n"}],"servers":[{"url":"https://logging.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://logging.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://logging.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://logging.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://logging.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://logging.fr-par.ionos.com","description":"service endpoint for location fr-par"},{"url":"https://logging.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://logging.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://logging.us-las.ionos.com","description":"service endpoint for location us-las"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"PipelineCreate":{"type":"object","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n","required":["properties"],"properties":{"properties":{"$ref":"#/components/schemas/PipelineNoAddr"}}},"PipelineNoAddr":{"type":"object","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the pipeline. Must be not more that 20 characters long.\n"},"logs":{"type":"array","items":{"required":["source","tag","protocol","destinations"],"type":"object","properties":{"source":{"type":"string","description":"The source of the logs. Could be one of the following: `generic`, `kubernetes`, `docker`, `systemd`.\n"},"tag":{"type":"string","description":"The tag of the logs. Tag represents a short alphanumeric badge (3–20 characters). It must contain only letters and digits, with no special characters or spaces.\n"},"protocol":{"type":"string","description":"The protocol used to send logs. Could be one of the following: `http`, `tcp`.\n"},"labels":{"type":"array","description":"Optional custom labels to filter and report logs\n","items":{"type":"string"},"maxItems":3,"minItems":0,"uniqueItems":true},"destinations":{"type":"array","items":{"type":"object","required":["type","retentionInDays"],"properties":{"type":{"type":"string","description":"The type of the destination. Could be one of the following: `loki`.\n","enum":["loki"]},"retentionInDays":{"type":"integer","description":"The retention period of the logs in days. Could be one of the following: 0, 7, 14, 30.\n","enum":[0,7,14,30]}}}}}}}}},"PipelineRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Pipeline.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["pipeline"]},"href":{"description":"The URL of the Pipeline.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Pipeline"}}},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state"],"properties":{"state":{"type":"string","description":"The status of the object. The status can be:\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED` - resource failed, details in `failureMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"Pipeline":{"allOf":[{"$ref":"#/components/schemas/PipelineNoAddr"},{"type":"object","properties":{"tcpAddress":{"type":"string","description":"The TCP address of the pipeline. This is the address to which logs are sent using the TCP protocol.\n"},"httpAddress":{"type":"string","description":"The HTTP address of the pipeline. This is the address to which logs are sent using the HTTP protocol.\n"},"grafanaAddress":{"type":"string","description":"The Grafana address is where user can access their logs, create dashboards, and set up alerts.\n"},"resourceTier":{"type":"string","description":"The resource tier of the pipeline. This is used to determine the resources allocated to the pipeline.\n"},"key":{"type":"string","description":"The key is shared once and is used to authenticate the logs sent to the pipeline.\n"}}}]},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnsupportedMediaType":{"description":"### Unsupported Media Type\nThe request has an unsupported media type.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnprocessableEntity":{"description":"### Unprocessable Entity\nThe request was well-formed but was unable to be followed due to semantic errors.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/pipelines":{"post":{"operationId":"pipelinesPost","summary":"Create Pipeline","tags":["Pipelines"],"description":"Creates a new Pipeline.\n\nThe full Pipeline needs to be provided to create the object.\nOptional data will be filled with defaults or left empty.\n","requestBody":{"description":"Pipeline to create.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineCreate"}}}},"responses":{"201":{"description":"Pipeline successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/UnprocessableEntity"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Retrieve Pipeline

> Returns the Pipeline by ID.

```json
{"openapi":"3.0.3","info":{"title":"IONOS Logging Service REST API","version":"0.0.1"},"tags":[{"name":"Pipelines","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n\nThis tag groups all operations for pipelines.\n"}],"servers":[{"url":"https://logging.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://logging.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://logging.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://logging.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://logging.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://logging.fr-par.ionos.com","description":"service endpoint for location fr-par"},{"url":"https://logging.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://logging.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://logging.us-las.ionos.com","description":"service endpoint for location us-las"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"PipelineRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Pipeline.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["pipeline"]},"href":{"description":"The URL of the Pipeline.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Pipeline"}}},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state"],"properties":{"state":{"type":"string","description":"The status of the object. The status can be:\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED` - resource failed, details in `failureMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"Pipeline":{"allOf":[{"$ref":"#/components/schemas/PipelineNoAddr"},{"type":"object","properties":{"tcpAddress":{"type":"string","description":"The TCP address of the pipeline. This is the address to which logs are sent using the TCP protocol.\n"},"httpAddress":{"type":"string","description":"The HTTP address of the pipeline. This is the address to which logs are sent using the HTTP protocol.\n"},"grafanaAddress":{"type":"string","description":"The Grafana address is where user can access their logs, create dashboards, and set up alerts.\n"},"resourceTier":{"type":"string","description":"The resource tier of the pipeline. This is used to determine the resources allocated to the pipeline.\n"},"key":{"type":"string","description":"The key is shared once and is used to authenticate the logs sent to the pipeline.\n"}}}]},"PipelineNoAddr":{"type":"object","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the pipeline. Must be not more that 20 characters long.\n"},"logs":{"type":"array","items":{"required":["source","tag","protocol","destinations"],"type":"object","properties":{"source":{"type":"string","description":"The source of the logs. Could be one of the following: `generic`, `kubernetes`, `docker`, `systemd`.\n"},"tag":{"type":"string","description":"The tag of the logs. Tag represents a short alphanumeric badge (3–20 characters). It must contain only letters and digits, with no special characters or spaces.\n"},"protocol":{"type":"string","description":"The protocol used to send logs. Could be one of the following: `http`, `tcp`.\n"},"labels":{"type":"array","description":"Optional custom labels to filter and report logs\n","items":{"type":"string"},"maxItems":3,"minItems":0,"uniqueItems":true},"destinations":{"type":"array","items":{"type":"object","required":["type","retentionInDays"],"properties":{"type":{"type":"string","description":"The type of the destination. Could be one of the following: `loki`.\n","enum":["loki"]},"retentionInDays":{"type":"integer","description":"The retention period of the logs in days. Could be one of the following: 0, 7, 14, 30.\n","enum":[0,7,14,30]}}}}}}}}},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/pipelines/{pipelineId}":{"get":{"operationId":"pipelinesFindById","summary":"Retrieve Pipeline","tags":["Pipelines"],"description":"Returns the Pipeline by ID.","parameters":[{"name":"pipelineId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the Pipeline."}],"responses":{"200":{"description":"Getting Pipeline was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Delete Pipeline

> Deletes the specified Pipeline.

```json
{"openapi":"3.0.3","info":{"title":"IONOS Logging Service REST API","version":"0.0.1"},"tags":[{"name":"Pipelines","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n\nThis tag groups all operations for pipelines.\n"}],"servers":[{"url":"https://logging.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://logging.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://logging.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://logging.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://logging.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://logging.fr-par.ionos.com","description":"service endpoint for location fr-par"},{"url":"https://logging.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://logging.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://logging.us-las.ionos.com","description":"service endpoint for location us-las"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}}},"paths":{"/pipelines/{pipelineId}":{"delete":{"operationId":"pipelinesDelete","summary":"Delete Pipeline","tags":["Pipelines"],"description":"Deletes the specified Pipeline.","parameters":[{"name":"pipelineId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the Pipeline."}],"responses":{"202":{"description":"Deleting Pipeline was successful."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Updates Pipeline

> Changes Pipeline with the provided ID.\
> Values provides will replace the existing data.<br>

```json
{"openapi":"3.0.3","info":{"title":"IONOS Logging Service REST API","version":"0.0.1"},"tags":[{"name":"Pipelines","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n\nThis tag groups all operations for pipelines.\n"}],"servers":[{"url":"https://logging.de-fra.ionos.com","description":"service endpoint for location de-fra"},{"url":"https://logging.de-txl.ionos.com","description":"service endpoint for location de-txl"},{"url":"https://logging.es-vit.ionos.com","description":"service endpoint for location es-vit"},{"url":"https://logging.gb-bhx.ionos.com","description":"service endpoint for location gb-bhx"},{"url":"https://logging.gb-lhr.ionos.com","description":"service endpoint for location gb-lhr"},{"url":"https://logging.fr-par.ionos.com","description":"service endpoint for location fr-par"},{"url":"https://logging.us-mci.ionos.com","description":"service endpoint for location us-mci"},{"url":"https://logging.us-ewr.ionos.com","description":"service endpoint for location us-ewr"},{"url":"https://logging.us-las.ionos.com","description":"service endpoint for location us-las"}],"security":[{"tokenAuth":[]}],"components":{"securitySchemes":{"tokenAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"The token can be generated using the \n[Authentication API](https://api.ionos.com/docs/authentication/v1/#tag/tokens/operation/tokensGenerate).\n"}},"schemas":{"PipelinePatch":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/PipelineNoAddr"}}},"PipelineNoAddr":{"type":"object","description":"A pipeline consists of the building blocks of a centralized logging system including supported log agents and log sources and also public endpoints to push and access logs.\n","required":["name"],"properties":{"name":{"type":"string","description":"The name of the pipeline. Must be not more that 20 characters long.\n"},"logs":{"type":"array","items":{"required":["source","tag","protocol","destinations"],"type":"object","properties":{"source":{"type":"string","description":"The source of the logs. Could be one of the following: `generic`, `kubernetes`, `docker`, `systemd`.\n"},"tag":{"type":"string","description":"The tag of the logs. Tag represents a short alphanumeric badge (3–20 characters). It must contain only letters and digits, with no special characters or spaces.\n"},"protocol":{"type":"string","description":"The protocol used to send logs. Could be one of the following: `http`, `tcp`.\n"},"labels":{"type":"array","description":"Optional custom labels to filter and report logs\n","items":{"type":"string"},"maxItems":3,"minItems":0,"uniqueItems":true},"destinations":{"type":"array","items":{"type":"object","required":["type","retentionInDays"],"properties":{"type":{"type":"string","description":"The type of the destination. Could be one of the following: `loki`.\n","enum":["loki"]},"retentionInDays":{"type":"integer","description":"The retention period of the logs in days. Could be one of the following: 0, 7, 14, 30.\n","enum":[0,7,14,30]}}}}}}}}},"PipelineRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Pipeline.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["pipeline"]},"href":{"description":"The URL of the Pipeline.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Pipeline"}}},"MetadataWithStatus":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state"],"properties":{"state":{"type":"string","description":"The status of the object. The status can be:\n* `AVAILABLE` - resource exists and is healthy.\n* `PROVISIONING` - resource is being created or updated.\n* `DESTROYING` - delete command was issued, the resource is being deleted.\n* `FAILED` - resource failed, details in `failureMessage`.\n","enum":["PROVISIONING","DESTROYING","AVAILABLE","FAILED"],"readOnly":true}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"Pipeline":{"allOf":[{"$ref":"#/components/schemas/PipelineNoAddr"},{"type":"object","properties":{"tcpAddress":{"type":"string","description":"The TCP address of the pipeline. This is the address to which logs are sent using the TCP protocol.\n"},"httpAddress":{"type":"string","description":"The HTTP address of the pipeline. This is the address to which logs are sent using the HTTP protocol.\n"},"grafanaAddress":{"type":"string","description":"The Grafana address is where user can access their logs, create dashboards, and set up alerts.\n"},"resourceTier":{"type":"string","description":"The resource tier of the pipeline. This is used to determine the resources allocated to the pipeline.\n"},"key":{"type":"string","description":"The key is shared once and is used to authenticate the logs sent to the pipeline.\n"}}}]},"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}},"responses":{"BadRequest":{"description":"### Bad Request\nThe request send to the API was malformed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"### Unauthorized\nThe request is missing authorization information or the authorization information provided are expired.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotAllowed":{"description":"### Not Allowed\nThe user issuing the request does not have the needed permissions.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"### Not Found\nThe resource that was requested could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Conflict":{"description":"### Conflict\nThe UUID is already taken by another party, follow the guides to generate UUIDs uniquely.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnsupportedMediaType":{"description":"### Unsupported Media Type\nThe request has an unsupported media type.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnprocessableEntity":{"description":"### Unprocessable Entity\nThe request was well-formed but was unable to be followed due to semantic errors.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"### Too Many Requests\nThe user has sent too many requests in a given amount of time.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalError":{"description":"### Internal Server Error\nAn internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"### Service Unavailable\nThe server is currently unable to handle the request due to a temporary overloading or maintenance of the server.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"UnexpectedError":{"description":"### Unexpected Internal Server Error\nAn unexpected internal error occurred. We apologize for the inconvenience!\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/pipelines/{pipelineId}":{"patch":{"operationId":"pipelinesPatch","summary":"Updates Pipeline","tags":["Pipelines"],"description":"Changes Pipeline with the provided ID.\nValues provides will replace the existing data.\n","parameters":[{"name":"pipelineId","in":"path","schema":{"type":"string","format":"uuid"},"required":true,"description":"The ID (UUID) of the Pipeline."}],"requestBody":{"description":"patch Pipeline","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelinePatch"}}}},"responses":{"200":{"description":"Pipeline successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PipelineRead"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/NotAllowed"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/UnprocessableEntity"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"default":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```
