> For the complete documentation index, see [llms.txt](https://docs.ilert.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ilert.com/developer-docs/rest-api/api-reference/telemetry-sources.md).

# Telemetry Sources

## GET /telemetry-sources

> List the telemetry sources of the account.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySource":{"type":"object","required":["name","type"],"properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["OTEL"],"description":"The telemetry protocol of this source. Required on create and immutable afterwards."},"status":{"type":"string","readOnly":true,"enum":["PENDING","RECEIVING","STOPPED","ERROR"],"description":"Whether ilert is currently receiving telemetry from this source."},"integrationKey":{"type":"string","readOnly":true,"description":"The credential used to send telemetry to ilert. Server-managed and read-only: it is omitted from list responses, and from the detail response for users without update permission on the telemetry source."},"serviceNamePrefix":{"type":"string","maxLength":64,"description":"Prepended to the name of every service that ilert creates from the telemetry of this source, for example to keep the services of a staging environment apart from production. Leading and trailing whitespace is removed, no separator is inserted. Services that already exist are not renamed."},"serviceNameSuffix":{"type":"string","maxLength":64,"description":"Appended to the name of every service that ilert creates from the telemetry of this source. Leading and trailing whitespace is removed, no separator is inserted. If prefix, service name and suffix together exceed the 255 character service name limit, the service name is shortened so that both affixes are kept in full."},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Free-form key-value labels assigned to this telemetry source."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamRel"}},"managedBy":{"$ref":"#/components/schemas/ManagedBy"},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ManagedBy":{"type":"object","readOnly":true,"description":"Present when this entity is managed outside of the ilert web app, for example through Terraform, Pulumi or the API. Read-only.","properties":{"type":{"type":"string","enum":["API","TERRAFORM","PULUMI","ILERT"]},"source":{"type":"string","description":"Identifier of the system managing this entity."}}}}},"paths":{"/telemetry-sources":{"get":{"tags":["Telemetry Sources"],"summary":"List the telemetry sources of the account.","parameters":[{"name":"start-index","in":"query","description":"index of the first item to return","schema":{"type":"integer","default":0}},{"name":"max-results","in":"query","description":"maximum number of items to return","schema":{"type":"integer","default":100}},{"name":"include","in":"query","description":"Describes optional properties that should be included in the response. You may declare multiple. (teams)","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["teams"]}}},{"name":"query","in":"query","description":"Free-text search on the name of the telemetry source.","schema":{"type":"string"}},{"name":"labels","in":"query","description":"Filter by labels using a condition expression. Supports the operators `==`, `!=`, `in` and `not_in`, combined with `and` (up to 20 conditions). Values must be url-encoded. An invalid expression returns 400. Examples: `environment == 'production'`, `region in [\"us-east\", \"us-west\"]`, `environment == 'production' and severity != 'low'`.","schema":{"type":"string"}}],"responses":{"200":{"description":"the list of telemetry sources","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TelemetrySource"}}}}}}}}}}
```

## POST /telemetry-sources

> Create a new telemetry source.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySource":{"type":"object","required":["name","type"],"properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["OTEL"],"description":"The telemetry protocol of this source. Required on create and immutable afterwards."},"status":{"type":"string","readOnly":true,"enum":["PENDING","RECEIVING","STOPPED","ERROR"],"description":"Whether ilert is currently receiving telemetry from this source."},"integrationKey":{"type":"string","readOnly":true,"description":"The credential used to send telemetry to ilert. Server-managed and read-only: it is omitted from list responses, and from the detail response for users without update permission on the telemetry source."},"serviceNamePrefix":{"type":"string","maxLength":64,"description":"Prepended to the name of every service that ilert creates from the telemetry of this source, for example to keep the services of a staging environment apart from production. Leading and trailing whitespace is removed, no separator is inserted. Services that already exist are not renamed."},"serviceNameSuffix":{"type":"string","maxLength":64,"description":"Appended to the name of every service that ilert creates from the telemetry of this source. Leading and trailing whitespace is removed, no separator is inserted. If prefix, service name and suffix together exceed the 255 character service name limit, the service name is shortened so that both affixes are kept in full."},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Free-form key-value labels assigned to this telemetry source."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamRel"}},"managedBy":{"$ref":"#/components/schemas/ManagedBy"},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ManagedBy":{"type":"object","readOnly":true,"description":"Present when this entity is managed outside of the ilert web app, for example through Terraform, Pulumi or the API. Read-only.","properties":{"type":{"type":"string","enum":["API","TERRAFORM","PULUMI","ILERT"]},"source":{"type":"string","description":"Identifier of the system managing this entity."}}}}},"paths":{"/telemetry-sources":{"post":{"tags":["Telemetry Sources"],"summary":"Create a new telemetry source.","parameters":[{"name":"include","in":"query","description":"Describes optional properties that should be included in the response. You may declare multiple. (teams)","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["teams"]}}}],"requestBody":{"description":"the telemetry source","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}},"responses":{"201":{"description":"the created telemetry source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}}}}}}}
```

