Developers
Quick start
From zero to an accepted event in a few minutes. You need Admin or Owner access to create apps under Organization → Developer.
Create an app
- Open your org → Developer → New app.
- Name it after your system (e.g.
crm-hub,release-automation). - Add the
eventTypevalues you plan to emit to the app whitelist — only whitelisted types are accepted.
The app slug becomes your integration id: custom:<slug> on the monitoring timeline.
Generate a key
Issue a key from the app detail page. Keys are prefixed with wp_live_, shown once, and stored as a bcrypt hash — copy it to your secrets manager before closing the dialog. Revoke and reissue if lost.
Authorization: Bearer wp_live_9f3c3e4c1e9b4b2d9c1e3f4b2c3d4e5fValidate with ping
Confirm the key works before wiring production traffic. See GET ping.
curl "https://wepeople.app/api/v1/ingest/ping" \
-H "Authorization: Bearer $WEPEOPLE_API_KEY"{
"ok": true,
"organizationId": "org_2Mf1…",
"app": {
"id": "app_2Nh8…",
"slug": "crm-hub",
"name": "CRM Hub"
}
}Send an event
Point actor at a worker via externalId or email. WePeople matches an existing worker or auto-provisions one. Use an Idempotency-Key on every write.
curl -X POST "https://wepeople.app/api/v1/ingest/events" \
-H "Authorization: Bearer $WEPEOPLE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: quickstart-001" \
-d '{
"events": [{
"eventType": "ticket.resolved",
"category": "TASK_UPDATE",
"actor": { "email": "alex@acme.com" },
"duration": 240,
"metadata": { "ticket_id": "SUP-431", "priority": "high" }
}]
}'Or install the SDK:
npm install @wepeople/sdkimport { WePeopleClient } from "@wepeople/sdk";
const client = new WePeopleClient({
apiKey: process.env.WEPEOPLE_API_KEY!,
baseUrl: "https://wepeople.app",
});
const result = await client.ingestEvents([
{
eventType: "ticket.resolved",
category: "TASK_UPDATE",
actor: { externalId: "crm-user-42" },
duration: 240,
metadata: { ticket_id: "SUP-431" },
},
]);
console.log(`accepted ${result.accepted}, rejected ${result.rejected}`);Next steps
- Read the full Ingest guide for workers, snapshots, and security.
- Register custom statistics so events roll up into reports.
- Browse the API reference for field-level contracts.