Create a webhook subscription Run in API Explorer

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://apidocs.plannrcrm.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
"PlannrCRM MCP server": {
  "url": "https://apidocs.plannrcrm.com/mcp"
}
Close
POST /api/v2/webhook-subscriptions

Headers

  • X-PLANNR-ACCOUNT-UUID string
application/json

Body

  • url string(uri) Required

    The URL of the webhook you would like Plannr to send events to.

  • events array[string] Required

    The events the webhook subscription is subscribed to.

    Values are account.created, account.updated, account.deleted, account.annual-review-date-occurred, circle.created, circle.updated, circle.deleted, plan.created, plan.updated, plan.deleted, case.created, case.updated, case.deleted, task.created, task.updated, task.deleted, task.completed, fact-find.completed, fact-find.completed-v3, form-submission.completed, bank-account.created, bank-account.updated, bank-account.deleted, bank-statement.created, bank-statement.updated, bank-statement.deleted, bank-transaction.created, bank-transaction.updated, bank-transaction.deleted, provider-statement.created, provider-statement.updated, provider-statement.deleted, transaction.created, transaction.updated, transaction.deleted, transaction.reconciled, transaction.unreconciled, statement.lock-status, conversation.message.created, conversation.message.updated, conversation.message.deleted, client-portal-document.uploaded, client-portal-document.updated, or client-portal-document.deleted.

Responses

  • 201 application/json
    Hide response attributes Show response attributes object
    • uuid string

      The UUID of the resource.

    • created_at string

      The timestamp of when the resource was created.

    • updated_at string

      The timestamp of when the resource was updated.

    • signing_secret string

      The signing secret of the webhook. You can use this to create your own signature of the webhook body and compare it against the X-Signature header Plannr sends. This ensures that the payload has not been modified.

    • url string

      The URL of the webhook Plannr will send events to.

    • events array[string]

      The events the webhook subscription is subscribed to.

    • last_outgoing_webhook_call_at string

      The last time Plannr sent a request to this webhook.

POST /api/v2/webhook-subscriptions
curl \
 --request POST 'https://api.plannrcrm.com/api/v2/webhook-subscriptions' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}" \
 --data '{"url":"https://api.example.com/webhooks","events":["account.deleted","circle.created"]}'
Request examples
# Headers
X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}

# Payload
{
  "url": "https://api.example.com/webhooks",
  "events": [
    "account.deleted",
    "circle.created"
  ]
}
Response examples (201)
{
  "uuid": "7f4fc163-e9d0-40ff-b1b9-9453e79e7326",
  "created_at": "2026-06-18T16:11:36+01:00",
  "updated_at": "2026-06-18T16:11:36+01:00",
  "signing_secret": "bj6uLwQEDaijU8cdFy8Bh6OasrFslFcI1m2a3AlS9Td7Ar5MRLSigDRf6RQE",
  "url": "https://api.example.com/webhooks",
  "events": [
    "account.deleted",
    "circle.created"
  ],
  "last_outgoing_webhook_call_at": "2026-06-18T16:11:36+01:00"
}