dlogify docs

REST

Send batches of events as JSON to POST /v1/ingest.

By the end of this page you can send events to dlogify from any language or script with a single HTTP request.

Request

POST https://api.dlogify.com/v1/ingest
Authorization: Bearer lgf_live_…
Content-Type: application/json
body.json
{
  "service": "checkout",
  "environment": "production",
  "release": "1.4.2",
  "events": [
    {
      "timestamp": "2026-10-03T14:03:11.482Z",
      "level": "error",
      "message": "Payment provider timeout after 3 retries",
      "stack_trace": "Error: timeout\n    at charge (src/pay.ts:88:11)\n    at placeOrder (src/orders.ts:41:5)",
      "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
      "attributes": { "order_id": "ord_123", "provider": "acme-pay" }
    },
    {
      "timestamp": "2026-10-03T14:03:12.010Z",
      "level": "warn",
      "message": "Falling back to the secondary payment provider"
    }
  ]
}

Fields

service, environment and release can be set for the whole batch or per event; a value on the event wins.

FieldTypeNotes
eventsarrayRequired, at least one event, at most 1,000
servicestringUp to 128 characters. Required on the batch or on each event.
environmentstringUp to 64 characters, for example production
releasestringUp to 64 characters, for example a version or commit
events[].messagestringRequired
events[].levelstringdebug, info, warn, error, fatal and their usual synonyms (see Level mapping)
events[].timestampstringISO 8601 date-time; defaults to the time dlogify received it
events[].stack_tracestringThe error's stack trace
events[].trace_id, events[].span_idstringTo correlate with your traces
events[].attributesobjectAny extra key-value data

The full schema is in the API reference.

Response

HTTP/1.1 202 Accepted
{ "accepted": 2 }

202 means the batch is safely queued, not yet processed. Error groups and tickets follow within seconds.

Example with curl

curl https://api.dlogify.com/v1/ingest \
  -H "Authorization: Bearer $LOGIFY_API_KEY" \
  -H "Content-Type: application/json" \
  --data @body.json

Compressed with gzip, which helps on large batches:

gzip -c body.json | curl https://api.dlogify.com/v1/ingest \
  -H "Authorization: Bearer $LOGIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Content-Encoding: gzip" \
  --data-binary @-

Errors

StatusTypeWhat to do
401unauthorizedCheck the API key
400malformed-bodyThe body is not valid JSON or gzip
413payload-too-largeSend fewer events per request
415unsupported-encoding, unsupported-media-typeUse application/json, and gzip or no encoding
422validation-failedFix the field named in detail
429rate-limitedWait for Retry-After and send again
5xxinternalRetry with backoff

On this page