PPRO Enrollment Endpoints API

The Enrollment Endpoints API from PPRO — 2 operation(s) for enrollment endpoints.

Operations 3

GET /v1/merchants/{merchant-id}/enrollments List enrollments #
POST /v1/merchants/{merchant-id}/enrollments Enroll a payment method #
GET /v1/merchants/{merchant-id}/enrollments/{enrollment-id} Get enrollment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ppro-enrollment-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ppro-enrollment-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ppro Enrollment Endpoints API
  version: v1
  description: 'Operations tagged Enrollment Endpoints across 2 of this provider''s published API definitions: ppro-enrollment-api.json, ppro-enrollment-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sandbox.eu.ppro.com
  description: Production - Sandbox environment for integration testing
- url: https://api.eu.ppro.com
  description: Production endpoint for EU customers
tags:
- name: Enrollment Endpoints
paths:
  /v1/merchants/{merchant-id}/enrollments:
    get:
      tags:
      - Enrollment Endpoints
      summary: List enrollments
      operationId: list
      parameters:
      - name: merchant-id
        in: path
        description: Unique identifier for the merchant
        required: true
        schema:
          type: string
        example: MERCHANTID456
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEnrollmentsResponse'
        '504':
          description: Response timeout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    post:
      tags:
      - Enrollment Endpoints
      summary: Enroll a payment method
      operationId: enroll
      parameters:
      - name: merchant-id
        in: path
        description: Unique identifier for the merchant
        required: true
        schema:
          type: string
        example: MERCHANTID456
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrollmentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentResponse'
        '409':
          description: When the merchant is already enrolled in the given payment method.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
        '504':
          description: Response timeout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
  /v1/merchants/{merchant-id}/enrollments/{enrollment-id}:
    get:
      tags:
      - Enrollment Endpoints
      summary: Get enrollment
      operationId: fetch
      parameters:
      - name: merchant-id
        in: path
        description: Unique identifier for the merchant
        required: true
        schema:
          type: string
        example: MERCHANTID456
      - name: enrollment-id
        in: path
        description: Unique identifier for the enrollment
        required: true
        schema:
          type: string
        example: enrollment_XGAvKrnL8EsQjQwGj8FUc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentResponse'
        '504':
          description: Response timeout.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionResponseBody'
    servers:
    - url: https://api.sandbox.eu.ppro.com
      description: Production - Sandbox environment for integration testing
    - url: https://api.eu.ppro.com
      description: Production endpoint for EU customers
components:
  schemas:
    EnrollmentRequest:
      type: object
      properties:
        paymentMethod:
          type: string
          description: The payment method to be enrolled.
          example: WERO
          minLength: 1
        webhooksUrl:
          type: string
          description: The URL to which the enrollment state changes will be notified.
          example: https://webshop.com/webhooks/enrollment-status
          pattern: ^(https)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
      required:
      - paymentMethod
    ListEnrollmentsResponse:
      type: object
      properties:
        data:
          type: array
          description: The merchant enrollments.
          items:
            $ref: '#/components/schemas/EnrollmentResponse'
    EnrollmentFailure:
      type: object
      properties:
        failureType:
          type: string
          description: The failure type.
          enum:
          - INTERNAL_ERROR
          - INTERNAL_DECLINE
          - PROVIDER_ERROR
          - PROVIDER_DECLINE
        failureCode:
          type: string
          description: The failure code.
        providerFailureCode:
          type: string
          description: The payment provider failure code.
        failureMessage:
          type: string
          description: The failure message.
    EnrollmentResponse:
      type: object
      properties:
        id:
          type: string
          description: The enrollment identifier.
          example: enrollment_XGAvKrnL8EsQjQwGj8FUc
        status:
          type: string
          description: The enrollment status.
          enum:
          - INITIATED
          - PROVIDER_PENDING
          - ACTIVE
          - INACTIVE
          - SUSPENDED
          - FAILED
        paymentMethod:
          type: string
          description: The enrollment payment method.
          example: WERO
        failure:
          $ref: '#/components/schemas/EnrollmentFailure'
          description: The enrollment processing failure.
        createdAt:
          type: string
          format: date-time
          description: The enrollment creation timestamp in ISO 8601 format.
          example: '2026-04-21T11:23:47.123Z'
        updatedAt:
          type: string
          format: date-time
          description: The enrollment update timestamp in ISO 8601 format.
          example: '2026-04-21T11:23:47.123Z'
    ExceptionResponseBody:
      type: object
      properties:
        status:
          type: integer
          format: int32
        failureMessage:
          type: string
        timestamp:
          type: string
          format: date-time
        extensions:
          type: object
          additionalProperties: {}
x-refined-from:
- ppro-enrollment-api.json
- ppro-enrollment-openapi.yml