## GET /telemetry-sources/name/{name}

> Get the telemetry source with the specified name.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySource":{"type":"object","required":["name","type"],"properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["OTEL"],"description":"The telemetry protocol of this source. Required on create and immutable afterwards."},"status":{"type":"string","readOnly":true,"enum":["PENDING","RECEIVING","STOPPED","ERROR"],"description":"Whether ilert is currently receiving telemetry from this source."},"integrationKey":{"type":"string","readOnly":true,"description":"The credential used to send telemetry to ilert. Server-managed and read-only: it is omitted from list responses, and from the detail response for users without update permission on the telemetry source."},"serviceNamePrefix":{"type":"string","maxLength":64,"description":"Prepended to the name of every service that ilert creates from the telemetry of this source, for example to keep the services of a staging environment apart from production. Leading and trailing whitespace is removed, no separator is inserted. Services that already exist are not renamed."},"serviceNameSuffix":{"type":"string","maxLength":64,"description":"Appended to the name of every service that ilert creates from the telemetry of this source. Leading and trailing whitespace is removed, no separator is inserted. If prefix, service name and suffix together exceed the 255 character service name limit, the service name is shortened so that both affixes are kept in full."},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Free-form key-value labels assigned to this telemetry source."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamRel"}},"managedBy":{"$ref":"#/components/schemas/ManagedBy"},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ManagedBy":{"type":"object","readOnly":true,"description":"Present when this entity is managed outside of the ilert web app, for example through Terraform, Pulumi or the API. Read-only.","properties":{"type":{"type":"string","enum":["API","TERRAFORM","PULUMI","ILERT"]},"source":{"type":"string","description":"Identifier of the system managing this entity."}}}}},"paths":{"/telemetry-sources/name/{name}":{"get":{"tags":["Telemetry Sources"],"summary":"Get the telemetry source with the specified name.","parameters":[{"name":"name","in":"path","description":"unique name of the telemetry source","required":true,"schema":{"type":"string"}},{"name":"include","in":"query","description":"Describes optional properties that should be included in the response. You may declare multiple. (teams)","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["teams"]}}}],"responses":{"200":{"description":"the telemetry source object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}}}}}}}
```

## GET /telemetry-sources/{id}

> Get the telemetry source with the specified id.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySource":{"type":"object","required":["name","type"],"properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["OTEL"],"description":"The telemetry protocol of this source. Required on create and immutable afterwards."},"status":{"type":"string","readOnly":true,"enum":["PENDING","RECEIVING","STOPPED","ERROR"],"description":"Whether ilert is currently receiving telemetry from this source."},"integrationKey":{"type":"string","readOnly":true,"description":"The credential used to send telemetry to ilert. Server-managed and read-only: it is omitted from list responses, and from the detail response for users without update permission on the telemetry source."},"serviceNamePrefix":{"type":"string","maxLength":64,"description":"Prepended to the name of every service that ilert creates from the telemetry of this source, for example to keep the services of a staging environment apart from production. Leading and trailing whitespace is removed, no separator is inserted. Services that already exist are not renamed."},"serviceNameSuffix":{"type":"string","maxLength":64,"description":"Appended to the name of every service that ilert creates from the telemetry of this source. Leading and trailing whitespace is removed, no separator is inserted. If prefix, service name and suffix together exceed the 255 character service name limit, the service name is shortened so that both affixes are kept in full."},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Free-form key-value labels assigned to this telemetry source."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamRel"}},"managedBy":{"$ref":"#/components/schemas/ManagedBy"},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ManagedBy":{"type":"object","readOnly":true,"description":"Present when this entity is managed outside of the ilert web app, for example through Terraform, Pulumi or the API. Read-only.","properties":{"type":{"type":"string","enum":["API","TERRAFORM","PULUMI","ILERT"]},"source":{"type":"string","description":"Identifier of the system managing this entity."}}}}},"paths":{"/telemetry-sources/{id}":{"get":{"tags":["Telemetry Sources"],"summary":"Get the telemetry source with the specified id.","parameters":[{"name":"id","in":"path","description":"the id of the telemetry source","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"include","in":"query","description":"Describes optional properties that should be included in the response. You may declare multiple. (teams)","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["teams"]}}}],"responses":{"200":{"description":"the telemetry source object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}}}}}}}
```

## PUT /telemetry-sources/{id}

> Update the telemetry source with the specified id.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySource":{"type":"object","required":["name","type"],"properties":{"id":{"type":"integer","format":"int64","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["OTEL"],"description":"The telemetry protocol of this source. Required on create and immutable afterwards."},"status":{"type":"string","readOnly":true,"enum":["PENDING","RECEIVING","STOPPED","ERROR"],"description":"Whether ilert is currently receiving telemetry from this source."},"integrationKey":{"type":"string","readOnly":true,"description":"The credential used to send telemetry to ilert. Server-managed and read-only: it is omitted from list responses, and from the detail response for users without update permission on the telemetry source."},"serviceNamePrefix":{"type":"string","maxLength":64,"description":"Prepended to the name of every service that ilert creates from the telemetry of this source, for example to keep the services of a staging environment apart from production. Leading and trailing whitespace is removed, no separator is inserted. Services that already exist are not renamed."},"serviceNameSuffix":{"type":"string","maxLength":64,"description":"Appended to the name of every service that ilert creates from the telemetry of this source. Leading and trailing whitespace is removed, no separator is inserted. If prefix, service name and suffix together exceed the 255 character service name limit, the service name is shortened so that both affixes are kept in full."},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Free-form key-value labels assigned to this telemetry source."},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamRel"}},"managedBy":{"$ref":"#/components/schemas/ManagedBy"},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"TeamRel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ManagedBy":{"type":"object","readOnly":true,"description":"Present when this entity is managed outside of the ilert web app, for example through Terraform, Pulumi or the API. Read-only.","properties":{"type":{"type":"string","enum":["API","TERRAFORM","PULUMI","ILERT"]},"source":{"type":"string","description":"Identifier of the system managing this entity."}}}}},"paths":{"/telemetry-sources/{id}":{"put":{"tags":["Telemetry Sources"],"summary":"Update the telemetry source with the specified id.","parameters":[{"name":"id","in":"path","description":"the id of the telemetry source","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"include","in":"query","description":"Describes optional properties that should be included in the response. You may declare multiple. (teams)","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["teams"]}}}],"requestBody":{"description":"the telemetry source","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}},"responses":{"200":{"description":"the updated telemetry source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySource"}}}}}}}}}
```

## DELETE /telemetry-sources/{id}

> Delete the telemetry source with the specified id.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}}},"paths":{"/telemetry-sources/{id}":{"delete":{"tags":["Telemetry Sources"],"summary":"Delete the telemetry source with the specified id.","parameters":[{"name":"id","in":"path","description":"the id of the telemetry source","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Empty body delete response","content":{}}}}}}}
```

## Rotate the integration key of a telemetry source.

> Invalidates the current integration key and issues a new one. Requires update permission. Fetch the telemetry source afterwards to read the new key.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}}},"paths":{"/telemetry-sources/{id}/rotate-integration-key":{"put":{"tags":["Telemetry Sources"],"summary":"Rotate the integration key of a telemetry source.","description":"Invalidates the current integration key and issues a new one. Requires update permission. Fetch the telemetry source afterwards to read the new key.","parameters":[{"name":"id","in":"path","description":"the id of the telemetry source","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Empty body response","content":{}}}}}}}
```

## GET /telemetry-sources/{id}/stats

> Get ingestion statistics of a telemetry source.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"TelemetrySourceStats":{"type":"object","properties":{"lastTraceAt":{"type":"string","format":"date-time","readOnly":true,"description":"When the most recent telemetry was received from this source."}}}}},"paths":{"/telemetry-sources/{id}/stats":{"get":{"tags":["Telemetry Sources"],"summary":"Get ingestion statistics of a telemetry source.","parameters":[{"name":"id","in":"path","description":"the id of the telemetry source","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the telemetry source statistics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySourceStats"}}}}}}}}}
```

