Create an event
POST /events
Declare a name your integrations can fire and your workflows can trigger on.
Body
namestringRequiredLower-case letters, digits,
.,_and-, starting with a letter, at most 100 characters. Unique among your live events.schemaobject | nullA flat map from payload key to type:
string,number,booleanordate. At most 50 keys. A payload sent under this event is checked against it.
Request
curl -X POST "https://api.rasket.com/events" \
-H "Authorization: Bearer $RASKET_API_KEY" \
-H "User-Agent: acme-billing/1.0" \
-H "Content-Type: application/json" \
-d '{
"name": "trial.started",
"schema": {
"plan": "string",
"seats": "number"
}
}'const response = await fetch("https://api.rasket.com/events", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RASKET_API_KEY}`,
"User-Agent": "acme-billing/1.0",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "trial.started",
schema: {
plan: "string",
seats: "number"
}
}),
});
const { id } = await response.json();import os
import requests
response = requests.post(
"https://api.rasket.com/events",
headers={
"Authorization": f"Bearer {os.environ['RASKET_API_KEY']}",
"User-Agent": "acme-billing/1.0",
},
json={
"name": "trial.started",
"schema": {
"plan": "string",
"seats": "number"
}
},
)
id = response.json()["id"]Response 201
{
"object": "event",
"id": "0199d2f1-4c4e-7a20-9c31-6f2b8a0e5f01"
}- Names under the reserved
rasket:prefix are the platform's own triggers —rasket:contact.createdand its siblings — and are422 validation_errorhere. - A name already held by one of your live events is
422 validation_error. - Declaring a
schemais optional. Without one, any payload is accepted.