> ## Documentation Index
> Fetch the complete documentation index at: https://control.datarelay.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Evidence-first checks for startup, data collection, delivery, and policy issues.

# Troubleshooting

Start with actual runtime evidence rather than configuration assumptions.

## Service startup

```bash theme={null}
docker compose -f deploy/docker-compose.https.yml ps
curl -k https://localhost:18443/health
```

Check API/reverse-proxy logs if health is unavailable.

## Authentication failure

Verify production has:

```text theme={null}
REQUIRE_AUTH=true
AUTH_DEV_HEADER_TRUST=false
```

and non-placeholder values for `JWT_SECRET_KEY`, `SECRET_KEY`, `ENCRYPTION_KEY`, `GDC_PROXY_RELOAD_TOKEN`, and the PostgreSQL password.

## Data does not arrive

Check:

1. Connector and Credential status.
2. Source test/collection evidence.
3. event extraction/sample selection.
4. Stream enabled state.
5. checkpoint and runtime run state.

## Data does not leave

Check:

1. Destination connectivity.
2. Route enabled state.
3. Route Processing policy outcome.
4. retry/failure policy.
5. delivery logs and runtime snapshot.

## Webhook ingest

Configured webhook sources receive data at:

```text theme={null}
POST /api/v1/ingest/webhook/{receiver_key}
```

A concurrent active Stream run can return HTTP 409 `RUN_ALREADY_ACTIVE`.

## Development branch

Use Data Flow Troubleshooter and Connector/API Health where available; both are designed to summarize existing evidence rather than run hidden side-effecting probes.