## List the distinct label keys used by the telemetry sources of this account.

> Fixed page size of 100. \`start-index\` must be 0 or a multiple of 100 and \`max-results\` must be 100; any other value returns 400.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"LabelKey":{"type":"object","properties":{"key":{"type":"string"}}}}},"paths":{"/telemetry-sources/labels":{"get":{"tags":["Telemetry Sources"],"summary":"List the distinct label keys used by the telemetry sources of this account.","description":"Fixed page size of 100. `start-index` must be 0 or a multiple of 100 and `max-results` must be 100; any other value returns 400.","parameters":[{"name":"query","in":"query","description":"Filter the returned label keys by prefix.","schema":{"type":"string"}},{"name":"start-index","in":"query","description":"must be 0 or a multiple of 100","schema":{"type":"integer","default":0}},{"name":"max-results","in":"query","description":"must be 100","schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"the list of distinct label keys","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LabelKey"}}}}}}}}}}
```

## List the distinct values used for a label key by the telemetry sources of this account.

> Fixed page size of 100. \`start-index\` must be 0 or a multiple of 100 and \`max-results\` must be 100; any other value returns 400.

```json
{"openapi":"3.0.1","info":{"title":"ilert REST API","version":"v2.2026.9-r.4"},"tags":[{"name":"Telemetry Sources"}],"servers":[{"url":"/api"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","description":"The Bearer API key of your user <a href='/api-docs/#section/Authentication'>more info</a>.","name":"Authorization","in":"header"}},"schemas":{"LabelValue":{"type":"object","properties":{"value":{"type":"string"}}}}},"paths":{"/telemetry-sources/labels/{key}/values":{"get":{"tags":["Telemetry Sources"],"summary":"List the distinct values used for a label key by the telemetry sources of this account.","description":"Fixed page size of 100. `start-index` must be 0 or a multiple of 100 and `max-results` must be 100; any other value returns 400.","parameters":[{"name":"key","in":"path","description":"the label key","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","description":"Filter the returned label values by prefix.","schema":{"type":"string"}},{"name":"start-index","in":"query","description":"must be 0 or a multiple of 100","schema":{"type":"integer","default":0}},{"name":"max-results","in":"query","description":"must be 100","schema":{"type":"integer","default":100}}],"responses":{"200":{"description":"the list of distinct label values","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LabelValue"}}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ilert.com/developer-docs/rest-api/api-reference/telemetry-sources.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
