Skip to main content
POST
/
v1
/
events
Write an audit event
curl --request POST \
  --url https://lodger.dev/v1/events \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "workspaceId": "org_01JZ2M9E7G6D8R5K3D",
  "projectId": "core",
  "action": "organization.member.removed",
  "actor": {
    "id": "user_123",
    "type": "user",
    "email": "admin@example.com"
  },
  "target": {
    "id": "member_456",
    "type": "organization_member"
  },
  "occurredAt": "2026-05-15T12:00:00.000Z",
  "metadata": {
    "organizationId": "org_789",
    "relatedReceiptIds": [
      "rcpt_previous123"
    ]
  },
  "userVisible": false,
  "source": "api"
}
'
{
  "accepted": true,
  "eventId": "<string>",
  "receipt": "<string>",
  "eventHash": "<string>",
  "previousHash": "<string>",
  "timestamp": "2023-11-07T05:31:56Z",
  "actor": {
    "id": "<string>",
    "email": "<string>"
  },
  "target": {
    "id": "<string>",
    "type": "<string>",
    "name": "<string>"
  },
  "verificationUrl": "<string>",
  "queued": true,
  "receivedAt": "2023-11-07T05:31:56Z",
  "provenance": {},
  "policyVersion": 123
}

Authorizations

Authorization
string
header
default:lodger_sk_your_key
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string
required
Minimum string length: 12
Example:

"event_01JZ2M9E7G6D8R5K3D"

X-Lodger-Environment
string
Example:

"production"

X-Lodger-Server
string
Example:

"api-1"

X-Request-Id
string
X-Session-Id
string
X-Trace-Id
string

Body

application/json
workspaceId
string
required
projectId
string
required
action
string
required
actor
object
required
target
object
required
occurredAt
string<date-time>
required
source
enum<string>
required
Available options:
api,
automation,
dashboard,
system
metadata
object
userVisible
boolean

Response

Event accepted and queued for durable indexing.

accepted
boolean
required
eventId
string
required
receipt
string
required
eventHash
string
required
previousHash
string
required
timestamp
string<date-time>
required
actor
object
required
target
object
required
lane
enum<string>
required
Available options:
security,
data,
policy,
operations
storageClass
enum<string>
required
Available options:
hot,
archive
verificationUrl
string
required
queued
boolean
required
receivedAt
string<date-time> | null
provenance
object
policyVersion