Skip to content

Report observability events

POST
/devices/events
curl --request POST \
--url https://example.com/v1/devices/events \
--header 'Content-Type: application/json' \
--header 'X-Device-Signature: example' \
--data '{ "events": [ { "event_time": "2026-04-15T12:00:00Z", "agent_type": "claude-code", "mcp_name": "github", "tool": "list_issues", "event_type": "result", "result": "allowed", "deny_code": "example", "deny_reason": "example", "error_message": "example", "rule_applied": "example", "model": "example", "session_id": "example", "group": "example", "actor_email": "hello@example.com", "tokens_in": 1, "tokens_out": 1, "duration_ms": 1, "skills": [ "example" ], "prompt": "example", "metadata": {} } ] }'

Batch-ingests observability events (one per MCP tool call). Signed via the X-Device-Signature header.

X-Device-Signature
required
string

Base64 signature over the canonical payload, made with the device key

Media typeapplication/json
object
events
required
Array<object>
object
event_time
string format: date-time
agent_type
string

Example

claude-code
mcp_name
string

Example

github
tool
string

Example

list_issues
event_type
string

Example

result
result
string
Allowed values: allowed denied error
deny_code
string
deny_reason
string
error_message
string
rule_applied
string
model
string
session_id
string
group
string
actor_email
string format: email
tokens_in
integer
tokens_out
integer
duration_ms
integer
skills
Array<string>
prompt
string
metadata
object
key
additional properties
any

Events accepted

Media typeapplication/json
object
accepted
integer

Example generated

{
"accepted": 1
}

Invalid payload or signature