PayPal · Capability

Paypal Subscriptions — Subscriptions

Paypal Subscriptions — Subscriptions. 9 operations. Lead operation: Paypal Create subscription. Self-contained Naftiko capability covering one Paypal business surface.

Run with Naftiko PaypalSubscriptions

What You Can Do

POST
Subscriptionscreate — Paypal Create subscription
/v1/v1/billing/subscriptions
GET
Subscriptionsget — Paypal Show subscription details
/v1/v1/billing/subscriptions/{id}
PATCH
Subscriptionspatch — Paypal Update subscription
/v1/v1/billing/subscriptions/{id}
POST
Subscriptionsactivate — Paypal Activate subscription
/v1/v1/billing/subscriptions/{id}/activate
POST
Subscriptionscancel — Paypal Cancel subscription
/v1/v1/billing/subscriptions/{id}/cancel
POST
Subscriptionscapture — Paypal Capture authorized payment on subscription
/v1/v1/billing/subscriptions/{id}/capture
POST
Subscriptionsrevise — Paypal Revise plan or quantity of subscription
/v1/v1/billing/subscriptions/{id}/revise
POST
Subscriptionssuspend — Paypal Suspend subscription
/v1/v1/billing/subscriptions/{id}/suspend
GET
Subscriptionstransactions — Paypal List transactions for subscription
/v1/v1/billing/subscriptions/{id}/transactions

MCP Tools

paypal-create-subscription

Paypal Create subscription

paypal-show-subscription-details

Paypal Show subscription details

read-only idempotent
paypal-update-subscription

Paypal Update subscription

idempotent
paypal-activate-subscription

Paypal Activate subscription

paypal-cancel-subscription

Paypal Cancel subscription

paypal-capture-authorized-payment-subscription

Paypal Capture authorized payment on subscription

paypal-revise-plan-quantity-subscription

Paypal Revise plan or quantity of subscription

paypal-suspend-subscription

Paypal Suspend subscription

paypal-list-transactions-subscription

Paypal List transactions for subscription

read-only idempotent

Capability Spec

