Skip to main content
POST
/
v1
/
events
Create Event
curl --request POST \
  --url https://events-api.monk.com/v1/events \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "eventName": "call_count",
  "properties": {
    "endpoint": "/api/users",
    "method": "GET"
  }
}
'
{ "status": "accepted", "idempotencyKey": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "requestId": "req_a1b2c3d4e5f67890" }

Documentation Index

Fetch the complete documentation index at: https://docs.monk.com/llms.txt

Use this file to discover all available pages before exploring further.

Events are accepted immediately and processed asynchronously. Provide exactly one of customerId (Monk UUID) or externalCustomerId (your own identifier). Include an idempotencyKey to prevent duplicate billing on retries. If omitted, a UUID is auto-generated. Resending the same key is always safe — Monk accepts the request and the latest version of the event becomes the source of truth for billing. Scope: usage:write

Authorizations

Authorization
string
header
required

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

Body

application/json
eventName
string
required
customerId
string

Monk customer UUID (provide this or externalCustomerId)

externalCustomerId
string

Your external identifier (provide this or customerId)

contractId
string

Optional contract UUID to associate the event with a specific contract.

idempotencyKey
string

Unique key to prevent duplicates. Auto-generated if omitted.

timestamp
string<date-time>

ISO 8601 (UTC). Defaults to now. Must not be more than 1 hour in the future.

properties
object

Response

Event accepted

status
enum<string>
Available options:
accepted
idempotencyKey
string
requestId
string