Silverflow Enrollments API

Operations 5

GET /enrollments List Enrollments #
POST /enrollments Create Enrollment [EXPERIMENTAL] #
GET /enrollments/{enrollmentKey} Get Enrollment #
DELETE /enrollments/{enrollmentKey} Archive Enrollment #
PATCH /enrollments/{enrollmentKey} Update Enrollment [EXPERIMENTAL] #

Documentation

Specifications

Other Resources

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/silverflow-enrollments-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

silverflow-enrollments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Silverflow Enrollments API
  version: 1.417.0
  contact:
    name: API Support
    email: support@silverflow.com
  license:
    name: Commercial
  description: 'Operations tagged Enrollments across 2 of this provider''s published API definitions: silverflow-openapi.yml, silverflow-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://eu-west-1.api.silverflow.com/v1
  description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
- url: https://us-east-2.api.silverflow.com/v1
  description: Production URL for North America
- url: https://eu-west-1.api-sbx.silverflow.com/v1
  description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
security:
- ApiKey: []
- BearerToken: []
tags:
- name: Enrollments
  description: ' '
paths:
  /enrollments:
    get:
      operationId: getAllEnrollments
      summary: List Enrollments
      description: 'This operation returns a (paged) list of all (active) Enrollments for the authenticated Agent,

        optionally filtered to a single Merchant with the `merchantKey` query parameter.


        Requires `enrollments:List` permission.

        '
      tags:
      - Enrollments
      parameters:
      - $ref: '#/components/parameters/sortOrder'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offsetToken'
      - $ref: '#/components/parameters/archived'
      - $ref: '#/components/parameters/merchantKeyQs'
      responses:
        '200':
          description: A (paged) list of Enrollments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentsPage'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
    post:
      operationId: createEnrollment
      summary: Create Enrollment [EXPERIMENTAL]
      description: 'This operation creates a new Enrollment for the specified type and variables.

        Enrollment is an asynchronous process. It may take some time to complete depending on the enrollment type.


        Requires `enrollments:Create` permission.

        '
      tags:
      - Enrollments
      requestBody:
        description: 'The request body allows to create an Enrollment.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEnrollment'
            examples:
              amex_sm:
                $ref: '#/components/examples/create-amex-sm-enrollment'
              discover-mpr:
                $ref: '#/components/examples/create-discover-mpr-enrollment'
              scof:
                $ref: '#/components/examples/create-scof-enrollment'
              vau:
                $ref: '#/components/examples/create-vau-enrollment'
              vts:
                $ref: '#/components/examples/create-vts-enrollment'
      responses:
        '201':
          description: The created enrollment with pending status
          headers:
            Location:
              description: The URL of the newly created Enrollment
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneEnrollment'
              examples:
                createdEnrollment:
                  $ref: '#/components/examples/create-enrollment-scof'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
    servers:
    - url: https://eu-west-1.api.silverflow.com/v1
      description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
    - url: https://us-east-2.api.silverflow.com/v1
      description: Production URL for North America
    - url: https://eu-west-1.api-sbx.silverflow.com/v1
      description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
  /enrollments/{enrollmentKey}:
    get:
      operationId: getEnrollmentByKey
      summary: Get Enrollment
      description: 'This operation returns an Enrollment by key.


        Requires `enrollments:Get` permission.

        '
      tags:
      - Enrollments
      parameters:
      - $ref: '#/components/parameters/enrollmentKey'
      responses:
        '200':
          description: The Enrollment that corresponds to the specified key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneEnrollment'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
    delete:
      operationId: deleteEnrollment
      summary: Archive Enrollment
      description: 'This operation starts the archival process of an Enrollment.

        The Enrollment entity will be marked as `archived` and have `pendingUnenroll` as `enrollmentStatus`.

        Confirmed and successful unenrollments have `unenrolled` as `enrollmentStatus`.

        **ISSM**: The entity will be removed from the list endpoint but will not unenroll from ISSM Merchant Enrollment, as it has been decommissioned by Mastercard.


        Requires `enrollments:Archive` permission.

        '
      tags:
      - Enrollments
      parameters:
      - $ref: '#/components/parameters/enrollmentKey'
      requestBody:
        required: false
        description: 'Required to archive ISSM or AMEX enrollments.

          '
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveEnrollment'
      responses:
        '204':
          description: Enrollment archived successfully
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '409':
          $ref: '#/components/responses/ConflictError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
    patch:
      operationId: updateEnrollment
      summary: Update Enrollment [EXPERIMENTAL]
      description: 'This operation starts the update process of an Enrollment.

        The Enrollment entity will have `pending` as `enrollmentStatus`.

        Confirmed and successful updates have `enrolled` as `enrollmentStatus`.

        This operation is currently only supported by AMEX Sponsored Merchant Enrollments.


        Requires `enrollments:Update` permission.

        '
      tags:
      - Enrollments
      parameters:
      - $ref: '#/components/parameters/enrollmentKey'
      requestBody:
        description: 'Required to update AMEX Sponsored Merchant enrollments.

          '
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEnrollment'
      responses:
        '200':
          description: The updated Enrollment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneEnrollment'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '409':
          $ref: '#/components/responses/ConflictError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
    servers:
    - url: https://eu-west-1.api.silverflow.com/v1
      description: Production URL for Europe - Equivalent to https://api.silverflow.co/v1
    - url: https://us-east-2.api.silverflow.com/v1
      description: Production URL for North America
    - url: https://eu-west-1.api-sbx.silverflow.com/v1
      description: Sandbox URL - Equivalent to https://api-sbx.silverflow.co/v1
