PPRO · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Payment Agreements

8 actions 8 updates update extends ppro-payment-agreements-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for PPRO's API. It is a proposal applied on top of the contract, not a document PPRO publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-mcp-toolx-apis-iox-conventionsx-environments

Targets 7

$.info
$.servers
$.paths['/v1/payment-agreements'].post
$.paths['/v1/payment-agreements/{agreementId}/authorizations'].post
$.paths['/v1/payment-agreements/{agreement-id}/revocations'].post
$.paths['/v1/payment-agreements/{agreement-id}/payment-charges'].post
$.paths['/v1/payment-agreements/{agreement-id}'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Payment Agreements
  version: 1.0.0
extends: ppro-payment-agreements-openapi.yml
x-generated: '2026-08-26'
x-method: generated
x-source: apis.yml + conventions/ppro-conventions.yml + mcp/ppro-tool-crosswalk.yml
actions:
- description: Record the canonical published location and harvest provenance for this contract.
  target: $.info
  update:
    x-apis-io:
      canonical-source: https://developerhub.ppro.com/global-api/openapi/payment-agreements.json
      discovery: https://developerhub.ppro.com/.well-known/api-catalog (RFC 9727 linkset)
      harvested: '2026-08-26'
      provider: ppro
- description: Attach the cross-cutting runtime semantics PPRO documents outside the contract.
  target: $.info
  update:
    x-conventions:
      amounts: integer minor units, ISO 4217 currency codes
      artifacts:
        conventions: conventions/ppro-conventions.yml
        errors: errors/ppro-problem-types.yml
        failure-codes: errors/ppro-failure-codes.yml
        rate-limits: rate-limits/ppro-rate-limits.yml
        sandbox: sandbox/ppro-sandbox.yml
        webhooks: asyncapi/ppro-webhooks.yml
      auth: 'Authorization: Bearer {API_KEY}; Merchant-Id header on selected endpoints'
      error-envelope: '{status, failureMessage, timestamp} over application/json (not RFC 9457)'
      events: CloudEvents 1.0.2 webhooks, PPRO-Signature HMAC-SHA256
      idempotency-header: Request-Idempotency-Key (POST and PATCH, UUIDv4, 24h retention)
      operation-failure-envelope: failure {failureType, failureCode, providerFailureCode, failureMessage, isRetryable}
      rate-limit-headers:
      - X-RateLimit-Remaining
      - X-RateLimit-Requested-Tokens
      - X-RateLimit-Burst-Capacity
      - X-RateLimit-Replenish-Rate
      timestamps: ISO 8601 UTC, millisecond precision
- description: Note the sandbox/live split PPRO documents for these hosts.
  target: $.servers
  update:
    x-environments:
      live: https://api.eu.ppro.com
      note: Sandbox credentials only work against the sandbox host; sandbox rate limits are 5/s vs 50/s live.
      sandbox: https://api.sandbox.eu.ppro.com
- target: $.paths['/v1/payment-agreements'].post
  description: Bind this operation to the PPRO MCP tool that fronts it.
  update:
    x-mcp-tool:
      name: CREATE_PAYMENT_AGREEMENT
      server: https://mcp.eu.ppro.com
      binding: one-to-one
      source: mcp/ppro-tool-crosswalk.yml
- target: $.paths['/v1/payment-agreements/{agreementId}/authorizations'].post
  description: Bind this operation to the PPRO MCP tool that fronts it.
  update:
    x-mcp-tool:
      name: UPDATE_PAYMENT_AGREEMENT_AUTHORIZATION
      server: https://mcp.eu.ppro.com
      binding: one-to-one
      source: mcp/ppro-tool-crosswalk.yml
- target: $.paths['/v1/payment-agreements/{agreement-id}/revocations'].post
  description: Bind this operation to the PPRO MCP tool that fronts it.
  update:
    x-mcp-tool:
      name: REVOKE_PAYMENT_AGREEMENT
      server: https://mcp.eu.ppro.com
      binding: one-to-one
      source: mcp/ppro-tool-crosswalk.yml
- target: $.paths['/v1/payment-agreements/{agreement-id}/payment-charges'].post
  description: Bind this operation to the PPRO MCP tool that fronts it.
  update:
    x-mcp-tool:
      name: CREATE_PAYMENT_AGREEMENT_CHARGE
      server: https://mcp.eu.ppro.com
      binding: one-to-one
      source: mcp/ppro-tool-crosswalk.yml
- target: $.paths['/v1/payment-agreements/{agreement-id}'].get
  description: Bind this operation to the PPRO MCP tool that fronts it.
  update:
    x-mcp-tool:
      name: GET_PAYMENT_AGREEMENT
      server: https://mcp.eu.ppro.com
      binding: one-to-one
      source: mcp/ppro-tool-crosswalk.yml