---
title: "Cancel a subscription"
method: DELETE
path: "/v1/account/subscriptions/{id}"
tags: ["Push"]
---

# Cancel a subscription

`DELETE /v1/account/subscriptions/{id}`

## Request

- Base URL: `https://api.pmwallets.com`
- URL: `https://api.pmwallets.com/v1/account/subscriptions/{id}`
- Auth: API key in header `x-api-key`

Stops delivery and hourly charging now. The hour already paid is not refunded. Final: subscribe again for a new one.

## Path parameters

- `id` string, required

## Response `200`

The subscription, status canceled.

- Subscription
  - `id` string
  - `userId` string
  - `chain` integer
  - `entityId` string: The 0x address once paid for and still held; a handle otherwise (never-charged or plan-locked rows).
  - `label` string
  - `channels` string[]
  - `status` 'active' | 'paused' | 'canceled'
  - `pausedReason` string, nullable: e.g. insufficient_balance, webhook_disabled, no_webhook, plan_ended, plan_limit, address_locked.
  - `fromBlock` integer: Fills strictly after this block are delivered.
  - `syncedBlock` integer
  - `tier` string
  - `priceCents` integer: Hourly price frozen on the subscription.
  - `billedThrough` string, date-time, nullable: Prepaid up to here.
  - `planCovered` boolean: The last billed hour was covered by a plan push slot (free).
  - `activations` integer
  - `createdAt` string, date-time
  - `canceledAt` string, date-time, nullable
  - `followedAt` string, date-time, nullable
  - `categories` object[]: List endpoint only.
    - `category` string
    - `share` number
  - `lastFillTs` string, nullable: List endpoint only.
  - `fills24h` integer, nullable: List endpoint only.

## Other responses

- `401`: No valid API key (missing, malformed, unknown or revoked).
- `404`: Not found (or not yours).

---

[API](https://skmtc.dev/pmwallets/apis/pmwallets-api.md) · [All operations](https://skmtc.dev/pmwallets/apis/pmwallets-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pmwallets/apis/pmwallets-api/revisions/d5023fb40430?raw)
