Mokapen API Documentation

Webhooks

Webhooks notify your application when entities are created, updated, or deleted in Mokapen. Use them for event-driven integrations instead of polling the REST API.

Overview

Register a webhook URL and select the events you want to receive. When an event occurs, Mokapen sends an HTTP POST request to your endpoint with a JSON payload.

Webhook management endpoints require a valid Bearer token with appropriate scopes.

Webhook API endpoints

GET    /api/webhooks
POST   /api/webhooks
PUT    /api/webhooks/{webhook_id}
DELETE /api/webhooks/{webhook_id}
GET    /api/webhooks/{webhook_id}/logs
GET    /api/webhook-events

Register a webhook

Send a POST request with your callback URL, organization ID, and selected events:

POST /api/webhooks
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "url": "https://example.com/webhooks/mokapen",
  "org_id": 849,
  "events": ["task.created", "task.updated", "contact.created"]
}

Security

Verify incoming webhook requests on your server. Use HTTPS endpoints only. Store webhook secrets securely and validate payloads before processing.

Supported webhook events

When registering a webhook, you can subscribe to one or more of the following event types:

  • task.created
  • task.updated
  • task.deleted
  • project.created
  • project.updated
  • project.deleted
  • contact.created
  • contact.updated
  • contact.deleted
  • company.created
  • company.updated
  • company.deleted
  • ticket.created
  • ticket.updated
  • ticket.deleted
  • booking.created
  • booking.updated
  • booking.deleted
  • product.created
  • product.updated
  • product.deleted
  • service.created
  • service.updated
  • service.deleted
  • quote.created
  • quote.updated
  • quote.deleted
  • order.created
  • order.updated
  • order.deleted
  • deal.created
  • deal.updated
  • deal.deleted
  • appointment.created
  • appointment.updated
  • appointment.deleted
  • document.created
  • document.updated
  • document.deleted
  • campaign.created
  • campaign.updated
  • campaign.deleted

Brauchen Sie Hilfe?