Skip to content

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.

POST https://collect.monita.ai/api/v1/

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.

Terminal window
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" }]
}'

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.

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.

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.