Coming soon — in development. This endpoint is not yet deployed. The request/response shapes below are the planned contract and may change before release.
For integrations where you own all billing (e.g. WooCommerce Subscriptions): when your billing system puts a subscription on hold, tell kurnl to suspend the port; when it becomes active again, tell kurnl to restore it. No kurnl invoices or fees are created either way — kurnl only performs the network action.

Endpoint

Authentication

X-Webhook-Secret header — same secret as the other external-checkout endpoints.

Request body

Identify the subscription either by the original checkout session_id (preferred) or by an explicit subscription_id + service_provider_document_id pair.

Response — 200 OK

  • suspend resets the switch port to the captive portal and marks the subscription SUSPENDED.
  • restore queues port re-provisioning and marks the subscription ACTIVE.
  • Both actions are idempotent — repeating a call for a subscription already in the target state returns port_changed: false with an “Already …” message.
  • port_changed: false on a state change means kurnl had no switch/port data for the subscription; the status was updated but no network action was taken.

Error codes