---
title: "POST /androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke"
method: POST
path: "/androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke"
tags: ["purchases"]
---

# POST /androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke

`POST /androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke`

## Request

- Base URL: `https://androidpublisher.googleapis.com`
- URL: `https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/subscriptionsv2/tokens/{token}:revoke`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/androidpublisher`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/androidpublisher`
- TypeScript: <https://skmtc.dev/google/apis/androidpublisher/docs/androidpublisher/v3/applications/:packageName/purchases/subscriptionsv2/tokens/:token:revoke/post.ts> (a function with typed inputs; its response is checked against the schema)

Revoke a subscription purchase for the user.

## Path parameters

- `packageName` string, required
- `token` string, required

## Request body

- RevokeSubscriptionPurchaseRequest: Request for the purchases.subscriptionsv2.revoke API.
  - `revocationContext` RevocationContext: Revocation context of the purchases.subscriptionsv2.revoke API.
    - `fullRefund` RevocationContextFullRefund: Used to determine if the refund type in the RevocationContext is a full refund.
    - `itemBasedRefund` RevocationContextItemBasedRefund: Used to determine what specific item to revoke in a subscription with multiple items.
      - `productId` string: Required. If the subscription is a subscription with add-ons, the product id of the subscription item to revoke.
    - `proratedRefund` RevocationContextProratedRefund: Used to determine if the refund type in the RevocationContext is a prorated refund.

## Response `200`

Successful response

- RevokeSubscriptionPurchaseResponse: Response for the purchases.subscriptionsv2.revoke API.

## Changes

- **2026-10-10** `7f4acde65e74`: 2 breaking
  - removed the request body
  - removed the media type `*/*` for the response with the status `200`

[Operation history](https://skmtc.dev/google/apis/androidpublisher/changes/androidpublisher/v3/applications/:packageName/purchases/subscriptionsv2/tokens/:token:revoke/post.md)

---

[API](https://skmtc.dev/google/apis/androidpublisher.md) - [All operations](https://skmtc.dev/google/apis/androidpublisher/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/androidpublisher/revisions/43ec2db4f15c?raw)
