# Ingestion Endpoints

Our BYOC backend supports ingestion of various standard formats for metrics, traces and logs. It can be used to ingest telemetry from outside your kubernetes clusters, displaying it natively inside the groundcover platform.

### Prerequisites

Every ingestion endpoint below requires two things:

1. BYOC endpoint - Your unique groundcover ingestion endpoint
2. ingestion-key - used to authenticate with your backend

#### Fetching the BYOC endpoint

Your BYOC site is part of the configuration provided to you by groundcover when setting up the managed BYOC backend. Find your BYOC endpoint in the [ingestion keys tab](https://app.groundcover.com/settings?selectedTab=ingestion-keys), marked below as `{BYOC_ENDPOINT}`.

#### Creating an ingestion-key

You can create or get an ingestion key in the [ingestion keys tab](https://app.groundcover.com/settings?selectedTab=ingestion-keys)

The ingestion-key printed will be referenced below as `{ingestion-key}`

### Supported authentication methods

We support several methods of authentication when pushing data into groundcover. This applies for all endpoints, formats and protocols.

#### Header Key-Value

Add a header with one of the following keys, containing the `{ingestion-key}` value:

1. `token`
2. `apikey`
3. `dd-api-key`
4. `X-Amz-Firehose-Access-Key`
5. `Authorization`

#### Basic Authentication

When using basic authentication, use the following params:

`Username: groundcover`

`Password: {ingestion-key}`

## Supported endpoints

{% hint style="info" %}
All endpoints are accepted over `HTTPS` or `gRPCS` on port `443`
{% endhint %}

### Prometheus

<table><thead><tr><th width="253">Name</th><th>Endpoint</th></tr></thead><tbody><tr><td>Prometheus remote write</td><td><code>https://{BYOC_ENDPOINT}/api/v1/write</code></td></tr><tr><td>Prometheus exposition format</td><td><code>https://{BYOC_ENDPOINT}/api/v1/import/prometheus</code></td></tr></tbody></table>

### OpenTelemetry

<table><thead><tr><th width="253">Name</th><th>Endpoint</th></tr></thead><tbody><tr><td>gRPC (Logs, Traces, Metrics)</td><td><code>{BYOC_ENDPOINT}</code></td></tr><tr><td>HTTP Logs</td><td><code>https://{BYOC_ENDPOINT}/v1/logs</code></td></tr><tr><td>HTTP Traces</td><td><code>https://{BYOC_ENDPOINT}/v1/traces</code></td></tr><tr><td>HTTP Metrics</td><td><code>https://{BYOC_ENDPOINT}/v1/metrics</code></td></tr></tbody></table>

### DataDog

<table><thead><tr><th width="251">Name</th><th>Endpoint</th></tr></thead><tbody><tr><td>Metrics V1</td><td><code>https://{BYOC_ENDPOINT}/datadog/api/v1/series</code></td></tr><tr><td>Metrics V2</td><td><code>https://{BYOC_ENDPOINT}/datadog/api/v2/series</code></td></tr><tr><td>Traces V0.3</td><td><code>https://{BYOC_ENDPOINT}/v0.3/traces</code></td></tr><tr><td>Traces V0.4</td><td><code>https://{BYOC_ENDPOINT}/v0.4/traces</code></td></tr><tr><td>Traces V0.5</td><td><code>https://{BYOC_ENDPOINT}/v0.5/traces</code></td></tr><tr><td>Traces V0.7</td><td><code>https://{BYOC_ENDPOINT}/v0.7/traces</code></td></tr></tbody></table>

### AWS Firehose

<table><thead><tr><th width="251">Name</th><th>Endpoint</th></tr></thead><tbody><tr><td>Firehose Logs</td><td><code>https://{BYOC_ENDPOINT}/firehose/logs</code></td></tr></tbody></table>

### JSON Logs

| Name      | Endpoint                            |
| --------- | ----------------------------------- |
| JSON Logs | `https://{BYOC_ENDPOINT}/json/logs` |
