naftiko: 1.0.0-alpha2 info: label: Paypal Subscriptions description: You can use billing plans and subscriptions to create subscriptions that process recurring PayPal payments for physical or digital goods, or services. A plan includes pricing and billing cycle information that defines the amount and frequency of charge for a subscription. You can also define a fixed plan, such as a $5 basic plan or a volume- or graduated-based plan with pricing tiers based on the quantity purchased. For more information, see Subscriptions Overview. tags: - Paypal - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: paypal baseUri: https://api-m.sandbox.paypal.com description: Paypal Subscriptions HTTP API. authentication: type: bearer token: '{{PAYPAL_TOKEN}}' resources: - name: v1-billing-plans path: /v1/billing/plans operations: - name: plans-create method: POST description: Paypal Create plan outputRawFormat: json outputParameters: - name: result type: object value: $. - name: plans-list method: GET description: Paypal List plans outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-plans-id path: /v1/billing/plans/{id} operations: - name: plans-get method: GET description: Paypal Show plan details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: plans-patch method: PATCH description: Paypal Update plan outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-plans-id-activate path: /v1/billing/plans/{id}/activate operations: - name: plans-activate method: POST description: Paypal Activate plan outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-plans-id-deactivate path: /v1/billing/plans/{id}/deactivate operations: - name: plans-deactivate method: POST description: Paypal Deactivate plan outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-plans-id-update-pricing-schemes path: /v1/billing/plans/{id}/update-pricing-schemes operations: - name: plans-update-pricing-schemes method: POST description: Paypal Update pricing outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions path: /v1/billing/subscriptions operations: - name: subscriptions-create method: POST description: Paypal Create subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id path: /v1/billing/subscriptions/{id} operations: - name: subscriptions-get method: GET description: Paypal Show subscription details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-patch method: PATCH description: Paypal Update subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-revise path: /v1/billing/subscriptions/{id}/revise operations: - name: subscriptions-revise method: POST description: Paypal Revise plan or quantity of subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-suspend path: /v1/billing/subscriptions/{id}/suspend operations: - name: subscriptions-suspend method: POST description: Paypal Suspend subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-cancel path: /v1/billing/subscriptions/{id}/cancel operations: - name: subscriptions-cancel method: POST description: Paypal Cancel subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-activate path: /v1/billing/subscriptions/{id}/activate operations: - name: subscriptions-activate method: POST description: Paypal Activate subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-capture path: /v1/billing/subscriptions/{id}/capture operations: - name: subscriptions-capture method: POST description: Paypal Capture authorized payment on subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-billing-subscriptions-id-transactions path: /v1/billing/subscriptions/{id}/transactions operations: - name: subscriptions-transactions method: GET description: Paypal List transactions for subscription outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: paypal-rest description: REST adapter for Paypal Subscriptions. resources: - path: /v1/billing/plans name: plans-create operations: - method: POST name: plans-create description: Paypal Create plan call: paypal.plans-create outputParameters: - type: object mapping: $. - path: /v1/billing/plans name: plans-list operations: - method: GET name: plans-list description: Paypal List plans call: paypal.plans-list outputParameters: - type: object mapping: $. - path: /v1/billing/plans/{id} name: plans-get operations: - method: GET name: plans-get description: Paypal Show plan details call: paypal.plans-get outputParameters: - type: object mapping: $. - path: /v1/billing/plans/{id} name: plans-patch operations: - method: PATCH name: plans-patch description: Paypal Update plan call: paypal.plans-patch outputParameters: - type: object mapping: $. - path: /v1/billing/plans/{id}/activate name: plans-activate operations: - method: POST name: plans-activate description: Paypal Activate plan call: paypal.plans-activate outputParameters: - type: object mapping: $. - path: /v1/billing/plans/{id}/deactivate name: plans-deactivate operations: - method: POST name: plans-deactivate description: Paypal Deactivate plan call: paypal.plans-deactivate outputParameters: - type: object mapping: $. - path: /v1/billing/plans/{id}/update-pricing-schemes name: plans-update-pricing-schemes operations: - method: POST name: plans-update-pricing-schemes description: Paypal Update pricing call: paypal.plans-update-pricing-schemes outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions name: subscriptions-create operations: - method: POST name: subscriptions-create description: Paypal Create subscription call: paypal.subscriptions-create outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id} name: subscriptions-get operations: - method: GET name: subscriptions-get description: Paypal Show subscription details call: paypal.subscriptions-get outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id} name: subscriptions-patch operations: - method: PATCH name: subscriptions-patch description: Paypal Update subscription call: paypal.subscriptions-patch outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/revise name: subscriptions-revise operations: - method: POST name: subscriptions-revise description: Paypal Revise plan or quantity of subscription call: paypal.subscriptions-revise outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/suspend name: subscriptions-suspend operations: - method: POST name: subscriptions-suspend description: Paypal Suspend subscription call: paypal.subscriptions-suspend outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/cancel name: subscriptions-cancel operations: - method: POST name: subscriptions-cancel description: Paypal Cancel subscription call: paypal.subscriptions-cancel outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/activate name: subscriptions-activate operations: - method: POST name: subscriptions-activate description: Paypal Activate subscription call: paypal.subscriptions-activate outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/capture name: subscriptions-capture operations: - method: POST name: subscriptions-capture description: Paypal Capture authorized payment on subscription call: paypal.subscriptions-capture outputParameters: - type: object mapping: $. - path: /v1/billing/subscriptions/{id}/transactions name: subscriptions-transactions operations: - method: GET name: subscriptions-transactions description: Paypal List transactions for subscription call: paypal.subscriptions-transactions outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: paypal-mcp transport: http description: MCP adapter for Paypal Subscriptions for AI agent use. tools: - name: plans-create description: Paypal Create plan hints: readOnly: false destructive: false idempotent: false call: paypal.plans-create outputParameters: - type: object mapping: $. - name: plans-list description: Paypal List plans hints: readOnly: true destructive: false idempotent: true call: paypal.plans-list outputParameters: - type: object mapping: $. - name: plans-get description: Paypal Show plan details hints: readOnly: true destructive: false idempotent: true call: paypal.plans-get outputParameters: - type: object mapping: $. - name: plans-patch description: Paypal Update plan hints: readOnly: false destructive: false idempotent: false call: paypal.plans-patch outputParameters: - type: object mapping: $. - name: plans-activate description: Paypal Activate plan hints: readOnly: false destructive: false idempotent: false call: paypal.plans-activate outputParameters: - type: object mapping: $. - name: plans-deactivate description: Paypal Deactivate plan hints: readOnly: false destructive: false idempotent: false call: paypal.plans-deactivate outputParameters: - type: object mapping: $. - name: plans-update-pricing-schemes description: Paypal Update pricing hints: readOnly: false destructive: false idempotent: false call: paypal.plans-update-pricing-schemes outputParameters: - type: object mapping: $. - name: subscriptions-create description: Paypal Create subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-create outputParameters: - type: object mapping: $. - name: subscriptions-get description: Paypal Show subscription details hints: readOnly: true destructive: false idempotent: true call: paypal.subscriptions-get outputParameters: - type: object mapping: $. - name: subscriptions-patch description: Paypal Update subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-patch outputParameters: - type: object mapping: $. - name: subscriptions-revise description: Paypal Revise plan or quantity of subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-revise outputParameters: - type: object mapping: $. - name: subscriptions-suspend description: Paypal Suspend subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-suspend outputParameters: - type: object mapping: $. - name: subscriptions-cancel description: Paypal Cancel subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-cancel outputParameters: - type: object mapping: $. - name: subscriptions-activate description: Paypal Activate subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-activate outputParameters: - type: object mapping: $. - name: subscriptions-capture description: Paypal Capture authorized payment on subscription hints: readOnly: false destructive: false idempotent: false call: paypal.subscriptions-capture outputParameters: - type: object mapping: $. - name: subscriptions-transactions description: Paypal List transactions for subscription hints: readOnly: true destructive: false idempotent: true call: paypal.subscriptions-transactions outputParameters: - type: object mapping: $. binds: - namespace: env keys: PAYPAL_TOKEN: PAYPAL_TOKEN