> For the complete documentation index, see [llms.txt](https://docs.getlimy.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getlimy.ai/limy-pixel/cdn-integration/custom-log-shipping.md).

# Custom Log Shipping

### Overview

This integration lets you send access logs directly to Limy's ingestion endpoint via HTTP POST.

Use this when you don't have a CDN or want to send logs from your own infrastructure.

{% stepper %}
{% step %}
**Format your logs**

Send logs as a JSON array to:

```
POST https://stream.getlimy.ai
```

Include these headers:

```
X-API-KEY: lmy_xxxx
User-Agent: Limy-Custom-HTTP/1.0
```

Each log entry needs these fields:

| Field          | Required |
| -------------- | -------- |
| `timestamp`    | ✓        |
| `method`       | ✓        |
| `host`         | ✓        |
| `path`         | ✓        |
| `status_code`  | ✓        |
| `ip`           | ✓        |
| `user_agent`   | ✓        |
| `referer`      | ✓        |
| `query_params` |          |
| `bytes_sent`   |          |
| `duration_ms`  |          |

Max 20MB or 1,000 entries per request.
{% endstep %}

{% step %}
**Send the request**

Example payload:

```json
[
  {
    "timestamp": "2025-06-15T14:30:00Z",
    "method": "GET",
    "host": "domain.com",
    "path": "/shopping",
    "status_code": 200,
    "ip": "192.168.1.1",
    "user_agent": "Mozila...",
    "query_params": {
      "brand": "nike"
    },
    "referer": "https://chatgpt.com"
  }
]
```

{% endstep %}

{% step %}
**Verify it's working**

Navigate to your Limy dashboard and check the Agent Monitor.
{% endstep %}
{% endstepper %}

### Tips

* Batch up to 1,000 logs per request
* Limit request size to 20MB
* Send async so you don't block your app
* Implement retries for failures

### Need More Help?

* Contact `answers@limy.ai` for any further questions
