> For the complete documentation index, see [llms.txt](https://docs.developer.disruptive-technologies.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.developer.disruptive-technologies.com/other/frequently-asked-question.md).

# Frequently Asked Question

## Data Connectors

#### Do **you have an IP-range that Data Connectors will send events from?**

{% hint style="warning" %}
**IP allowlisting does not authenticate a request.**

An IP allowlist only verifies where a request originates on the network. It does not verify that a request was sent by DT Cloud, or that its contents are unmodified. To establish that, configure a Data Connector to [sign forwarded events](/data-connectors/advanced-configurations.md) and [verify the signature](/data-connectors/receiving-events.md) on the receiving end.
{% endhint %}

Data Connectors forward events from a fixed set of static IP addresses. The current set is published at [services.disruptive-technologies.com](https://services.disruptive-technologies.com), where the entry with `service` set to `dataConnector/httpsPush` applies to HTTPS Push Data Connectors.

```javascript
{
    "services": [
        {
            "service": "dataConnector/httpsPush",
            "version": "d8697624",
            "ips": ["35.205.109.111", "34.79.40.5", "34.79.71.64"],
            "fullyQualifiedDomainNames": ["egress.eu.disruptive-technologies.com."]
        }
    ]
}
```

* **ips**\
  Every address that a Data Connector may forward events from. All of them should be allowlisted, including any that you have not yet seen traffic from. Events are forwarded as HTTPS POST requests on TCP port 443.
* **fullyQualifiedDomainNames**\
  A hostname that resolves to the same set of addresses, for firewalls that support rules based on hostnames. Not all firewalls do, in which case `ips` should be used.

This endpoint is the authoritative source for these addresses, and we recommend against hard-coding them in your integration. Either use the hostname, so that changes propagate automatically, or fetch the endpoint on a schedule and reconcile your allowlist against it. The `version` field changes whenever the set of addresses does.

The published set always contains every address currently in use. A new address is published before it is used, and an address is removed only after it is no longer in use. A reconciled allowlist will therefore always contain every address in use, and no update is ever urgent.

#### My Data Connector returns errors. What do I do?

* Verify that your Data Connector is configured with the correct Endpoint URL.
* Check your endpoint logs for tracebacks that explain the source of the error.

#### Why did my Data Connector get automatically disabled?

A Data Connector can be automatically disabled if only non-200 responses have been returned for a long time. You can read more about this on the [Advanced Configurations](/data-connectors/advanced-configurations.md#enable-and-disable) page.

## REST API

#### What is the difference between the Event Stream API and a Data Connector?

[Data Connectors](/data-connectors/introduction-to-data-connector.md) are best used in backend integrations where a reliable and secure stream of events is desired, like forwarding events to external long-term storage. It comes with quality-of-life features such as an at-least-once Guarantee, low latency, and automatic scaling.

On the other hand, the [REST API Events Stream](https://developer.disruptive-technologies.com/api#/Live%20events%20streaming%20API/get_projects__project__devices_stream) provides a service aimed more at front-end applications and trades some quality-of-life features for flexibility. Granted the right permissions are given, a stream can be set up anywhere but does not come with the same at-least-once guarantee as a Data Connector.

## DT Cloud

#### How long are my sensor data stored?

All Events are stored for 30 days by default. For long-term storage, we recommend either using our managed [Extended Data Storage](https://support.disruptive-technologies.com/hc/en-us/articles/10488019175068-Extended-Data-Storage) or using a Data Connector to forward events to an external database that you manage yourself. You can get started with our [Example Integrations](/data-connectors/example-integrations.md).