components:
  schemas:
    AmexSponsoredMerchantEnrollmentUpdate:
      type: object
      description: Update Sponsored Merchant request for American Express.
      required:
      - type
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - amex_sm
          description: 'Type of the enrollment.

            * `amex_sm` - American Express, Sponsored Merchant (**Please reach out to your technical account manager to enable your production access**)

            '
        mcc:
          $ref: '#/components/schemas/mcc'
        doingBusinessAsName:
          $ref: '#/components/schemas/sellerDoingBusinessAsName'
        phoneNumber:
          $ref: '#/components/schemas/amex_phoneNumber'
        legalName:
          $ref: '#/components/schemas/sellerLegalName'
        businessRegistrationNumber:
          $ref: '#/components/schemas/nullableBusinessRegistrationNumber'
        signer:
          $ref: '#/components/schemas/signerUpdate'
    posDeviceDownloadIndicator:
      description: Defines how the POS device is managed/updated. In particular, describes how IIN range updates are made at the POS. Mandatory if Merchant Type is `self-managed-outlet` or `outlet-reporting-to-headquarter`
      enum:
      - host-based-pos-device
      - terminal-based-pos-device
      - software-pos-device
      - all-other-pos-devices
      - unknown
    VtsEnrollmentCreate:
      type: object
      description: Create VTS enrollment.
      required:
      - merchantKey
      - type
      properties:
        merchantKey:
          $ref: '#/components/schemas/merchantKey'
        type:
          type: string
          enum:
          - vts
          description: 'Type of the enrollment.

            * `amex_sm` - American Express, Sponsored Merchant (**Please reach out to your technical account manager to enable your production access**)

            * `discover-mpr` - Discover, Merchant Profile Registration

            * `scof` - Mastercom Secure Card on File

            * `vau` - Visa Account Updater

            * `vts` - Visa Token Service (see [guide](https://docs.silverflow.com/guides/merchant-enrollment#tag/Visa-VTS-Enrollment))

            '
        businessIdentification:
          $ref: '#/components/schemas/businessIdentification'
        binKey:
          allOf:
          - description: A key assigned by Silverflow to uniquely identify a Bin. **Do not provide if business identification is supplied.**
          - $ref: '#/components/schemas/binKey'
        mid:
          allOf:
          - description: "As per card network requirements, the Merchant ID assigned by the acquirer must uniquely identify a legal merchant per acquirer BIN. \n**Do not provide if business identification is supplied.**\n\n**Note:** For AMEX merchant acceptors, provide the Seller ID for this property.\n\n| Network | Length | Characters |\n| ------- | ------ | ---------- |\n| AMEX  | 1-20 | alphanumeric |\n| Bancontact  | 1-15 | alphanumeric |\n| Discover | 1-15 | alphanumeric |\n| Mastercard | 1-15 | alphanumeric |\n| Visa  | 1-15 | alphanumeric |\n"
          - $ref: '#/components/schemas/mid'
    AmexSponsoredMerchantEnrollmentCreate:
      allOf:
      - $ref: '#/components/schemas/BaseEnrollmentCreate'
      - type: object
        description: Create Sponsored Merchant request for American Express.
        required:
        - type
        - binKey
        - mid
        - mcc
        - doingBusinessAsName
        - phoneNumber
        - legalName
        - signer
        properties:
          type:
            type: string
            enum:
            - amex_sm
            description: 'Type of the enrollment.

              * `amex_sm` - American Express, Sponsored Merchant (**Please reach out to your technical account manager to enable your production access**)

              * `discover-mpr` - Discover, Merchant Profile Registration

              * `scof` - Mastercom Secure Card on File

              * `vau` - Visa Account Updater

              * `vts` - Visa Token Service (see [guide](https://docs.silverflow.com/guides/merchant-enrollment#tag/Visa-VTS-Enrollment))

              '
          binKey:
            $ref: '#/components/schemas/binKey'
          mid:
            $ref: '#/components/schemas/mid'
          mcc:
            $ref: '#/components/schemas/mcc'
          doingBusinessAsName:
            $ref: '#/components/schemas/sellerDoingBusinessAsName'
          phoneNumber:
            $ref: '#/components/schemas/amex_phoneNumber'
          legalName:
            $ref: '#/components/schemas/sellerLegalName'
          businessRegistrationNumber:
            $ref: '#/components/schemas/businessRegistrationNumber'
          signer:
            $ref: '#/components/schemas/signerCreate'
          reinstate:
            type: boolean
            description: Set this property to 'true' if this merchant has previously been cancelled.
    IssmEnrollment:
      allOf:
      - $ref: '#/components/schemas/Enrollment'
      - type: object
        description: ISSM Enrollment
        required:
        - enrollmentDetail
        properties:
          merchantAcceptorRef:
            $ref: '#/components/schemas/AcceptorRef'
          enrollmentDetail:
            $ref: '#/components/schemas/IssmEnrollmentDetail'
    UpdateEnrollment:
      oneOf:
      - $ref: '#/components/schemas/AmexSponsoredMerchantEnrollmentUpdate'
      discriminator:
        propertyName: type
        mapping:
          amex_sm: '#/components/schemas/AmexSponsoredMerchantEnrollmentUpdate'
    amexCancellationReason:
      description: This field required when cancelling an AMEX Enrollment.
      type: string
      enum:
      - derogatory
      - non_derogatory
    AcceptorRef:
      type: object
      description: Reference key and status of the acceptor
      required:
      - key
      - version
      properties:
        key:
          $ref: '#/components/schemas/acceptorKey'
        version:
          $ref: '#/components/schemas/version'
    signerFirstName:
      type: string
      description: The Seller's Authorized Signer complete first name.
      pattern: ^[a-zA-Z0-9]+$
      minLength: 1
      maxLength: 20
    ScofProgramName:
      description: SCOF program name.
      type: string
      pattern: ^[\w]+$
      minLength: 1
      maxLength: 100
    version:
      type: integer
      description: The version of this object
      format: int64
    CountryCodeCreate:
      oneOf:
      - $ref: '#/components/schemas/CountryCodeOnlyAlpha3'
      - $ref: '#/components/schemas/CountryCodeOnlyAlpha2'
      - $ref: '#/components/schemas/CountryCodeOnlyNumeric'
    status:
      type: string
      description: The status of the object
      enum:
      - active
      - archived
    ExtendedNameOfPeopleAndPlaces:
      type: string
      pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
      minLength: 1
      maxLength: 120
    CountryCodeOnlyAlpha2:
      type: object
      required:
      - alpha2
      additionalProperties: false
      properties:
        alpha2:
          $ref: '#/components/schemas/countryCodeAlpha2'
    businessPrincipal:
      description: Primary contact person at the Merchant DBA location
      type: object
      required:
      - firstName
      - lastName
      - socialSecurityNumber
      - homeAddress
      properties:
        firstName:
          type: string
          description: First name of business principal
          pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
          minLength: 1
          maxLength: 22
        lastName:
          type: string
          description: Last name of business principal
          pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
          minLength: 1
          maxLength: 22
        socialSecurityNumber:
          type: string
          description: Social Security number of business principal
          minLength: 1
          maxLength: 9
        homeAddress:
          type: object
          required:
          - countryCode
          - city
          - line1
          - postalCode
          - stateOrProvince
          additionalProperties: false
          description: A postal home address of business principal
          properties:
            countryCode:
              $ref: '#/components/schemas/countryCodeAlpha3'
            stateOrProvince:
              allOf:
              - $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
              - description: 'Code of the state or province

                  '
                example: OH
                minLength: 1
                maxLength: 4
            city:
              allOf:
              - $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
              - description: 'Address line 1. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.

                  '
                example: Amsterdam
                minLength: 1
                maxLength: 28
            line1:
              allOf:
              - $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
              - description: 'Address line 1. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.

                  '
                example: Entrada 300
                minLength: 1
                maxLength: 40
            line2:
              allOf:
              - $ref: '#/components/schemas/ExtendedNameOfPeopleAndPlaces'
              - description: 'Address line 2. Clients not enrolled in the "extended character set beta" are still subject to the `^[\w ,\.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF-]+$` pattern for field input.

                  '
                example: Floor 6
                minLength: 1
                maxLength: 40
            postalCode:
              type: string
              pattern: ^[A-Z0-9]+([ -][A-Z0-9]+)?$
              minLength: 1
              maxLength: 15
              description: 'The postal code of the address.

                '
              example: 1114 AA
    businessIdentificationType:
      type: string
      example: VAT
      enum:
      - ABN
      - ACN
      - BIN
      - BIR
      - BN
      - BRN
      - BRNO
      - CL
      - CLN
      - CN
      - CNPJ
      - CR
      - CUIT
      - EDRPOU
      - EIN
      - HKBR
      - NATIONAL_ID
      - NIB
      - NID
      - NZBN
      - PAN
      - RFC
      - RNC
      - RUC
      - RUT
      - SIN
      - SSN
      - TC
      - UEN
      - USCI
      - VAT
    VtsEnrollmentDetail:
      type: object
      description: VTS specific detail.
      required:
      - key
      - merchantName
      - merchantWebsite
      - merchantCity
      - merchantCountryCode
      - primaryContactEmail
      properties:
        key:
          type: string
          description: VTS enrollment detail key
        merchantName:
          allOf:
          - $ref: '#/components/schemas/NameOfPeopleAndPlaces'
          - description: The legal name of the Merchant
        merchantWebsite:
          $ref: '#/components/schemas/url'
        merchantCity:
          $ref: '#/components/schemas/city'
        merchantCountryCode:
          $ref: '#/components/schemas/countryCodeAlpha2'
        primaryContactEmail:
          $ref: '#/components/schemas/email'
        acquirerId:
          $ref: '#/components/schemas/acquirerIdCode'
        mid:
          $ref: '#/components/schemas/mid'
        businessIdentificationValue:
          $ref: '#/components/schemas/businessIdentificationValue'
        businessIdentificationType:
          $ref: '#/components/schemas/businessIdentificationType'
        externalClientId:
          type: string
        tokenizationConfiguration:
          $ref: '#/components/schemas/tokenizationConfiguration'
    discoverAcquirerIdCode:
      type: string
      description: Acquirer Institution ID code.
      pattern: ^\d+$
      minLength: 1
      maxLength: 11
    CountryCode:
      type: object
      required:
      - alpha3
      - alpha2
      - numeric
      properties:
        alpha3:
          $ref: '#/components/schemas/countryCodeAlpha3'
        alpha2:
          $ref: '#/components/schemas/countryCodeAlpha2'
        numeric:
          $ref: '#/components/schemas/countryCodeNumeric'
    mcc:
      type: string
      pattern: ^\d+$
      minLength: 4
      maxLength: 4
      description: The Merchant category.
      example: 742
    enrollmentStatus:
      description: Status of an Enrollment.
      type: string
      enum:
      - pending
      - enrolled
      - unenrolled
      - pendingUnenroll
      - error
      - failed
    ScofEnrollmentDetail:
      type: object
      description: SCOF specific detail
      required:
      - key
      - mid
      - binKey
      - programType
      - programName
      properties:
        key:
          type: string
          description: SCOF DPA
        mid:
          $ref: '#/components/schemas/mid'
        binKey:
          $ref: '#/components/schemas/binKey'
        programType:
          $ref: '#/components/schemas/ScofProgramType'
        programName:
          $ref: '#/components/schemas/ScofProgramName'
        mccs:
          type: array
          minItems: 1
          maxItems: 20
          items:
            $ref: '#/components/schemas/mcc'
        serviceId:
          type: string
          description: ServiceId assigned by Mastercard SCOF Service
    VauEnrollmentDetail:
      type: object
      description: VAU specific detail
      required:
      - key
      - acquirerSegmentId
      - binKey
      - acquirerIdCode
      - merchantLegalName
      - merchantCountryCode
      - mid
      - mcc
      properties:
        key:
          type: string
          description: VAU enrollment detail key
        acquirerSegmentId:
          $ref: '#/components/schemas/acquirerSegmentId'
        binKey:
          $ref: '#/components/schemas/binKey'
        acquirerIdCode:
          $ref: '#/components/schemas/acquirerIdCode'
        merchantLegalName:
          allOf:
          - $ref: '#/components/schemas/NameOfPeopleAndPlaces'
          - description: The legal name of the Merchant
        merchantCountryCode:
          $ref: '#/components/schemas/CountryCode'
        mid:
          $ref: '#/components/schemas/mid'
        mcc:
          $ref: '#/components/schemas/mcc'
    ProblemDetail:
      type: object
      description: 'The ''problem detail'' object relays detailed information about the error that occurred. It is defined

        by [RFC 7807 - Problem Details for HTTP APIs](https://tools.ietf.org/html/rfc7807).


        Note that additional properties may be used to relay error specific information.

        '
      properties:
        type:
          type: string
          description: 'An absolute URI that identifies the problem type.

            '
          default: about:blank
          example: https://api.silverflow.co/problem/constraint-violation
        title:
          type: string
          description: 'A short, summary of the problem type. Written in english and readable

            for engineers (usually not suited for non technical stakeholders and

            not localized);

            '
          example: Service Unavailable
        status:
          type: integer
          format: int32
          description: 'The HTTP status code generated by the origin server for this occurrence

            of the problem.

            '
          minimum: 100
          maximum: 599
          example: 503
        detail:
          type: string
          description: 'A human readable explanation specific to this occurrence of the

            problem.

            '
          example: Connection to database timed out
        instance:
          type: string
          description: 'An absolute URI that identifies the specific occurrence of the problem.

            It may or may not yield further information if dereferenced.

            '
      additionalProperties: true
    headquarterAccountNumber:
      type: string
      description: Headquarter account number. Required only when `merchantType` is `outlet-reporting-to-headquarter`.
    ArchiveEnrollment:
      oneOf:
      - $ref: '#/components/schemas/AmexSponsoredMerchantEnrollmentArchive'
      - $ref: '#/components/schemas/IssmEnrollmentArchive'
      discriminator:
        propertyName: type
        mapping:
          amex_sm: '#/components/schemas/AmexSponsoredMerchantEnrollmentArchive'
          issm: '#/components/schemas/IssmEnrollmentArchive'
    amex_phoneNumber:
      description: The phone number for the Seller's physical location. Phone numbers must contain the international telephone country code.
      type: string
      pattern: \d{1,24}
    acquirerBin:
      type: string
      description: Acquirer Bin. The Bin number as assigned by the card network. For Mastercard, this is also referred to as the Acquirer Reference ID.
      pattern: ^\d+$
      minLength: 6
      maxLength: 6
    url:
      type: string
      description: A valid URL
      pattern: ^http(s)?:\/\/[a-z0-9-_]+(\.[a-z0-9-_]+)+(\/.*)?$
      minLength: 8
      maxLength: 2048
    IssmEnrollmentArchive:
      type: object
      description: Unenroll from ISSM and archive the enrollment
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
          - issm
          description: 'Type of the enrollment.

            * `amex_sm` - American Express, Sponsored Merchant (**Please reach out to your technical account manager to enable your production access**)

            * `issm` - Mastercom Identity Solutions Service Manager [DEPRECATED]

            '
        deleteReason:
          $ref: '#/components/schemas/deleteReason'
    acquirerIdCode:
      type: string
      description: Acquirer Institution ID code. For Mastercard, this field corresponds to the Acquirer ICA. For Visa, this field corresponds to the CIB, which usually has the same value as the Bin. For AMEX, this field corresponds to Submitter ID.
      pattern: ^\d+$
      minLength: 6
      maxLength: 6
    CountryCodeOnlyAlpha3:
      type: object
      required:
      - alpha3
      additionalProperties: false
      properties:
        alpha3:
          $ref: '#/components/schemas/countryCodeAlpha3'
    Enrollment:
      type: object
      required:
      - key
      - status
      - agentKey
      - merchantKey
      - type
      - enrollmentStatus
      - created
      - version
      properties:
        key:
          $ref: '#/components/schemas/enrollmentKey'
        status:
          $ref: '#/components/schemas/status'
        agentKey:
          $ref: '#/components/schemas/agentKey'
        merchantKey:
          $ref: '#/components/schemas/merchantKey'
        type:
          $ref: '#/components/schemas/enrollmentType'
        enrollmentStatus:
          $ref: '#/components/schemas/enrollmentStatus'
        created:
          type: string
          format: date-time
          description: Enrollment creation date.
        version:
          type: integer
          description: Enrollment version.
        lastModified:
          type: string
          format: date-time
          description: Enrollment last modification date.
        errorMessage:
          type: string
          description: Error message in case 'enrollmentStatus' is error.
    signerDateOfBirth:
      type: string
      description: The date of birth of the Seller's Authorized Signer, in the format <YYYY/MM/DD>.
      pattern: ^(19|20)\d{2}\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$
    VauEnrollmentCreate:
      allOf:
      - $ref: '#/components/schemas/BaseEnrollmentCreate'
      - type: object
        description: Create VAU enrollment.
        required:
        - type
        - binKey
        - mid
        - mcc
        properties:
          type:
            type: string
            enum:
            - vau
            description: 'Type of the enrollment.

              * `amex_sm` - American Express, Sponsored Merchant (**Please reach out to your technical account manager to enable your production access**)

              * `discover-mpr` - Discover, Merchant Profile Registration

              * `scof` - Mastercom Secure Card on File

              * `vau` - Visa Account Updater

              * `vts` - Visa Token Service (see [guide](https://docs.silverflow.com/guides/merchant-enrollment#tag/Visa-VTS-Enrollment))

              '
          binKey:
            $ref: '#/components/schemas/binKey'
          mid:
            $ref: '#/components/schemas/mid'
          mcc:
            $ref: '#/components/schemas/mcc'
    businessIdentification:
      type: object
      description: '**Business identification should be used to enroll with VTS wherever possible.** Use the combination of `binKey` and `mid` for non-profit Merchants or if none of the business identification types below apply. Further requirements are detailed in the [VTS enrollment guide](https://docs.silverflow.com/guides/merchant-enrollment#tag/Visa-VTS-Enrollment).

        '
      required:
      - type
      - value
      properties:
        type:
          $ref: '#/components/schemas/businessIdentificationType'
        value:
          $ref: '#/components/schemas/businessIdentificationValue'
    discoverDoingBusinessAsName:
      type: string
      pattern: ^[\x20-\x7E\xA0-\xA3\xA5\xA7\xA9-\xB3\xB5-\xB7\xB9-\xBB\xBF-\xFF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]+$
      minLength: 1
      maxLength: 40
      description: Assumed, trade or fictitious name of the merchant.
      example: ACME Corp.
    moreItems:
      type: boolean
    StandaloneEnrollment:
      oneOf:
      - $ref: '#/components/schemas/AmexSponsoredMerchantEnrollment'
      - $ref: '#/components/schemas/DiscoverMerchantEnrollment'
      - $ref: '#/components/schemas/IssmEnrollment'
      - $ref: '#/components/schemas/ScofEnrollment'
      - $ref: '#/components/schemas/VauEnrollment'
      - $ref: '#/components/schemas/VtsEnrollment'
      discriminator:
        propertyName: type
        mapping:
          amex_sm: '#/components/schemas/AmexSponsoredMerchantEnrollment'
          discover-mpr: '#/components/schemas/DiscoverMerchantEnrollment'
          issm: '#/components/schemas/IssmEnrollment'
          scof: '#/components/schemas/ScofEnrollment'
          vau: '#/components/schemas/VauEnrollment'
          vts: '#/components/schemas/VtsEnrollment'
    ScofProgramType:
      type: string
      enum:
      - merchant_obo
      - commerce_platform_obo
      description: ProgramType in SCOF. Please reach out to your TAM before using `commerce_platform_obo` program type.
    acceptorKey:
      description: Uniquely identifies a Merchant Acceptor.
      type: string
      pattern: ^mac-[a-zA-Z0-9]+$
      minLength: 5
      maxLength: 120
      example: mac-1JRadf2ffdfrdPMf2XrS2
    countryCodeNumeric:
      type: string
      pattern: ^[0-9]+$
      minLength: 3
      maxLength: 3
      description: 'The ISO code of the country.


        **European ISO Country Codes**


        <details>


        | Country | Alpha-2 code | Numeric |

        | ------- | ------------ | ------- |

        | Åland Islands | AX | 248 |

        | Andorra | AD | 020 |

        | Austria | AT | 040 |

        | Belgium | BE | 056 |

        | Cyprus | CY | 196 |

        | E

# --- truncated at 32 KB (121 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/silverflow/refs/heads/main/openapi/silverflow-enrollments-api-openapi.yml