Ingestion API reference
Always copy URLs from Collecting → Integration Options in the console. They already contain your workspace, endpoint type and endpoint ID.
URLs
| Method |
Unauthorized URL |
Authorized URL (with anosys-apikey header) |
| GET, POST |
https://api.anosys.ai/ingestion/{workspace}/{type}/{endpoint} |
https://api.anosys.ai/ingestion |
| Image pixel |
https://api.anosys.ai/ingestion/{workspace}/{type}/{endpoint}/anosys.gif |
— |
| Webhook |
https://api.anosys.ai/webhook/{workspace}/{type}/{endpoint} |
— |
| OTLP/HTTP base |
https://api.anosys.ai/{workspace}/{type}/{endpoint} |
https://api.anosys.ai/ingestion |
| OTLP/HTTP traces, logs, metrics |
base + /v1/traces, /v1/logs, /v1/metrics |
base + /v1/traces, /v1/logs, /v1/metrics |
{type} is the short code of the endpoint type (for example a for Website / Advertising Tracker, g for Generic / Custom HTTP, t for OpenTelemetry / AI Agents, cc for Claude Code & Codex CLI). The console fills it in.
Authentication
| Mode |
How |
| Unauthorized |
Nothing extra. The path identifies the endpoint. |
| Authorized |
Header anosys-apikey: YOUR_API_KEY. Create keys under Integration Options → API. |
Fields
| Type |
Names |
GET example |
POST example |
| Text |
cvs1, cvs2, … |
cvs1=checkout |
"cvs1": "checkout" |
| Number |
cvn1, cvn2, … |
cvn1=42.5 |
"cvn1": 42.5 |
| True/false |
cvb1, cvb2, … |
cvb1=true |
"cvb1": true |
- POST bodies are JSON arrays. Each object is one event.
- Some high-numbered text fields are reserved by Anosys. Field Mapping marks them as Reserved.
- Give fields readable names in Collecting → Field Mapping.
- Check a URL with Collecting → API Validators.
Protocols
- HTTPS only.
- OpenTelemetry: send OTLP over HTTP (
http/protobuf). If your services export OTLP over gRPC, run an OpenTelemetry Collector that receives gRPC and forwards over HTTP.