billing-subscriptions-subscriptions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Paypal Subscriptions — Subscriptions
  description: 'Paypal Subscriptions — Subscriptions. 9 operations. Lead operation: Paypal Create subscription. Self-contained
    Naftiko capability covering one Paypal business surface.'
  tags:
  - Paypal
  - Subscriptions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PAYPAL_API_KEY: PAYPAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: billing-subscriptions-subscriptions
    baseUri: https://api-m.sandbox.paypal.com
    description: Paypal Subscriptions — Subscriptions business capability. Self-contained, no shared references.
    resources:
    - name: v1-billing-subscriptions
      path: /v1/billing/subscriptions
      operations:
      - name: subscriptionscreate
        method: POST
        description: Paypal Create subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id
      path: /v1/billing/subscriptions/{id}
      operations:
      - name: subscriptionsget
        method: GET
        description: Paypal Show subscription details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: subscriptionspatch
        method: PATCH
        description: Paypal Update subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-activate
      path: /v1/billing/subscriptions/{id}/activate
      operations:
      - name: subscriptionsactivate
        method: POST
        description: Paypal Activate subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-cancel
      path: /v1/billing/subscriptions/{id}/cancel
      operations:
      - name: subscriptionscancel
        method: POST
        description: Paypal Cancel subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-capture
      path: /v1/billing/subscriptions/{id}/capture
      operations:
      - name: subscriptionscapture
        method: POST
        description: Paypal Capture authorized payment on subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-revise
      path: /v1/billing/subscriptions/{id}/revise
      operations:
      - name: subscriptionsrevise
        method: POST
        description: Paypal Revise plan or quantity of subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-suspend
      path: /v1/billing/subscriptions/{id}/suspend
      operations:
      - name: subscriptionssuspend
        method: POST
        description: Paypal Suspend subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-billing-subscriptions-id-transactions
      path: /v1/billing/subscriptions/{id}/transactions
      operations:
      - name: subscriptionstransactions
        method: GET
        description: Paypal List transactions for subscription
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.PAYPAL_API_KEY}}'
  exposes:
  - type: rest
    namespace: billing-subscriptions-subscriptions-rest
    port: 8080
    description: REST adapter for Paypal Subscriptions — Subscriptions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/billing/subscriptions
      name: v1-billing-subscriptions
      description: REST surface for v1-billing-subscriptions.
      operations:
      - method: POST
        name: subscriptionscreate
        description: Paypal Create subscription
        call: billing-subscriptions-subscriptions.subscriptionscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}
      name: v1-billing-subscriptions-id
      description: REST surface for v1-billing-subscriptions-id.
      operations:
      - method: GET
        name: subscriptionsget
        description: Paypal Show subscription details
        call: billing-subscriptions-subscriptions.subscriptionsget
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: subscriptionspatch
        description: Paypal Update subscription
        call: billing-subscriptions-subscriptions.subscriptionspatch
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/activate
      name: v1-billing-subscriptions-id-activate
      description: REST surface for v1-billing-subscriptions-id-activate.
      operations:
      - method: POST
        name: subscriptionsactivate
        description: Paypal Activate subscription
        call: billing-subscriptions-subscriptions.subscriptionsactivate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/cancel
      name: v1-billing-subscriptions-id-cancel
      description: REST surface for v1-billing-subscriptions-id-cancel.
      operations:
      - method: POST
        name: subscriptionscancel
        description: Paypal Cancel subscription
        call: billing-subscriptions-subscriptions.subscriptionscancel
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/capture
      name: v1-billing-subscriptions-id-capture
      description: REST surface for v1-billing-subscriptions-id-capture.
      operations:
      - method: POST
        name: subscriptionscapture
        description: Paypal Capture authorized payment on subscription
        call: billing-subscriptions-subscriptions.subscriptionscapture
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/revise
      name: v1-billing-subscriptions-id-revise
      description: REST surface for v1-billing-subscriptions-id-revise.
      operations:
      - method: POST
        name: subscriptionsrevise
        description: Paypal Revise plan or quantity of subscription
        call: billing-subscriptions-subscriptions.subscriptionsrevise
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/suspend
      name: v1-billing-subscriptions-id-suspend
      description: REST surface for v1-billing-subscriptions-id-suspend.
      operations:
      - method: POST
        name: subscriptionssuspend
        description: Paypal Suspend subscription
        call: billing-subscriptions-subscriptions.subscriptionssuspend
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/billing/subscriptions/{id}/transactions
      name: v1-billing-subscriptions-id-transactions
      description: REST surface for v1-billing-subscriptions-id-transactions.
      operations:
      - method: GET
        name: subscriptionstransactions
        description: Paypal List transactions for subscription
        call: billing-subscriptions-subscriptions.subscriptionstransactions
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: billing-subscriptions-subscriptions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Paypal Subscriptions — Subscriptions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: paypal-create-subscription
      description: Paypal Create subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-show-subscription-details
      description: Paypal Show subscription details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: billing-subscriptions-subscriptions.subscriptionsget
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-update-subscription
      description: Paypal Update subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: billing-subscriptions-subscriptions.subscriptionspatch
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-activate-subscription
      description: Paypal Activate subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionsactivate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-cancel-subscription
      description: Paypal Cancel subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionscancel
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-capture-authorized-payment-subscription
      description: Paypal Capture authorized payment on subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionscapture
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-revise-plan-quantity-subscription
      description: Paypal Revise plan or quantity of subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionsrevise
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-suspend-subscription
      description: Paypal Suspend subscription
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: billing-subscriptions-subscriptions.subscriptionssuspend
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-list-transactions-subscription
      description: Paypal List transactions for subscription
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: billing-subscriptions-subscriptions.subscriptionstransactions
      outputParameters:
      - type: object
        mapping: $.