Update 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
PUT /api/v2/webhook-subscriptions/{uuid}

Headers

  • X-PLANNR-ACCOUNT-UUID string

Path parameters

  • uuid string Required
  • id string Required

    Optional parameter. The UUID of the Webhook Subscription

application/json

Body

  • 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, expectation.created, expectation.updated, expectation.deleted, 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.

  • status string

    Set to "disabled" to stop Plannr delivering to this webhook, or "enabled" to start again. Disabling drops any events still queued for it, and they will never be delivered.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • uuid string
    • created_at string
    • updated_at string
    • signing_secret string
    • url string
    • events array[string]
    • status string
    • status_message string
    • next_retry_at string
    • last_outgoing_webhook_call_at string
  • 422 application/json

    Validation error

    Hide response attributes Show response attributes object
    • message string Required

      A human-readable description of the error.

    • errors object

      Validation messages keyed by the field that failed.

      Hide errors attribute Show errors attribute object
      • * array[string] Additional properties
PUT /api/v2/webhook-subscriptions/{uuid}
curl \
 --request PUT 'https://api.plannrcrm.com/api/v2/webhook-subscriptions/6ff8f7f6-1eb3-3525-be4a-3932c805afed' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --header "X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}" \
 --data '{
  "events": [
    "account.deleted",
    "circle.created"
  ],
  "status": "disabled"
}'
Request examples
# Headers
X-PLANNR-ACCOUNT-UUID: {YOUR_PLANNR_ACCOUNT_UUID}

# Payload
{
  "events": [
    "account.deleted",
    "circle.created"
  ],
  "status": "disabled"
}
Response examples (200)
[
  {
    "uuid": "29038ec6-b85a-4e33-b025-6739d6f7d2dc",
    "created_at": "2026-10-19T15:41:07+01:00",
    "updated_at": "2026-10-19T15:41:07+01:00",
    "signing_secret": "UzephscFvHsbv0uEcv22QRQ65qgM2mHgeV5Fv09JMhKt7AL9YowraEHx11G1",
    "url": "https://api.example.com/webhooks",
    "events": [
      "account.deleted",
      "circle.created"
    ],
    "status": "enabled",
    "status_message": "We did not receive a response from your endpoint in time.",
    "next_retry_at": "2026-10-19T15:41:07+01:00",
    "last_outgoing_webhook_call_at": "2026-10-19T15:41:07+01:00"
  }
]
Response examples (422)
{
  "message": "The given data was invalid.",
  "errors": {
    "field": [
      "The field is invalid."
    ]
  }
}