Direct HTTP ingestion
Anything that can send an HTTP request can stream events to Monita: your own backend, a queue consumer, a CDP, a serverless function. This page is the wire contract; the full request/response schema also lives in the API reference.
Endpoint
Section titled “Endpoint”POST https://collect.monita.ai/api/v1/Authentication
Section titled “Authentication”Send your property token either as a token header (recommended) or as a t field in the body. Get the token from Manage → Installation guide on your property.
curl -X POST 'https://collect.monita.ai/api/v1/' \ -H 'token: <your property token>' \ -H 'Content-Type: application/json' \ -d '{ "e": "purchase", "vn": "Meta Conversions API", "u": "https://www.your-domain.com/checkout/complete", "do": "www.your-domain.com", "s": "global", "dm": "tms", "sid": "8c75639c-719c-4fe8-9845-fc98512dcd67", "dt": [{ "event": "purchase", "value": "129.90", "currency": "AUD" }] }'Event fields
Section titled “Event fields”Required: token (t field or token header), vn, e. Everything else is optional but improves grouping, joins and validation.
| Field | Type | Meaning |
|---|---|---|
e |
string | Event name (purchase, page_view, …) |
vn |
string | Vendor name — use the exact spelling from Monita Collect for logos and grouping |
u |
string | Page URL the event belongs to |
p |
string | Page path |
do |
string | Your site’s hostname — set this for server-side events so they group by property hostname |
s |
string | Source system: google_tag_manager, adobe, tealium, tag_commander, gtm (container monitoring) or global |
dm |
string | Deployment method: script (browser) or tms (server-side) |
sid |
string | Session ID — lets server events join client-side sessions |
cid |
string | Customer ID |
cn |
string | Consent state (e.g. granted, denied, or a CMP string — see Consent settings) |
m |
string | HTTP method of the vendor call you’re reporting |
vu |
string | The vendor endpoint URL that fired |
tm |
number | Client timestamp (epoch seconds, may carry milliseconds as decimals) |
dt |
array of objects | The event’s parameters. Data validation rules evaluate these keys |
np |
array of objects | Newly-seen parameters (used by the Monita script; optional elsewhere) |
Unknown extra fields are ignored.
Batching
Section titled “Batching”Send up to 50 events per request with the envelope form — shared fields at the top level, per-event fields inside events:
{ "u": "https://www.your-domain.com/checkout", "do": "www.your-domain.com", "sid": "8c75639c-719c-4fe8-9845-fc98512dcd67", "events": [ { "e": "begin_checkout", "vn": "Google Analytics 4", "dt": [{ "step": "1" }] }, { "e": "purchase", "vn": "Meta Conversions API", "dt": [{ "value": "129.90" }] } ]}Each event inherits the envelope’s fields; a plain JSON array of full event objects also works. Billing counts events, not HTTP requests.
Responses
Section titled “Responses”| Status | Meaning |
|---|---|
204 |
Event accepted. Responses never have a body. |
400 |
Body is not valid JSON. |
401 |
Token missing, malformed or not recognized — check it against your property’s Installation guide. |