---
title: "POST /v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend"
method: POST
path: "/v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend"
tags: ["partners"]
---

# POST /v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend

`POST /v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend`

## Request

- Base URL: `https://paymentsresellersubscription.googleapis.com`
- URL: `https://paymentsresellersubscription.googleapis.com/v1/partners/{partnersId}/subscriptions/{subscriptionsId}:extend`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/sdm.service`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/sdm.service`
- TypeScript: <https://skmtc.dev/google/apis/paymentsresellersubscription/docs/v1/partners/:partnersId/subscriptions/:subscriptionsId:extend/post.ts> (a function with typed inputs; its response is checked against the schema)

[Opt-in only] Most partners should be on auto-extend by default. Extends a subscription service for their customers on an ongoing basis for the subscription to remain active and renewable. It should be called directly by the partner using service accounts.

## Path parameters

- `partnersId` string, required
- `subscriptionsId` string, required

## Request body

- ExtendSubscriptionRequest: Request message for extending a Subscription resource. A new recurrence will be made based on the subscription schedule defined by the original product.
  - `extension` Extension: Describes the details of an extension request.
    - `duration` Duration: Describes the length of a period of a time.
      - `count` integer: number of duration units to be included.
      - `unit` 'UNIT_UNSPECIFIED' | 'MONTH' | 'DAY' | 'HOUR': The unit used for the duration
    - `partnerUserToken` string: Required. Identifier of the end-user in partner’s system.
  - `requestId` string: Required. Restricted to 36 ASCII characters. A random UUID is recommended. The idempotency key for the request. The ID generation logic is controlled by the partner. request_id should be the same as on retries of the same request. A different request_id must be used for a extension of a different cycle.

## Response `200`

Successful response

- ExtendSubscriptionResponse: Response that contains the timestamps after the extension.
  - `cycleEndTime` string, google-datetime: The time at which the subscription is expected to be extended, in ISO 8061 format. UTC timezone. Example, "cycleEndTime":"2019-08-31T17:28:54.564Z"
  - `freeTrialEndTime` string, google-datetime: End of the free trial period, in ISO 8061 format. UTC timezone. Example, "freeTrialEndTime":"2019-08-31T17:28:54.564Z" This time will be set the same as initial subscription creation time if no free trial period is offered to the partner.
  - `renewalTime` string, google-datetime: Output only. The time at which the subscription is expected to be renewed by Google - a new charge will be incurred and the service entitlement will be renewed. A non-immediate cancellation will take place at this time too, before which, the service entitlement for the end user will remain valid. UTC timezone in ISO 8061 format. For example: "2019-08-31T17:28:54.564Z"

---

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