curl --request DELETE \
--url https://api.hubmessage.io/v1/channels/{channelId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cancelReason": "Customer closed the company"
}
'{
"error": 400,
"message": "cancel query param is required"
}{
"error": 401,
"message": "Unauthorized"
}{
"error": 404,
"message": "Channel not found"
}{
"error": 422,
"message": "This action requires ENTERPRISE role"
}Channels
Cancel subscription
Cancel a channel subscription programmatically
DELETE
/
v1
/
channels
/
{channelId}
/
cancel
curl --request DELETE \
--url https://api.hubmessage.io/v1/channels/{channelId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cancelReason": "Customer closed the company"
}
'{
"error": 400,
"message": "cancel query param is required"
}{
"error": 401,
"message": "Unauthorized"
}{
"error": 404,
"message": "Channel not found"
}{
"error": 422,
"message": "This action requires ENTERPRISE role"
}Overview
Requests the cancellation of a channel subscription. Cancellation is not immediate — the channel entersCANCELLATION_PROCESS status and remains active until the end of the already-paid period. After that period, the status changes to CANCELED.
The cancel=true query parameter is required as an explicit cancellation confirmation.
The cancelReason field in the body is optional, but recommended for auditing purposes.
This endpoint requires the ENTERPRISE role on your account.
Status after cancellation
| Status | Description |
|---|---|
CANCELLATION_PROCESS | Cancellation requested, channel still active until end of period |
CANCELED | Channel effectively cancelled and deactivated |
Cancellation cannot be undone via API. To reactivate the channel, a new subscription must be initiated via Subscribe channel.
The
channelId is obtained from the Create channel endpoint.Authorizations
Path Parameters
Body
application/json
Response
Cancellation requested successfully. No content returned.