PayPal · Capability

Paypal Invoices — Invoices

Paypal Invoices — Invoices. 14 operations. Lead operation: Paypal Generate invoice number. Self-contained Naftiko capability covering one Paypal business surface.

Run with Naftiko PaypalInvoices

What You Can Do

POST
Invoicinggeneratenextinvoicenumber — Paypal Generate invoice number
/v1/v2/invoicing/generate-next-invoice-number
POST
Invoicescreate — Paypal Create draft invoice
/v1/v2/invoicing/invoices
GET
Invoiceslist — Paypal List invoices
/v1/v2/invoicing/invoices
GET
Invoicesget — Paypal Show invoice details
/v1/v2/invoicing/invoices/{invoice-id}
PUT
Invoicesupdate — Paypal Fully update invoice
/v1/v2/invoicing/invoices/{invoice-id}
DELETE
Invoicesdelete — Paypal Delete invoice
/v1/v2/invoicing/invoices/{invoice-id}
POST
Invoicescancel — Paypal Cancel sent invoice
/v1/v2/invoicing/invoices/{invoice-id}/cancel
POST
Invoicesgenerateqrcode — Paypal Generate QR code
/v1/v2/invoicing/invoices/{invoice-id}/generate-qr-code
POST
Invoicespayments — Paypal Record payment for invoice
/v1/v2/invoicing/invoices/{invoice-id}/payments
DELETE
Invoicespaymentsdelete — Paypal Delete external payment
/v1/v2/invoicing/invoices/{invoice-id}/payments/{transaction-id}
POST
Invoicesrefunds — Paypal Record refund for invoice
/v1/v2/invoicing/invoices/{invoice-id}/refunds
DELETE
Invoicesrefundsdelete — Paypal Delete external refund
/v1/v2/invoicing/invoices/{invoice-id}/refunds/{transaction-id}
POST
Invoicesremind — Paypal Send invoice reminder
/v1/v2/invoicing/invoices/{invoice-id}/remind
POST
Invoicessend — Paypal Send invoice
/v1/v2/invoicing/invoices/{invoice-id}/send

MCP Tools

paypal-generate-invoice-number

Paypal Generate invoice number

paypal-create-draft-invoice

Paypal Create draft invoice

paypal-list-invoices

Paypal List invoices

read-only idempotent
paypal-show-invoice-details

Paypal Show invoice details

read-only idempotent
paypal-fully-update-invoice

Paypal Fully update invoice

idempotent
paypal-delete-invoice

Paypal Delete invoice

idempotent
paypal-cancel-sent-invoice

Paypal Cancel sent invoice

paypal-generate-qr-code

Paypal Generate QR code

paypal-record-payment-invoice

Paypal Record payment for invoice

paypal-delete-external-payment

Paypal Delete external payment

idempotent
paypal-record-refund-invoice

Paypal Record refund for invoice

paypal-delete-external-refund

Paypal Delete external refund

idempotent
paypal-send-invoice-reminder

Paypal Send invoice reminder

paypal-send-invoice

Paypal Send invoice

Capability Spec

