# Send records to Lampwick over HTTP

> POST a JSON array of records to https://app.lampwick.dev/ingest with your project's ingest token, from any language, cron script or deploy hook.

HTTP ingest is one endpoint that takes a batch of records from anything that can make an HTTPS request: a service in a language without a Lampwick package, a cron script, a deploy hook. The [Laravel package](/integrations/laravel/) sends to the same endpoint.

## What you get

- Logs, exceptions, requests, jobs, scheduled tasks and the other record types, in the same pages as records from the Laravel package.
- Exceptions grouped into **Issues** by the `_group` key you send.
- Records tied to their request or job with `trace_id` or `execution_id`.

## Set it up

```bash
curl -X POST https://app.lampwick.dev/ingest \
  -H "Authorization: Bearer YOUR_PROJECT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[{"t":"log","level":"error","message":"Backup failed"}]'
```

`YOUR_PROJECT_TOKEN` is the project's ingest token, from the **Connect your app** card on its **Settings** page. Lampwick answers `202` with the number of records it took:

```json
{"accepted": 1}
```

The log line shows up under **Logs** in the project.

## Let your agent do it

```text
Send this script's failures to Lampwick over HTTP. Read https://lampwick.dev/docs/http-ingest.md, then POST a JSON array of records to https://app.lampwick.dev/ingest with the ingest token from the LAMPWICK_TOKEN environment variable as a bearer token. Keep the token out of git and the chat, and check that Lampwick answers 202.
```

## Next step

The [HTTP ingest docs](/docs/http-ingest/) list the record fields, every response code and the fixes for each. Running a framework with an OpenTelemetry SDK? [OpenTelemetry](/integrations/opentelemetry/) needs no record format at all.
