CyberSource Merchant Boarding API

Manage Boarding Registrations

OpenAPI Specification

cybersource-merchant-boarding-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Merchant Boarding API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Merchant Boarding
  description: Manage Boarding Registrations
paths:
  /boarding/v1/registrations:
    post:
      tags:
      - Merchant Boarding
      x-devcenter-metaData:
        categoryTag: Merchant_Boarding
        isJstreeExpansionLimited: true
        disableProcessorDropDown: true
        authorizationType:
        - Json Web Token
        overrideMerchantCredential: apitester00
        developerGuides: https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html
      summary: Create a boarding registration
      description: 'Boarding Product is specifically for resellers who onboard merchants to resell their services to merchants and help integrate REST API into their systems.


        The Boarding API is designed to simplify and streamline the onboarding process of merchants by enabling administrators and developers to:

        1. Enable and Configure Products: The API helps in adding new products to an existing organization and configuring them to suit specific needs.

        2. Update Merchant Information: The API allows for updating an organization''s information efficiently.

        3. Manage Payment Integration: It provides templates for secure payment integration and management.

        '
      operationId: postRegistration
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: header
        name: v-c-idempotency-id
        type: string
        description: defines idempotency of the request
        required: false
      - in: body
        name: postRegistrationBody
        description: Boarding registration data
        required: true
        schema:
          type: object
          properties:
            registrationInformation:
              type: object
              properties:
                boardingRegistrationId:
                  type: string
                  maxLength: 60
                  example: '1234124'
                  readOnly: true
                submitTimeUtc:
                  type: string
                  format: date-time
                  example: '2019-06-11T22:47:57Z'
                  description: 'Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`


                    Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the

                    time. The Z indicates UTC.

                    '
                  readOnly: true
                status:
                  type: string
                  readOnly: true
                  description: "The status of Registration request\nPossible Values:\n  - 'PROCESSING': This status is for Registrations that are still in Progress, you can get the latest status by calling the GET endpoint using the Registration Id\n  - 'SUCCESS': This status is for Registrations that were successfull on every step of the on boarding process.\n  - 'FAILURE': This status is for Registrations that fail before the Organization was created; please refer to the details section in the reponse for more information.\n  - 'PARTIAL': This status is for Registrations that created the Organization successfully but fail in at least on step while configuring it; please refer to the details section in the response for more information.\n"
                boardingPackageId:
                  type: string
                  maxLength: 60
                  example: 1004001
                boardingFlow:
                  type: string
                  description: "Determines the boarding flow for this registration.\nPossible Values:\n  - 'ENTERPRISE'\n  - 'SMB'\n  - 'ADDPRODUCT'\n"
                mode:
                  type: string
                  description: "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n  - 'COMPLETE'\n  - 'PARTIAL'\n"
                salesRepId:
                  type: string
                  maxLength: 60
                  example: Rep1
            integrationInformation:
              type: object
              properties:
                oauth2:
                  type: array
                  items:
                    type: object
                    properties:
                      client_id:
                        type: string
                        maxLength: 32
                        example: client123
                      state:
                        type: string
                        maxLength: 20
                        example: test123
                    required:
                    - client_id
                tenantConfigurations:
                  type: array
                  description: tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.
                  items:
                    type: object
                    properties:
                      solutionId:
                        type: string
                        maxLength: 8
                        minLength: 8
                        pattern: ^[0-9a-zA-Z_]+$
                        description: 'The solutionId is the unique identifier for this system resource.

                          Partner can use it to reference the specific solution through out the system.

                          '
                        example: YumSolution1
                      tenantInformation:
                        type: object
                        properties:
                          tenantId:
                            type: string
                            maxLength: 50
                            minLength: 1
                            description: The TenantId is an external Solution Identifier given by Tech Partners like SAP.
                            example: SAP123
                    required:
                    - solutionId
                msd:
                  type: object
                  properties:
                    customerId:
                      type: string
                      maxLength: 15
                      minLength: 1
                      description: The customerId is an external customer Identifier given by MSD (MS Dynamics).
                      example: C1234567890
            organizationInformation:
              type: object
              properties:
                organizationId:
                  type: string
                  maxLength: 30
                  minLength: 6
                  pattern: ^[0-9a-zA-Z_]+$
                  example: merch-test1
                parentOrganizationId:
                  type: string
                  description: 'This field is required for Organization Types: MERCHANT, TRANSACTING

                    '
                  maxLength: 30
                  minLength: 6
                  pattern: ^[0-9a-zA-Z_]+$
                  example: merch-test1-acct
                childOrganizations:
                  readOnly: true
                  type: array
                  items:
                    type: string
                    maxLength: 30
                    minLength: 6
                    pattern: ^[0-9a-zA-Z_]+$
                    example: transactional-org
                type:
                  type: string
                  description: "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n  - 'TRANSACTING'\n  - 'STRUCTURAL'\n  - 'MERCHANT'\n"
                status:
                  type: string
                  description: "Determines the status that the organization will be after being onboarded\nPossible Values:\n            - 'LIVE'\n            - 'TEST'\n            - 'DRAFT'\n"
                configurable:
                  description: This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products.  Eventually this field will be deprecated and all organizations will be allowed for product configuration.
                  type: boolean
                  default: false
                  example: false
                businessInformation:
                  type: object
                  properties:
                    name:
                      type: string
                      maxLength: 60
                      minLength: 1
                      pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                      example: Betos Restaurant
                    locale:
                      type: string
                      pattern: ^(de-de|en-gb|en-us|es-es|es-us|fr-ca|fr-fr|it-it|ja-jp|pt-br|zh-cn|zh-tw)$
                      example: en-us
                    localizedNames:
                      type: object
                      properties:
                        romaji:
                          type: string
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#¡-\uFFFF]*$"
                          example: tenmei
                        katakana:
                          type: string
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#¡-\uFFFF]*$"
                          example: ショップネーム
                        japanese:
                          type: string
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&|\\[\\]\\,\\(\\)!$;:?@\\#¡-\uFFFF]*$"
                          example: 店名
                    doingBusinessAs:
                      type: string
                      maxLength: 60
                      pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                      example: Betos Restaurant
                    description:
                      type: string
                      maxLength: 250
                      pattern: '[À-ÖØ-öø-ǿÀ-ÖØ-öø-ǿ\n\ra-zA-Z0-9().\-_#,;/\\@$:&!?%«»€₣«»€₣ ]{1,}$'
                      example: International food Restaurant
                    startDate:
                      type: string
                      format: date
                      pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
                      example: '2019-06-11'
                      description: '`Format: YYYY-MM-DD`

                        Example 2016-08-11 equals August 11, 2016

                        '
                    address:
                      type: object
                      properties:
                        country:
                          type: string
                          maxLength: 2
                          minLength: 2
                          pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                          example: US
                        address1:
                          type: string
                          maxLength: 60
                          minLength: 1
                          pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                          example: 123 Fake st
                        address2:
                          type: string
                          maxLength: 60
                          pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                          example: apt 2
                        locality:
                          type: string
                          maxLength: 50
                          minLength: 1
                          pattern: "^[0-9a-zA-Z _\\-¡-\uFFFF]+$"
                          description: City of the billing address.
                          example: Bellevue
                        administrativeArea:
                          type: string
                          minLength: 1
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z¡-\uFFFF ]*$"
                          description: State or province of the billing address. Required for United States and Canada.
                          example: WA
                        postalCode:
                          type: string
                          minLength: 1
                          maxLength: 20
                          pattern: ^[0-9a-zA-Z ]*$
                          description: Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.
                          example: 6470
                      required:
                      - country
                      - address1
                      - locality
                    timeZone:
                      type: string
                      description: 'Merchant perferred time zone

                        Possible Values:

                        - ''Pacific/Pago_Pago''

                        - ''Pacific/Honolulu''

                        - ''America/Anchorage''

                        - ''America/Vancouver''

                        - ''America/Los_Angeles''

                        - ''America/Phoenix''

                        - ''America/Edmonton''

                        - ''America/Denver''

                        - ''America/Winnipeg''

                        - ''America/Mexico_City''

                        - ''America/Chicago''

                        - ''America/Bogota''

                        - ''America/Indianapolis''

                        - ''America/New_York''

                        - ''America/La_Paz''

                        - ''America/Halifax''

                        - ''America/St_Johns''

                        - ''America/Buenos_Aires''

                        - ''America/Godthab''

                        - ''America/Sao_Paulo''

                        - ''America/Noronha''

                        - ''Atlantic/Cape_Verde''

                        - ''GMT''

                        - ''Europe/Dublin''

                        - ''Europe/Lisbon''

                        - ''Europe/London''

                        - ''Africa/Tunis''

                        - ''Europe/Vienna''

                        - ''Europe/Brussels''

                        - ''Europe/Zurich''

                        - ''Europe/Prague''

                        - ''Europe/Berlin''

                        - ''Europe/Copenhagen''

                        - ''Europe/Madrid''

                        - ''Europe/Budapest''

                        - ''Europe/Rome''

                        - ''Africa/Tripoli''

                        - ''Europe/Monaco''

                        - ''Europe/Malta''

                        - ''Europe/Amsterdam''

                        - ''Europe/Oslo''

                        - ''Europe/Warsaw''

                        - ''Europe/Stockholm''

                        - ''Europe/Belgrade''

                        - ''Europe/Paris''

                        - ''Africa/Johannesburg''

                        - ''Europe/Minsk''

                        - ''Africa/Cairo''

                        - ''Europe/Helsinki''

                        - ''Europe/Athens''

                        - ''Asia/Jerusalem''

                        - ''Europe/Riga''

                        - ''Europe/Bucharest''

                        - ''Europe/Istanbul''

                        - ''Asia/Riyadh''

                        - ''Europe/Moscow''

                        - ''Asia/Dubai''

                        - ''Asia/Baku''

                        - ''Asia/Tbilisi''

                        - ''Asia/Calcutta''

                        - ''Asia/Katmandu''

                        - ''Asia/Dacca''

                        - ''Asia/Rangoon''

                        - ''Asia/Jakarta''

                        - ''Asia/Saigon''

                        - ''Asia/Bangkok''

                        - ''Australia/Perth''

                        - ''Asia/Hong_Kong''

                        - ''Asia/Macao''

                        - ''Asia/Kuala_Lumpur''

                        - ''Asia/Manila''

                        - ''Asia/Singapore''

                        - ''Asia/Taipei''

                        - ''Asia/Shanghai''

                        - ''Asia/Seoul''

                        - ''Asia/Tokyo''

                        - ''Asia/Yakutsk''

                        - ''Australia/Adelaide''

                        - ''Australia/Brisbane''

                        - ''Australia/Broken_Hill''

                        - ''Australia/Darwin''

                        - ''Australia/Eucla''

                        - ''Australia/Hobart''

                        - ''Australia/Lindeman''

                        - ''Australia/Sydney''

                        - ''Australia/Lord_Howe''

                        - ''Australia/Melbourne''

                        - ''Asia/Magadan''

                        - ''Pacific/Norfolk''

                        - ''Pacific/Auckland''

                        '
                      example: America/Chicago
                    websiteUrl:
                      type: string
                      maxLength: 100
                      pattern: "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“â€\x9D‘’]))"
                      example: www.test.com
                    type:
                      type: string
                      description: "Business type\nPossible Values:\n  - 'PARTNERSHIP'\n  - 'SOLE_PROPRIETORSHIP'\n  - 'CORPORATION'\n  - 'LLC'\n  - 'NON_PROFIT'\n  - 'TRUST'\n"
                    taxId:
                      type: string
                      maxLength: 9
                      pattern: \d{9}
                      example: 254324
                    phoneNumber:
                      type: string
                      maxLength: 20
                      pattern: ^[0-9a-zA-Z\\+\\-]+$
                      example: 4564561234
                    businessContact:
                      type: object
                      properties:
                        firstName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        middleName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        lastName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        phoneNumber:
                          type: string
                          maxLength: 20
                          pattern: ^[0-9a-zA-Z\\+\\-]+$
                          example: 4567890398
                        email:
                          type: string
                          maxLength: 100
                          pattern: ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\]?)$
                          example: test@test.com
                      required:
                      - firstName
                      - lastName
                      - phoneNumber
                      - email
                    technicalContact:
                      type: object
                      properties:
                        firstName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        middleName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        lastName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        phoneNumber:
                          type: string
                          maxLength: 20
                          pattern: ^[0-9a-zA-Z\\+\\-]+$
                          example: 4567890398
                        email:
                          type: string
                          maxLength: 100
                          pattern: ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\]?)$
                          example: test@test.com
                      required:
                      - firstName
                      - lastName
                      - phoneNumber
                      - email
                    emergencyContact:
                      type: object
                      properties:
                        firstName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        middleName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        lastName:
                          type: string
                          maxLength: 50
                          pattern: "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#¡-\uFFFF]+$"
                          example: John
                        phoneNumber:
                          type: string
                          maxLength: 20
                          pattern: ^[0-9a-zA-Z\\+\\-]+$
                          example: 4567890398
                        email:
                          type: string
                          maxLength: 100
                          pattern: ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\]?)$
                          example: test@test.com
                      required:
                      - firstName
                      - lastName
                      - phoneNumber
                      - email
                    merchantCategoryCode:
                      type: string
                      maxLength: 4
                      pattern: ^\d{3,4}$
                      example: 5300
                      description: Industry standard Merchant Category Code (MCC)
                  required:
                  - name
                KYC:
                  type: object
                  properties:
                    whenIsCustomerCharged:
                      type: string
                      example: ONETIMEBEFORE
                      description: 'Possible values:

                        - ONETIMEBEFORE

                        - ONETIMEAFTER

                        - OTHER'
                    whenIsCustomerChargedDescription:
                      type: string
                      maxLength: 100
                    offerSubscriptions:
                      type: boolean
                      example: true
                    monthlySubscriptionPercent:
                      type: number
                      format: decimal
                      pattern: ^((100)|(\d{0,2}))$
                      example: 30
                    quarterlySubscriptionPercent:
                      type: number
                      format: decimal
                      pattern: ^((100)|(\d{0,2}))$
                      example: 20
                    semiAnnualSubscriptionPercent:
                      type: number
                      format: decimal
                      pattern: ^((100)|(\d{0,2}))$
                      example: 50
                    annualSubscriptionPercent:
                      type: number
                      format: decimal
                      pattern: ^((100)|(\d{0,2}))$
                      example: 100
                    timeToProductDelivery:
                      type: string
                      description: 'Possible values:

                        - INSTANT

                        - UPTO2

                        - UPTO5

                        - UPTO10

                        - GREATERTHAN10'
                    estimatedMonthlySales:
                      type: number
                      format: currency
                      pattern: ^\d{1,8}(\.\d{1,2})?$
                      example: 10000.5
                    averageOrderAmount:
                      type: number
                      format: currency
                      pattern: ^\d{1,6}(\.\d{1,2})?$
                      example: 50.5
                    largestExpectedOrderAmount:
                      type: number
                      format: currency
                      pattern: ^\d{1,6}(\.\d{1,2})?$
                      example: 100.5
                    depositBankAccount:
                      type: object
                      properties:
                        accountHolderName:
                          type: string
                          maxLength: 40
                          pattern: ^[À-ÖØ-öø-ǿÀ-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/\\@$:&amp;!?%«»€₣«»€₣ ]{1,}$
                          example: John Doe
                        accountType:
                          type: string
                          example: checking
                          description: 'Possible values:

                            - checking

                            - savings

                            - corporatechecking

                            - corporatesavings'
                        accountRoutingNumber:
                          type: string
                          maxLength: 9
                          pattern: \d{9}
                        accountNumber:
                          type: string
                          maxLength: 17
                          pattern: ^\d{5,17}$
                      required:
                      - accountHolderName
                      - accountType
                      - accountRoutingNumber
                      - accountNumber
                  required:
                  - whenIsCustomerCharged
                  - offerSubscriptions
                  - timeToProductDelivery
                  - estimatedMonthlySales
                  - averageOrderAmount
                  - largestExpectedOrderAmount
                owners:
                  type: array
                  items:
                    type: object
                    properties:
                      firstName:
                        type: string
                        maxLength: 50
                        pattern: '[À-ÖØ-öø-ǿÀ-ÖØ-öø-ǿa-zA-Z().\-_#,;/\\@$:&amp;!?%«»€₣«»€₣ ]{1,}$'
                        example: John
                      middleName:
                        type: string
                        maxLength: 50
                        pattern: '[À-ÖØ-öø-ǿÀ-ÖØ-öø-ǿa-zA-Z().\-_#,;/\\@$:&amp;!?%«»€₣«»€₣ ]{1,}$'
                        example: John
                      lastName:
                        type: string
                        maxLength: 50
                        pattern: '[À-ÖØ-öø-ǿÀ-ÖØ-öø-ǿa-zA-Z().\-_#,;/\\@$:&amp;!?%«»€₣«»€₣ ]{1,}$'
                        example: John
                      birthDate:
                        type: string
                        format: date
                        pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
                        example: '2016-08-11'
                        description: '`Format: YYYY-MM-DD`

                          Example 2016-08-11 equals August 11, 2016

                          '
                      isPrimary:
                        type: boolean
                        description: Determines whether the owner is the Primary owner of the organization
                        example: true
                      ssn:
                        type: string
                        maxLength: 12
                        pattern: ^\d{3}-\d{2}-\d{4}$|^\d{9,9}$
                        example: 123456789
                        description: Social Security Number
                      passportNumber:
                        type: string
                        maxLength: 12
                        pattern: ^(?!^0+$)[a-zA-Z0-9]{3,20}$
                        example: '1234556'
                        description: Passport number
                      passportCountry:
                        type: string
                        maxLength: 2
                        minLength: 2
                        pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                        example: US
                      jobTitle:
                        type: string
                        maxLength: 100
                        pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                        example: Director
                      hasSignificantResponsability:
                        type: boolean
                        description: Determines whether owner has significant responsibility to control, manage or direct the company
                        example: true
                      ownershipPercentage:
                        type: number
                        pattern: ^[0-9]$|^[1-9][0-9]$|^(100)$
                        description: Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100
                        example: 25
                      phoneNumber:
                        type: string
                        maxLength: 20
                        pattern: ^[0-9a-zA-Z\\+\\-]+$
                        example: 4567890398
                      email:
                        type: string
                        maxLength: 100
                        pattern: ^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\]?)$
                        example: test@test.com
                      address:
                        type: object
                        properties:
                          country:
                            type: string
                            maxLength: 2
                            minLength: 2
                            pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                            example: US
                          address1:
                            type: string
                            maxLength: 60
                            minLength: 1
                            pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                            example: 123 Fake st
                          address2:
                            type: string
                            maxLength: 60
                            pattern: ^[À-ÖØ-öø-ǿa-zA-Z0-9().\-_#,;/@$:!% ]{1,}$
                            example: apt 2
                          locality:
                            type: string
                            maxLength: 50
                            minLength: 1
                            pattern: "^[0-9a-zA-Z _\\-¡-\uFFFF]+$"
                            description: City of the billing address.
                            example: Bellevue
                          administrativeArea:
                            type: string
                            minLength: 1
                            maxLength: 50
                            pattern: "^[0-9a-zA-Z¡-\uFFFF ]*$"
                            description: State or province of the

# --- truncated at 32 KB (1375 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-merchant-boarding-api-openapi.yml