invoicing-invoices.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Paypal Invoices — Invoices
  description: 'Paypal Invoices — Invoices. 14 operations. Lead operation: Paypal Generate invoice number. Self-contained
    Naftiko capability covering one Paypal business surface.'
  tags:
  - Paypal
  - Invoices
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PAYPAL_API_KEY: PAYPAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: invoicing-invoices
    baseUri: https://api-m.sandbox.paypal.com
    description: Paypal Invoices — Invoices business capability. Self-contained, no shared references.
    resources:
    - name: v2-invoicing-generate-next-invoice-number
      path: /v2/invoicing/generate-next-invoice-number
      operations:
      - name: invoicinggeneratenextinvoicenumber
        method: POST
        description: Paypal Generate invoice number
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-invoicing-invoices
      path: /v2/invoicing/invoices
      operations:
      - name: invoicescreate
        method: POST
        description: Paypal Create draft invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: invoiceslist
        method: GET
        description: Paypal List invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-invoicing-invoices-invoice_id
      path: /v2/invoicing/invoices/{invoice_id}
      operations:
      - name: invoicesget
        method: GET
        description: Paypal Show invoice details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: invoicesupdate
        method: PUT
        description: Paypal Fully update invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: invoicesdelete
        method: DELETE
        description: Paypal Delete invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-invoicing-invoices-invoice_id-cancel
      path: /v2/invoicing/invoices/{invoice_id}/cancel
      operations:
      - name: invoicescancel
        method: POST
        description: Paypal Cancel sent invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-invoicing-invoices-invoice_id-generate-qr-code
      path: /v2/invoicing/invoices/{invoice_id}/generate-qr-code
      operations:
      - name: invoicesgenerateqrcode
        method: POST
        description: Paypal Generate QR code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v2-invoicing-invoices-invoice_id-payments
      path: /v2/invoicing/invoices/{invoice_id}/payments
      operations:
      - name: invoicespayments
        method: POST
        description: Paypal Record payment for invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-invoicing-invoices-invoice_id-payments-transaction_id
      path: /v2/invoicing/invoices/{invoice_id}/payments/{transaction_id}
      operations:
      - name: invoicespaymentsdelete
        method: DELETE
        description: Paypal Delete external payment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-invoicing-invoices-invoice_id-refunds
      path: /v2/invoicing/invoices/{invoice_id}/refunds
      operations:
      - name: invoicesrefunds
        method: POST
        description: Paypal Record refund for invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-invoicing-invoices-invoice_id-refunds-transaction_id
      path: /v2/invoicing/invoices/{invoice_id}/refunds/{transaction_id}
      operations:
      - name: invoicesrefundsdelete
        method: DELETE
        description: Paypal Delete external refund
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-invoicing-invoices-invoice_id-remind
      path: /v2/invoicing/invoices/{invoice_id}/remind
      operations:
      - name: invoicesremind
        method: POST
        description: Paypal Send invoice reminder
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v2-invoicing-invoices-invoice_id-send
      path: /v2/invoicing/invoices/{invoice_id}/send
      operations:
      - name: invoicessend
        method: POST
        description: Paypal Send invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.PAYPAL_API_KEY}}'
  exposes:
  - type: rest
    namespace: invoicing-invoices-rest
    port: 8080
    description: REST adapter for Paypal Invoices — Invoices. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v2/invoicing/generate-next-invoice-number
      name: v2-invoicing-generate-next-invoice-number
      description: REST surface for v2-invoicing-generate-next-invoice-number.
      operations:
      - method: POST
        name: invoicinggeneratenextinvoicenumber
        description: Paypal Generate invoice number
        call: invoicing-invoices.invoicinggeneratenextinvoicenumber
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices
      name: v2-invoicing-invoices
      description: REST surface for v2-invoicing-invoices.
      operations:
      - method: POST
        name: invoicescreate
        description: Paypal Create draft invoice
        call: invoicing-invoices.invoicescreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: invoiceslist
        description: Paypal List invoices
        call: invoicing-invoices.invoiceslist
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}
      name: v2-invoicing-invoices-invoice-id
      description: REST surface for v2-invoicing-invoices-invoice_id.
      operations:
      - method: GET
        name: invoicesget
        description: Paypal Show invoice details
        call: invoicing-invoices.invoicesget
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: invoicesupdate
        description: Paypal Fully update invoice
        call: invoicing-invoices.invoicesupdate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: invoicesdelete
        description: Paypal Delete invoice
        call: invoicing-invoices.invoicesdelete
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/cancel
      name: v2-invoicing-invoices-invoice-id-cancel
      description: REST surface for v2-invoicing-invoices-invoice_id-cancel.
      operations:
      - method: POST
        name: invoicescancel
        description: Paypal Cancel sent invoice
        call: invoicing-invoices.invoicescancel
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/generate-qr-code
      name: v2-invoicing-invoices-invoice-id-generate-qr-code
      description: REST surface for v2-invoicing-invoices-invoice_id-generate-qr-code.
      operations:
      - method: POST
        name: invoicesgenerateqrcode
        description: Paypal Generate QR code
        call: invoicing-invoices.invoicesgenerateqrcode
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/payments
      name: v2-invoicing-invoices-invoice-id-payments
      description: REST surface for v2-invoicing-invoices-invoice_id-payments.
      operations:
      - method: POST
        name: invoicespayments
        description: Paypal Record payment for invoice
        call: invoicing-invoices.invoicespayments
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/payments/{transaction-id}
      name: v2-invoicing-invoices-invoice-id-payments-transaction-id
      description: REST surface for v2-invoicing-invoices-invoice_id-payments-transaction_id.
      operations:
      - method: DELETE
        name: invoicespaymentsdelete
        description: Paypal Delete external payment
        call: invoicing-invoices.invoicespaymentsdelete
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/refunds
      name: v2-invoicing-invoices-invoice-id-refunds
      description: REST surface for v2-invoicing-invoices-invoice_id-refunds.
      operations:
      - method: POST
        name: invoicesrefunds
        description: Paypal Record refund for invoice
        call: invoicing-invoices.invoicesrefunds
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/refunds/{transaction-id}
      name: v2-invoicing-invoices-invoice-id-refunds-transaction-id
      description: REST surface for v2-invoicing-invoices-invoice_id-refunds-transaction_id.
      operations:
      - method: DELETE
        name: invoicesrefundsdelete
        description: Paypal Delete external refund
        call: invoicing-invoices.invoicesrefundsdelete
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/remind
      name: v2-invoicing-invoices-invoice-id-remind
      description: REST surface for v2-invoicing-invoices-invoice_id-remind.
      operations:
      - method: POST
        name: invoicesremind
        description: Paypal Send invoice reminder
        call: invoicing-invoices.invoicesremind
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/invoicing/invoices/{invoice-id}/send
      name: v2-invoicing-invoices-invoice-id-send
      description: REST surface for v2-invoicing-invoices-invoice_id-send.
      operations:
      - method: POST
        name: invoicessend
        description: Paypal Send invoice
        call: invoicing-invoices.invoicessend
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: invoicing-invoices-mcp
    port: 9090
    transport: http
    description: MCP adapter for Paypal Invoices — Invoices. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: paypal-generate-invoice-number
      description: Paypal Generate invoice number
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicinggeneratenextinvoicenumber
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-create-draft-invoice
      description: Paypal Create draft invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicescreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-list-invoices
      description: Paypal List invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: invoicing-invoices.invoiceslist
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-show-invoice-details
      description: Paypal Show invoice details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: invoicing-invoices.invoicesget
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-fully-update-invoice
      description: Paypal Fully update invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: invoicing-invoices.invoicesupdate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-delete-invoice
      description: Paypal Delete invoice
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: invoicing-invoices.invoicesdelete
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-cancel-sent-invoice
      description: Paypal Cancel sent invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicescancel
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-generate-qr-code
      description: Paypal Generate QR code
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicesgenerateqrcode
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-record-payment-invoice
      description: Paypal Record payment for invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicespayments
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-delete-external-payment
      description: Paypal Delete external payment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: invoicing-invoices.invoicespaymentsdelete
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-record-refund-invoice
      description: Paypal Record refund for invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicesrefunds
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-delete-external-refund
      description: Paypal Delete external refund
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: invoicing-invoices.invoicesrefundsdelete
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-send-invoice-reminder
      description: Paypal Send invoice reminder
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicesremind
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: paypal-send-invoice
      description: Paypal Send invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: invoicing-invoices.invoicessend
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.