naftiko: 1.0.0-alpha2 info: label: Google Play Developer API — Subscriptions description: 'Google Play Developer API — Subscriptions. 13 operations. Lead operation: List Subscription Products. Self-contained Naftiko capability covering one Android business surface.' tags: - Android - Subscriptions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ANDROID_API_KEY: ANDROID_API_KEY capability: consumes: - type: http namespace: google-play-developer-subscriptions baseUri: https://androidpublisher.googleapis.com/androidpublisher/v3 description: Google Play Developer API — Subscriptions business capability. Self-contained, no shared references. resources: - name: applications-packageName-monetization-subscriptions path: /applications/{packageName}/monetization/subscriptions operations: - name: listsubscriptions method: GET description: List Subscription Products outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pageSize in: query type: integer description: Maximum number of subscriptions to return. - name: pageToken in: query type: string description: Page token for pagination. - name: showArchived in: query type: boolean description: Whether to include archived subscriptions in the response. - name: createsubscription method: POST description: Create a Subscription Product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: productId in: query type: string description: The ID to use for the subscription. Must be unique within the app. required: true - name: regionsVersion.version in: query type: string description: The version of the available regions being used. - name: body in: body type: object description: Request body (JSON). required: true - name: applications-packageName-monetization-subscriptions-productId path: /applications/{packageName}/monetization/subscriptions/{productId} operations: - name: getsubscription method: GET description: Get a Subscription Product outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatesubscription method: PATCH description: Update a Subscription Product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: updateMask in: query type: string description: The list of fields to update in this subscription. Uses FieldMask format. - name: regionsVersion.version in: query type: string description: The version of the available regions being used. - name: latencyTolerance in: query type: string description: Tolerance for propagation latency. PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_SENSITIVE or PRODUCT_UPDATE_LATENCY_TOLERANCE_LATENCY_TOLERANT. - name: body in: body type: object description: Request body (JSON). required: true - name: deletesubscription method: DELETE description: Delete a Subscription Product outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-packageName-monetization-subscriptions-productId-basePlans-basePlan path: /applications/{packageName}/monetization/subscriptions/{productId}/basePlans/{basePlanId}/offers operations: - name: listsubscriptionoffers method: GET description: List Subscription Offers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pageSize in: query type: integer description: Maximum number of offers to return. - name: pageToken in: query type: string description: Page token for pagination. - name: createsubscriptionoffer method: POST description: Create a Subscription Offer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: offerId in: query type: string description: The ID to use for the offer. Must be unique within the base plan. required: true - name: regionsVersion.version in: query type: string description: The version of the available regions being used. - name: body in: body type: object description: Request body (JSON). required: true - name: applications-packageName-purchases-subscriptions-subscriptionId-tokens-token path: /applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token} operations: - name: getpurchasesubscription method: GET description: Get Subscription Purchase Status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:ac path: /applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge operations: - name: acknowledgepurchasesubscription method: POST description: Acknowledge a Subscription Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:ca path: /applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel operations: - name: cancelpurchasesubscription method: POST description: Cancel a Subscription Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:de path: /applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer operations: - name: deferpurchasesubscription method: POST description: Defer a Subscription Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:re path: /applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke operations: - name: revokepurchasesubscription method: POST description: Revoke a Subscription Purchase outputRawFormat: json outputParameters: - name: result type: object value: $. - name: applications-packageName-purchases-subscriptionsv2-tokens-token path: /applications/{packageName}/purchases/subscriptionsv2/tokens/{token} operations: - name: getsubscriptionpurchasev2 method: GET description: Get Subscription Purchase V2 outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ANDROID_API_KEY}}' exposes: - type: rest namespace: google-play-developer-subscriptions-rest port: 8080 description: REST adapter for Google Play Developer API — Subscriptions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/applications/{packagename}/monetization/subscriptions name: applications-packagename-monetization-subscriptions description: REST surface for applications-packageName-monetization-subscriptions. operations: - method: GET name: listsubscriptions description: List Subscription Products call: google-play-developer-subscriptions.listsubscriptions with: pageSize: rest.pageSize pageToken: rest.pageToken showArchived: rest.showArchived outputParameters: - type: object mapping: $. - method: POST name: createsubscription description: Create a Subscription Product call: google-play-developer-subscriptions.createsubscription with: productId: rest.productId regionsVersion.version: rest.regionsVersion.version body: rest.body outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/monetization/subscriptions/{productid} name: applications-packagename-monetization-subscriptions-productid description: REST surface for applications-packageName-monetization-subscriptions-productId. operations: - method: GET name: getsubscription description: Get a Subscription Product call: google-play-developer-subscriptions.getsubscription outputParameters: - type: object mapping: $. - method: PATCH name: updatesubscription description: Update a Subscription Product call: google-play-developer-subscriptions.updatesubscription with: updateMask: rest.updateMask regionsVersion.version: rest.regionsVersion.version latencyTolerance: rest.latencyTolerance body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscription description: Delete a Subscription Product call: google-play-developer-subscriptions.deletesubscription outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/monetization/subscriptions/{productid}/baseplans/{baseplanid}/offers name: applications-packagename-monetization-subscriptions-productid-baseplans-baseplan description: REST surface for applications-packageName-monetization-subscriptions-productId-basePlans-basePlan. operations: - method: GET name: listsubscriptionoffers description: List Subscription Offers call: google-play-developer-subscriptions.listsubscriptionoffers with: pageSize: rest.pageSize pageToken: rest.pageToken outputParameters: - type: object mapping: $. - method: POST name: createsubscriptionoffer description: Create a Subscription Offer call: google-play-developer-subscriptions.createsubscriptionoffer with: offerId: rest.offerId regionsVersion.version: rest.regionsVersion.version body: rest.body outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptions/{subscriptionid}/tokens/{token} name: applications-packagename-purchases-subscriptions-subscriptionid-tokens-token description: REST surface for applications-packageName-purchases-subscriptions-subscriptionId-tokens-token. operations: - method: GET name: getpurchasesubscription description: Get Subscription Purchase Status call: google-play-developer-subscriptions.getpurchasesubscription outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptions/{subscriptionid}/tokens/token-acknowledge name: applications-packagename-purchases-subscriptions-subscriptionid-tokens-token-ac description: REST surface for applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:ac. operations: - method: POST name: acknowledgepurchasesubscription description: Acknowledge a Subscription Purchase call: google-play-developer-subscriptions.acknowledgepurchasesubscription with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptions/{subscriptionid}/tokens/token-cancel name: applications-packagename-purchases-subscriptions-subscriptionid-tokens-token-ca description: REST surface for applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:ca. operations: - method: POST name: cancelpurchasesubscription description: Cancel a Subscription Purchase call: google-play-developer-subscriptions.cancelpurchasesubscription outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptions/{subscriptionid}/tokens/token-defer name: applications-packagename-purchases-subscriptions-subscriptionid-tokens-token-de description: REST surface for applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:de. operations: - method: POST name: deferpurchasesubscription description: Defer a Subscription Purchase call: google-play-developer-subscriptions.deferpurchasesubscription with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptions/{subscriptionid}/tokens/token-revoke name: applications-packagename-purchases-subscriptions-subscriptionid-tokens-token-re description: REST surface for applications-packageName-purchases-subscriptions-subscriptionId-tokens-token}:re. operations: - method: POST name: revokepurchasesubscription description: Revoke a Subscription Purchase call: google-play-developer-subscriptions.revokepurchasesubscription outputParameters: - type: object mapping: $. - path: /v1/applications/{packagename}/purchases/subscriptionsv2/tokens/{token} name: applications-packagename-purchases-subscriptionsv2-tokens-token description: REST surface for applications-packageName-purchases-subscriptionsv2-tokens-token. operations: - method: GET name: getsubscriptionpurchasev2 description: Get Subscription Purchase V2 call: google-play-developer-subscriptions.getsubscriptionpurchasev2 outputParameters: - type: object mapping: $. - type: mcp namespace: google-play-developer-subscriptions-mcp port: 9090 transport: http description: MCP adapter for Google Play Developer API — Subscriptions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-subscription-products description: List Subscription Products hints: readOnly: true destructive: false idempotent: true call: google-play-developer-subscriptions.listsubscriptions with: pageSize: tools.pageSize pageToken: tools.pageToken showArchived: tools.showArchived outputParameters: - type: object mapping: $. - name: create-subscription-product description: Create a Subscription Product hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.createsubscription with: productId: tools.productId regionsVersion.version: tools.regionsVersion.version body: tools.body outputParameters: - type: object mapping: $. - name: get-subscription-product description: Get a Subscription Product hints: readOnly: true destructive: false idempotent: true call: google-play-developer-subscriptions.getsubscription outputParameters: - type: object mapping: $. - name: update-subscription-product description: Update a Subscription Product hints: readOnly: false destructive: false idempotent: true call: google-play-developer-subscriptions.updatesubscription with: updateMask: tools.updateMask regionsVersion.version: tools.regionsVersion.version latencyTolerance: tools.latencyTolerance body: tools.body outputParameters: - type: object mapping: $. - name: delete-subscription-product description: Delete a Subscription Product hints: readOnly: false destructive: true idempotent: true call: google-play-developer-subscriptions.deletesubscription outputParameters: - type: object mapping: $. - name: list-subscription-offers description: List Subscription Offers hints: readOnly: true destructive: false idempotent: true call: google-play-developer-subscriptions.listsubscriptionoffers with: pageSize: tools.pageSize pageToken: tools.pageToken outputParameters: - type: object mapping: $. - name: create-subscription-offer description: Create a Subscription Offer hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.createsubscriptionoffer with: offerId: tools.offerId regionsVersion.version: tools.regionsVersion.version body: tools.body outputParameters: - type: object mapping: $. - name: get-subscription-purchase-status description: Get Subscription Purchase Status hints: readOnly: true destructive: false idempotent: true call: google-play-developer-subscriptions.getpurchasesubscription outputParameters: - type: object mapping: $. - name: acknowledge-subscription-purchase description: Acknowledge a Subscription Purchase hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.acknowledgepurchasesubscription with: body: tools.body outputParameters: - type: object mapping: $. - name: cancel-subscription-purchase description: Cancel a Subscription Purchase hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.cancelpurchasesubscription outputParameters: - type: object mapping: $. - name: defer-subscription-purchase description: Defer a Subscription Purchase hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.deferpurchasesubscription with: body: tools.body outputParameters: - type: object mapping: $. - name: revoke-subscription-purchase description: Revoke a Subscription Purchase hints: readOnly: false destructive: false idempotent: false call: google-play-developer-subscriptions.revokepurchasesubscription outputParameters: - type: object mapping: $. - name: get-subscription-purchase-v2 description: Get Subscription Purchase V2 hints: readOnly: true destructive: false idempotent: true call: google-play-developer-subscriptions.getsubscriptionpurchasev2 outputParameters: - type: object mapping: $.