canonical: https://jentic.com/apis/googleapis.com/paymentsresellersubscription

# Google Payments Reseller Subscription API

The Payments Reseller Subscription API lets approved Google partners manage subscriptions on behalf of end users for Google products (such as YouTube Premium) sold through reseller channels. It exposes operations to find eligible promotions, list available products, provision a subscription for a user, and run lifecycle actions including cancel, suspend, resume, extend, undo cancel, and entitle. Use it to integrate Google subscription billing into a partner's checkout flow, manage post-sale lifecycle events, and apply qualifying promotions. The spec exposes 13 endpoints.

## For AI agents

Provision and manage Google reseller subscriptions on behalf of partner-channel end users - create, cancel, suspend, resume, extend, and entitle Google product subscriptions.

## Scope

Does not collect end-user payments, manage Google Cloud billing accounts, or sell to retail consumers - use for partner-channel Google product subscription lifecycle only.

## Capabilities

- Provision a new subscription on behalf of an end user with a chosen product and promotion
- List products available for resale and the promotions a user qualifies for
- Cancel an active subscription or undo a pending cancellation before it takes effect
- Suspend and later resume a subscription for billing or compliance reasons
- Extend a subscription's billing cycle to align with partner-side commitments
- Entitle a subscription to grant the user access after partner-side fulfilment

## Use cases

### Partner-channel subscription provisioning

Provision Google product subscriptions through a partner's checkout flow - for example, a telco bundling YouTube Premium with a mobile plan. The API takes the product, end-user identifier, and an applicable promotion, and returns a subscription resource that the partner can confirm and entitle. Suitable for resellers integrating Google subscriptions into their own commerce stack.

Example prompt: Call POST /v1/{+parent}/subscriptions:provision with the product partners/p/products/youtube_premium, the end user's partnerUserToken, and the eligible promotion identifier.

### Lifecycle management - cancel, suspend, extend

Manage post-sale lifecycle events for Google reseller subscriptions in response to partner customer-care actions. Cancel when the user requests termination, suspend when payment fails, resume when payment is restored, and extend the term for goodwill or contract alignment. Each action is a discrete API call with a returned subscription resource.

Example prompt: POST to /v1/{+name}:suspend for an active subscription whose latest payment failed, then POST to /v1/{+name}:resume once the partner billing system reports recovery.

### Promotion eligibility checks

Query which promotions an end user is eligible for before showing a price in checkout, so the partner UI can offer the correct discount tier. The API's findEligible operation accepts the user identifier and returns active promotions that can be redeemed at provisioning. This avoids surfacing a promotion the user cannot redeem and reduces post-checkout failures.

Example prompt: Call POST /v1/{+parent}/promotions:findEligible with the partner user token and pre-select the highest-value eligible promotion in checkout.

### Agent-driven reseller support via Jentic

A support agent embedded in a partner's customer-care console can use Jentic to suspend, resume, or extend a reseller subscription based on conversation context. Credentials stay in your Jentic One instance, so the agent runs under a scoped reseller token with audit trail. Useful for telco support bots that handle subscription lifecycle without escalating.

Example prompt: Use Jentic to find the cancel-subscription operation, load its schema, and execute it for the subscription referenced in the support ticket, then reply with the cancellation effective date.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/{+parent}/subscriptions:provision | Provision a new reseller subscription |
| POST | /v1/{+name}:cancel | Cancel an active subscription |
| POST | /v1/{+name}:undoCancel | Undo a pending cancellation |
| POST | /v1/{+name}:suspend | Suspend an active subscription |
| POST | /v1/{+name}:resume | Resume a suspended subscription |
| POST | /v1/{+name}:extend | Extend a subscription term |
| POST | /v1/{+name}:entitle | Entitle access to a provisioned subscription |
| POST | /v1/{+parent}/promotions:findEligible | Find eligible promotions for a user |

## Key resources

- **subscriptions** — Reseller subscription resources tied to a partner end-user
- **products** — Google products available for resale by an approved partner
- **promotions** — Promotions and discount tiers that can be applied at provisioning

## Why Jentic

- **Setup:** Wiring the Payments Reseller Subscription API by hand means setting up Google OAuth 2.0 from a partner service account, minting scoped tokens, and managing subscription resource paths against paymentsresellersubscription.googleapis.com yourself. Through Jentic you install once, import the Payments Reseller Subscription API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** The Payments Reseller Subscription API puts the subscription in the URL path (/v1/{+parent}/subscriptions:provision, /v1/{+name}:cancel), so a rule can pin your agent to one parent partner: it can provision and extend subscriptions there and nothing else. You choose the operations it may call, so disruptive ones like cancel or suspend are not included unless you add them.
- **Credential handling:** Your Google OAuth credential for the Payments Reseller Subscription API is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision a reseller subscription' or 'find eligible promotions', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Cloud Billing API** — Cloud Billing manages Google Cloud usage billing, not partner-resold subscriptions
- **Google Play Android Publisher API** — Android Publisher manages in-app subscriptions sold through Google Play directly
- **YouTube Data API** — YouTube Data exposes the user-facing YouTube product that is often the resold subscription

## FAQ

### What authentication does the Payments Reseller Subscription API use?

The API uses Google OAuth 2.0 with the cloud-platform scope and is restricted to approved reseller partners. Through Jentic, tokens come from a service account stored in your Jentic One instance.

### Can I cancel a subscription and undo the cancellation?

Yes. POST to /v1/{+name}:cancel to schedule a cancellation, then POST to /v1/{+name}:undoCancel before the effective date if the customer changes their mind.

### What are the rate limits for this API?

Google does not publish a single number; per-partner quotas are agreed during onboarding. Treat lifecycle calls as low-frequency per subscription and back off on 429 rather than retrying immediately.

### How do I provision a subscription through Jentic?

Search Jentic for provision reseller subscription, load the schema for POST /v1/{+parent}/subscriptions:provision, and execute it with the product, partnerUserToken, and eligible promotion. Jentic returns the subscription resource for confirmation.

### Does this API expose end-user payment instruments?

No - the partner is responsible for collecting payment from the end user. This API manages the subscription record on Google's side; the partner-side billing system handles the actual payment.

### How do I extend a subscription's term?

POST to /v1/{+name}:extend with the desired extension duration; the response confirms the new billing cycle end date.

### Can I limit what my agent is allowed to do with the Payments Reseller Subscription API?

Yes. Because you self-host Jentic One, your own rules decide which operations and credentials the agent may use, and this API puts the subscription in the URL path (for example /v1/{+parent}/subscriptions:provision and /v1/{+name}:cancel), so a rule can pin the agent to one parent partner. You choose the exact operations it may call, so you can allow read-only checks like promotions:findEligible or low-risk actions like provision and extend while withholding disruptive ones such as cancel, suspend, and undoCancel. The OAuth credential stays in your instance and is injected only at execution time, so the agent can act only within the boundary you set.
