openapi: 3.2.0
info:
  title: Partner Referrals
  description: Use the Partner Referrals API to add PayPal seller accounts to
    PayPal Complete Payments Platform for Marketplaces and Platforms.
    <blockquote><strong>Important:</strong> This endpoint is available to
    approved partners only. <a
    href="/docs/multiparty/#link-tellusaboutyourplatform">Fill out this form</a>
    to get approved and a PayPal representative will reach out to you
    shortly.</blockquote> For more information about partner integrations and
    onboarding sellers, see <a href="/docs/multiparty">PayPal Complete Payments
    Platform for Marketplaces and Platforms.
  version: "2.5"
paths:
  /v2/customer/partner-referrals:
    post:
      summary: Create partner referral
      description: Creates a partner referral that is shared by the partner or API
        caller. The partner referral is used to onboard the seller, and contains
        the seller's personal, business, financial and operations.
      operationId: partner-referrals.create
      responses:
        "201":
          description: A successful request returns the HTTP `201 Created` status code and
            a JSON response body that contains a [HATEOAS
            link](/docs/api/overview/#hateoas-links) to show the referral data
            and an `action_url` to which you redirect the customer in a browser
            to complete the signup process. The `partner_referral_id` token is
            appended to the URL.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/create_referral_data_response"
        "400":
          description: Request is not well-formed, syntactically incorrect, or violates
            schema.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_400"
                  - $ref: "#/components/schemas/400"
        "401":
          description: The API call is not authorized.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_401"
                  - $ref: "#/components/schemas/401"
        "403":
          description: Authorization failed due to insufficient permissions or missing
            scopes on the caller account.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_403"
                  - $ref: "#/components/schemas/403"
        "422":
          description: The caller is not a business account or the account is closed or
            locked.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_422"
                  - $ref: "#/components/schemas/422"
        "500":
          description: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error_500"
        default:
          $ref: "#/components/responses/default"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/referral_data"
        required: true
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner-referrals/readwrite
      tags:
        - partner-referrals
  /v2/customer/partner-referrals/{partner_referral_id}:
    get:
      summary: Show referral data
      description: Shows details by ID for referral data that was shared by the
        partner or API caller.
      operationId: partner-referrals.read
      responses:
        "200":
          description: A successful request returns the HTTP `200 OK` status code and a
            JSON response body that shows referral data.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/referral_data_response"
        "401":
          description: The API call is not authorized.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_401"
                  - $ref: "#/components/schemas/401"
        "403":
          description: Authorization failed due to insufficient permissions or missing
            scopes on the caller Account.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: "#/components/schemas/error_403"
                  - $ref: "#/components/schemas/403"
        "500":
          description: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error_500"
        default:
          $ref: "#/components/responses/default"
      parameters:
        - $ref: "#/components/parameters/partner_referral_id"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner-referrals/readwrite
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner-referrals
      tags:
        - partner-referrals
tags:
  - name: partner-referrals
    description: Enables you to create and get information about shared customer data.
externalDocs:
  url: https://developer.paypal.com/docs/platforms/seller-onboarding/before-payment/
servers:
  - url: https://api-m.sandbox.paypal.com
    description: PayPal API Sandbox
components:
  securitySchemes:
    Oauth2:
      type: oauth2
      description: Oauth 2.0 authentication
      flows:
        clientCredentials:
          tokenUrl: /api/oauth-proxy
          scopes:
            https://uri.paypal.com/services/customer/partner: Manage seller resources.
            https://uri.paypal.com/services/customer/partner-referrals/readwrite: Manage external referral data with PayPal
            https://uri.paypal.com/services/customer/partner-referrals: Manage referral data
              shared by Partner with PayPal. To be used by only internal apps
  responses:
    default:
      description: The default response.
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/error_default"
  schemas:
    "400":
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: INVALID_STRING_LENGTH
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_STRING_LENGTH
                  description:
                    type: string
                    enum:
                      - the value of a field is either too short or too long
              - title: INVALID_PARAMETER_SYNTAX
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_PARAMETER_SYNTAX
                  description:
                    type: string
                    enum:
                      - the value of a field does not conform to the expected
                        format
              - title: INVALID_PARAMETER_VALUE
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_PARAMETER_VALUE
                  description:
                    type: string
                    enum:
                      - the value of a field is invalid
              - title: INVALID_ARRAY_LENGTH
                properties:
                  issue:
                    type: string
                    enum:
                      - INVALID_ARRAY_LENGTH
                  description:
                    type: string
                    enum:
                      - the number of items in an array parameter is too small
                        or too large
    "401":
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: AUTHORIZATION_ERROR
                properties:
                  issue:
                    type: string
                    enum:
                      - AUTHORIZATION_ERROR
                  description:
                    type: string
                    enum:
                      - This API call is not authorized
    "403":
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: PERMISSION_DENIED
                properties:
                  issue:
                    type: string
                    enum:
                      - PERMISSION_DENIED
                  description:
                    type: string
                    enum:
                      - You do not have permission to access or perform
                        operations on this resource.
    "422":
      properties:
        details:
          type: array
          items:
            anyOf:
              - title: USER_NOT_FOUND
                properties:
                  issue:
                    type: string
                    enum:
                      - USER_NOT_FOUND
                  description:
                    type: string
                    enum:
                      - Account for this Partner ID does not exist.
              - title: ACCOUNT_STATUS_ERROR
                properties:
                  issue:
                    type: string
                    enum:
                      - ACCOUNT_STATUS_ERROR
                  description:
                    type: string
              - title: PRODUCT_PPCP_UNAUTHORIZED
                properties:
                  issue:
                    type: string
                    enum:
                      - PRODUCT_PPCP_UNAUTHORIZED
                  description:
                    type: string
                    enum:
                      - Account has not been configured to use PayPal Complete
                        Payments
    account:
      title: Account
      type: object
      description: Common account object to hold the account related details of the
        customer.
      properties:
        individual_owners:
          $ref: "#/components/schemas/individual_owner_list"
        business_entity:
          description: Business entity of the account.
          type: object
          $ref: "#/components/schemas/business_entity"
    address_details:
      type: object
      title: Address Details
      description: The non-portable additional address details that are sometimes
        needed for compliance, risk, or other scenarios where fine-grain address
        information might be needed. Not portable with common third party and
        open source. Redundant with core fields.<br/>For example,
        `address_portable.address_line_1` is usually a combination of
        `address_details.street_number`, `street_name`, and `street_type`.
      properties:
        street_number:
          type: string
          description: The street number.
          maxLength: 100
        street_name:
          type: string
          description: The street name. Just `Drury` in `Drury Lane`.
          maxLength: 100
        street_type:
          type: string
          description: The street type. For example, avenue, boulevard, road, or expressway.
          maxLength: 100
        delivery_service:
          type: string
          description: The delivery service. Post office box, bag number, or post office
            name.
          maxLength: 100
        building_name:
          type: string
          description: A named locations that represents the premise. Usually a building
            name or number or collection of buildings with a common name or
            number. For example, <code>Craven House</code>.
          maxLength: 100
        sub_building:
          type: string
          description: The first-order entity below a named building or location that
            represents the sub-premise. Usually a single building within a
            collection of buildings with a common name. Can be a flat, story,
            floor, room, or apartment.
          maxLength: 100
    address_portable:
      type: object
      title: Portable Postal Address (Medium-Grained)
      description: "The portable international postal address. Maps to
        [AddressValidationMetadata](https://github.com/googlei18n/libaddressinp\
        ut/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form
        controls: the autocomplete
        attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-form\
        -controls-the-autocomplete-attribute)."
      properties:
        address_line_1:
          type: string
          description: The first line of the address. For example, number or street. For
            example, `173 Drury Lane`. Required for data entry and compliance
            and risk checks. Must contain the full address.
          maxLength: 300
        address_line_2:
          type: string
          description: The second line of the address. For example, suite or apartment
            number.
          maxLength: 300
        address_line_3:
          type: string
          description: The third line of the address, if needed. For example, a street
            complement for Brazil, direction text, such as `next to Walmart`, or
            a landmark in an Indian address.
          maxLength: 100
        admin_area_4:
          type: string
          description: The neighborhood, ward, or district. Smaller than
            `admin_area_level_3` or `sub_locality`. Value is:<ul><li>The postal
            sorting code for Guernsey and many French territories, such as
            French Guiana.</li><li>The fine-grained administrative levels in
            China.</li></ul>
          maxLength: 100
        admin_area_3:
          type: string
          description: A sub-locality, suburb, neighborhood, or district. Smaller than
            `admin_area_level_2`. Value is:<ul><li>Brazil. Suburb, bairro, or
            neighborhood.</li><li>India. Sub-locality or district. Street name
            information is not always available but a sub-locality or district
            can be a very small area.</li></ul>
          maxLength: 100
        admin_area_2:
          type: string
          description: A city, town, or village. Smaller than `admin_area_level_1`.
          maxLength: 120
        admin_area_1:
          type: string
          description: The highest level sub-division in a country, which is usually a
            province, state, or ISO-3166-2 subdivision. Format for postal
            delivery. For example, `CA` and not `California`. Value, by country,
            is:<ul><li>UK. A county.</li><li>US. A state.</li><li>Canada. A
            province.</li><li>Japan. A prefecture.</li><li>Switzerland. A
            kanton.</li></ul>
          maxLength: 300
        postal_code:
          type: string
          description: The postal code, which is the zip code or equivalent. Typically
            required for countries with a postal code or an equivalent. See
            [postal code](https://en.wikipedia.org/wiki/Postal_code).
          maxLength: 60
        country_code:
          $ref: "#/components/schemas/country_code"
        address_details:
          $ref: "#/components/schemas/address_details"
      required:
        - country_code
    bank:
      type: object
      title: Bank Account
      additionalProperties: false
      description: The bank account information.
      properties:
        nick_name:
          type: string
          description: The user-provided short name for the user's bank account.
          minLength: 1
          maxLength: 50
          pattern: ^[0-9A-Za-z_-]+$
        account_number:
          type: string
          description: The bank account number.
          pattern: \d+
          minLength: 1
          maxLength: 50
        account_type:
          type: string
          description: The type of bank account.
          minLength: 1
          maxLength: 50
          pattern: ^[0-9A-Z_]+$
          enum:
            - CHECKING
            - SAVINGS
          oneOf:
            - type: string
              enum:
                - CHECKING
              description: Checking account.
            - type: string
              enum:
                - SAVINGS
              description: Savings account.
        currency_code:
          description: The primary currency code of the bank account.
          $ref: "#/components/schemas/currency_code"
        identifiers:
          $ref: "#/components/schemas/identifier_list"
        branch_location:
          description: "The portable international postal address. Maps to
            [AddressValidationMetadata](https://github.com/googlei18n/libaddres\
            sinput/wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling
            form controls: the autocomplete
            attribute](https://www.w3.org/TR/html51/sec-forms.html#autofilling-\
            form-controls-the-autocomplete-attribute)."
          type: object
          title: Portable Postal Address (Medium-Grained)
          properties:
            address_line_1:
              type: string
              description: The first line of the address. For example, number or street. For
                example, `173 Drury Lane`. Required for data entry and
                compliance and risk checks. Must contain the full address.
              maxLength: 300
            address_line_2:
              type: string
              description: The second line of the address. For example, suite or apartment
                number.
              maxLength: 300
            admin_area_2:
              type: string
              description: A city, town, or village. Smaller than `admin_area_level_1`.
              maxLength: 120
            admin_area_1:
              type: string
              description: The highest level sub-division in a country, which is usually a
                province, state, or ISO-3166-2 subdivision. Format for postal
                delivery. For example, `CA` and not `California`. Value, by
                country, is:<ul><li>UK. A county.</li><li>US. A
                state.</li><li>Canada. A province.</li><li>Japan. A
                prefecture.</li><li>Switzerland. A kanton.</li></ul>
              maxLength: 300
            postal_code:
              type: string
              description: The postal code, which is the zip code or equivalent. Typically
                required for countries with a postal code or an equivalent. See
                [postal code](https://en.wikipedia.org/wiki/Postal_code).
              maxLength: 60
            country_code:
              $ref: "#/components/schemas/country_code-2"
          required:
            - country_code
        mandate:
          description: Mandate for this bank account.
          $ref: "#/components/schemas/mandate"
      required:
        - account_number
        - account_type
    bank_list:
      type: array
      description: An array of banks attached to this managed account.
      items:
        $ref: "#/components/schemas/bank"
      minItems: 0
      maxItems: 5
    beneficial_owners:
      title: Beneficial_owners
      type: object
      description: Beneficial owners of the entity.
      properties:
        individual_beneficial_owners:
          $ref: "#/components/schemas/individual_beneficial_owner_list"
        business_beneficial_owners:
          $ref: "#/components/schemas/business_beneficial_owner_list"
    billing_agreement:
      type: object
      title: Billing Agreement
      description: The details of the billing agreement between the partner and a seller.
      additionalProperties: false
      properties:
        description:
          type: string
          description: The billing agreement description.
          minLength: 1
          maxLength: 125
          pattern: ^.+$
        billing_experience_preference:
          $ref: "#/components/schemas/billing_experience_preference"
        merchant_custom_data:
          type: string
          description: The custom data for the billing agreement.
          minLength: 1
          maxLength: 125
          pattern: ^[a-zA-Z0-9-]+$
        approval_url:
          type: string
          format: uri
          description: The URL to which to redirect seller to accept the billing agreement.
          minLength: 1
          maxLength: 125
        ec_token:
          type: string
          description: The billing agreement token for the agreement.
          minLength: 1
          maxLength: 50
          pattern: ^[0-9A-Z_-]+$
    billing_experience_preference:
      type: object
      title: Billing Experience Preference
      description: The preference that customizes the billing experience of the customer.
      additionalProperties: false
      properties:
        experience_id:
          type: string
          description: The ID of the payment web experience profile.
          minLength: 1
          maxLength: 20
          pattern: ^[a-zA-Z0-9-]+$
        billing_context_set:
          type: boolean
          description: Indicates whether the partner has already displayed the billing
            context to the seller.
    birth_details:
      title: Birth details
      type: object
      description: Date of birth data provided by the user
      properties:
        date_of_birth:
          description: date of birth, fomrat [Internet date and time
            format](https://tools.ietf.org/html/rfc3339#section-5.6).
          $ref: "#/components/schemas/date_no_time"
      required:
        - date_of_birth
    business:
      properties:
        business_type:
          description: Information related to the business like the nature of business,
            started date etc.
          $ref: "#/components/schemas/business_type_info"
        business_industry:
          description: Information related to the business like the nature of business,
            started date etc.
          $ref: "#/components/schemas/business_industry"
        business_incorporation:
          description: Business incorporation information.
          title: Business_incorporation
          type: object
          properties:
            incorporation_country_code:
              description: The incorporation country code.
              $ref: "#/components/schemas/country_code"
            incorporation_date:
              description: date of incorporation
              $ref: "#/components/schemas/date_no_time"
        names:
          $ref: "#/components/schemas/business_name_detail_list"
        emails:
          $ref: "#/components/schemas/email_list"
        website:
          description: Website of the business.
          type: string
          minLength: 1
          maxLength: 50
          format: uri
        addresses:
          $ref: "#/components/schemas/business_address_detail_list"
        phones:
          $ref: "#/components/schemas/business_phone_detail_list"
        documents:
          $ref: "#/components/schemas/business_document_list"
    business_address_detail:
      allOf:
        - $ref: "#/components/schemas/address_portable"
        - properties:
            type:
              description: The address type under which this is classified. For example,
                shipping or dropoff.
              $ref: "#/components/schemas/business_address_type"
        - type: object
          title: Business_address_detail
          description: A simple postal address with coarse-grained fields.
          required:
            - type
    business_address_detail_list:
      description: List of addresses associated with the business entity.
      type: array
      items:
        $ref: "#/components/schemas/business_address_detail"
      minItems: 0
      maxItems: 5
    business_address_type:
      description: Address type under which the provided address is tagged
      title: Business address type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - WORK
      oneOf:
        - type: string
          enum:
            - WORK
          description: The address of the business.
    business_beneficial_owner:
      allOf:
        - $ref: "#/components/schemas/business"
        - properties:
            percentage_of_ownership:
              description: The percentage of shares this person owns in the company.
              $ref: "#/components/schemas/percentage"
        - title: Business_beneficial_owner
          description: The business beneficial owner of the account.
    business_beneficial_owner_list:
      description: Business beneficial owners.
      type: array
      items:
        $ref: "#/components/schemas/business_beneficial_owner"
      minItems: 0
      maxItems: 5
    business_document:
      allOf:
        - $ref: "#/components/schemas/document"
        - properties:
            type:
              description: The actual type of the document.
              $ref: "#/components/schemas/business_document_type"
        - title: Business document
          description: The documents associated with the business.
    business_document_list:
      description: Business Party related Document data collected from the customer..
        For example SSN, ITIN, Business registration number that were collected
        from the user.
      type: array
      items:
        $ref: "#/components/schemas/business_document"
      minItems: 0
      maxItems: 20
    business_document_type:
      type: string
      title: Document type
      description: The type of documents.
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - SOCIAL_SECURITY_NUMBER
        - EMPLOYMENT_IDENTIFICATION_NUMBER
        - TAX_IDENTIFICATION_NUMBER
        - PASSPORT_NUMBER
        - PENSION_FUND_ID
        - MEDICAL_INSURANCE_ID
        - CNPJ
        - CPF
        - PAN
        - BUSINESS_REGISTRATION
      oneOf:
        - type: string
          enum:
            - SOCIAL_SECURITY_NUMBER
          description: A social security number.
        - type: string
          enum:
            - EMPLOYMENT_IDENTIFICATION_NUMBER
          description: The employee identification number.
        - type: string
          enum:
            - TAX_IDENTIFICATION_NUMBER
          description: The tax identification number.
        - type: string
          enum:
            - PASSPORT_NUMBER
          description: A passport number.
        - type: string
          enum:
            - PENSION_FUND_ID
          description: A pension fund ID.
        - type: string
          enum:
            - MEDICAL_INSURANCE_ID
          description: A medical insurance ID.
        - type: string
          enum:
            - CNPJ
          description: The identification number issued to Brazilian companies by the
            Department of Federal Revenue of Brazil.
        - type: string
          enum:
            - CPF
          description: A Brazilian individual's taxpayer registry identification number.
        - type: string
          enum:
            - PAN
          description: The Permanent account number issued by the Indian Income Tax
            Department.
        - type: string
          enum:
            - BUSINESS_REGISTRATION
          description: A unique identifier for business entities issued by the governing
            agency.
    business_entity:
      allOf:
        - description: Common business information section.
          $ref: "#/components/schemas/business"
        - description: Common business information section.
        - description: Additional business information section.
          properties:
            beneficial_owners:
              description: List of beneficial owners part of the entity. They can be either a
                Person or a business entity.
              $ref: "#/components/schemas/beneficial_owners"
            office_bearers:
              $ref: "#/components/schemas/office_bearer_list"
            annual_sales_volume_range:
              description: The range for the total annual sales volume of the business.
              $ref: "#/components/schemas/currency_range"
            average_monthly_volume_range:
              description: The range for the average monthly volume of the business.
              $ref: "#/components/schemas/currency_range"
            purpose_code:
              description: The account's purpose code.
              items:
                $ref: "#/components/schemas/purpose_code_enum"
            business_description:
              type: string
              description: The business goals description. For example, a mission statement.
              minLength: 1
              maxLength: 256
        - title: Business_entity
          description: The business entity of the account.
    business_industry:
      title: Business industry
      type: object
      description: The category, subcategory and MCC code of the business.
      properties:
        category:
          type: string
          description: The customer's business category code. PayPal uses industry
            standard seller category codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 20
        mcc_code:
          type: string
          description: The customer's business seller category code. PayPal uses industry
            standard seller category codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 20
        subcategory:
          type: string
          description: The customer's business subcategory code. PayPal uses industry
            standard seller subcategory codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 20
      required:
        - category
        - mcc_code
        - subcategory
    business_name:
      type: object
      title: Business Name
      description: The business name of the party.
      properties:
        business_name:
          type: string
          description: Required. The business name of the party.
          maxLength: 300
    business_name_detail:
      allOf:
        - $ref: "#/components/schemas/business_name"
        - properties:
            type:
              description: The type of business name. For example, trading name.
              $ref: "#/components/schemas/business_name_type"
        - type: object
          title: Business name
          description: Name of the business provided.
          required:
            - type
    business_name_detail_list:
      description: Name of the business.
      type: array
      items:
        $ref: "#/components/schemas/business_name_detail"
      minItems: 0
      maxItems: 5
    business_name_type:
      description: Business name type
      title: The business name type.
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - DOING_BUSINESS_AS
        - LEGAL_NAME
      oneOf:
        - type: string
          enum:
            - DOING_BUSINESS_AS
          description: The trading name of the business.
        - type: string
          enum:
            - LEGAL_NAME
          description: The legal name of the business.
    business_phone_detail:
      allOf:
        - $ref: "#/components/schemas/phone"
        - properties:
            type:
              $ref: "#/components/schemas/business_phone_type"
              description: The type of phone number provided. For example, home, work, or
                mobile.
        - type: object
          title: Phone details
          description: The phone number, in its canonical international [E.164 numbering
            plan format](https://www.itu.int/rec/T-REC-E.164/en).
          required:
            - type
    business_phone_detail_list:
      description: List of phone number associated with the business.
      type: array
      items:
        $ref: "#/components/schemas/business_phone_detail"
      minItems: 0
      maxItems: 5
    business_phone_type:
      type: string
      title: Phone type
      description: The type of phone number provided. For example, home, work, or mobile.
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - CUSTOMER_SERVICE
        - BUSINESS
      oneOf:
        - type: string
          enum:
            - CUSTOMER_SERVICE
          description: The customer service phone number.
        - type: string
          enum:
            - BUSINESS
          description: The business phone number.
    business_sub_type:
      description: Sub classification of the business type
      title: The business sub type.
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - ASSO_TYPE_INCORPORATED
        - ASSO_TYPE_NON_INCORPORATED
        - GOVT_TYPE_ENTITY
        - GOVT_TYPE_EMANATION
        - GOVT_TYPE_ESTD_COMM
        - GOVT_TYPE_ESTD_FC
        - GOVT_TYPE_ESTD_ST_TR
      oneOf:
        - type: string
          enum:
            - ASSO_TYPE_INCORPORATED
          description: "The asso type incorporated. "
        - type: string
          enum:
            - ASSO_TYPE_NON_INCORPORATED
          description: The asso type non incorporated.
        - type: string
          enum:
            - GOVT_TYPE_ENTITY
          description: "The govt type entity. "
        - type: string
          enum:
            - GOVT_TYPE_EMANATION
          description: "The govt type emanation. "
        - type: string
          enum:
            - GOVT_TYPE_ESTD_COMM
          description: "The govt type estd comm. "
        - type: string
          enum:
            - GOVT_TYPE_ESTD_FC
          description: "The govt type estd fc. "
        - type: string
          enum:
            - GOVT_TYPE_ESTD_ST_TR
          description: "The govt type estd st tr. "
    business_type:
      description: The business types classified
      title: Business type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - ANY_OTHER_BUSINESS_ENTITY
        - ASSOCIATION
        - CORPORATION
        - GENERAL_PARTNERSHIP
        - GOVERNMENT
        - INDIVIDUAL
        - LIMITED_LIABILITY_PARTNERSHIP
        - LIMITED_LIABILITY_PROPRIETORS
        - LIMITED_LIABILITY_PRIVATE_CORPORATION
        - LIMITED_PARTNERSHIP
        - LIMITED_PARTNERSHIP_PRIVATE_CORPORATION
        - NONPROFIT
        - ONLY_BUY_OR_SEND_MONEY
        - OTHER_CORPORATE_BODY
        - PARTNERSHIP
        - PRIVATE_PARTNERSHIP
        - PROPRIETORSHIP
        - PROPRIETORSHIP_CRAFTSMAN
        - PROPRIETORY_COMPANY
        - PRIVATE_CORPORATION
        - PUBLIC_COMPANY
        - PUBLIC_CORPORATION
        - PUBLIC_PARTNERSHIP
        - REGISTERED_COOPERATIVE
      oneOf:
        - type: string
          enum:
            - ANY_OTHER_BUSINESS_ENTITY
          description: "The any other business entity. "
        - type: string
          enum:
            - ASSOCIATION
          description: The association.
        - type: string
          enum:
            - CORPORATION
          description: The corporation.
        - type: string
          enum:
            - GENERAL_PARTNERSHIP
          description: The general partnership.
        - type: string
          enum:
            - GOVERNMENT
          description: The government.
        - type: string
          enum:
            - INDIVIDUAL
          description: The individual.
        - type: string
          enum:
            - LIMITED_LIABILITY_PARTNERSHIP
          description: The limited liability partnership.
        - type: string
          enum:
            - LIMITED_LIABILITY_PROPRIETORS
          description: The limited liability proprietors.
        - type: string
          enum:
            - LIMITED_LIABILITY_PRIVATE_CORPORATION
          description: "The limited liability private corporation. "
        - type: string
          enum:
            - LIMITED_PARTNERSHIP
          description: The limited partnership.
        - type: string
          enum:
            - LIMITED_PARTNERSHIP_PRIVATE_CORPORATION
          description: The limited partnership private corporation.
        - type: string
          enum:
            - NONPROFIT
          description: The nonprofit.
        - type: string
          enum:
            - ONLY_BUY_OR_SEND_MONEY
          description: The only buy and send money.
        - type: string
          enum:
            - OTHER_CORPORATE_BODY
          description: The other corporate body.
        - type: string
          enum:
            - PARTNERSHIP
          description: The partnership.
        - type: string
          enum:
            - PRIVATE_PARTNERSHIP
          description: The private partnership.
        - type: string
          enum:
            - PROPRIETORSHIP
          description: The proprietorship.
        - type: string
          enum:
            - PROPRIETORSHIP_CRAFTSMAN
          description: The proprietorship craftsman.
        - type: string
          enum:
            - PROPRIETORY_COMPANY
          description: The proprietory company.
        - type: string
          enum:
            - PRIVATE_CORPORATION
          description: The private corporation.
        - type: string
          enum:
            - PUBLIC_COMPANY
          description: The public company.
        - type: string
          enum:
            - PUBLIC_CORPORATION
          description: The public corporation.
        - type: string
          enum:
            - PUBLIC_PARTNERSHIP
          description: The public partnership.
        - type: string
          enum:
            - REGISTERED_COOPERATIVE
          description: Registered Co-operative.
    business_type_info:
      title: Business type information
      type: object
      description: The type and subtype of the business.
      properties:
        type:
          description: Type of business entity like corporation, sole prop, governmental.
          $ref: "#/components/schemas/business_type"
        subtype:
          description: The sub classification of the business type.
          $ref: "#/components/schemas/business_sub_type"
    capabilities:
      type: string
      description: Optional capabilities of the selected PayPal product for which the
        customer is being onboarded.
      title: Capability
      minLength: 1
      maxLength: 127
      pattern: ^[A-Z0-9_]+$
      enum:
        - PAYPAL_WALLET_VAULTING_ADVANCED
        - PAY_UPON_INVOICE
        - APPLE_PAY
        - GOOGLE_PAY
      oneOf:
        - type: string
          enum:
            - PAYPAL_WALLET_VAULTING_ADVANCED
          description: Enables capability to save payment methods. Supported only when
            ADVANCED_VAULTING is requested and EXPRESS_CHECKOUT or PPCP is also
            requested.
        - type: string
          enum:
            - PAY_UPON_INVOICE
          description: Enables Pay Upon Invoice (PUI) which is a deferred payment method
            that allows a buyer to buy now and pay later. Supported only when
            PAYMENT_METHODS is requested.
        - type: string
          enum:
            - APPLE_PAY
          description: Enables Apple Pay capability. Supported only when PAYMENT_METHODS
            is requested.
        - type: string
          enum:
            - GOOGLE_PAY
          description: Enables Google Pay capability. Supported only when PAYMENT_METHODS
            is requested.
    capabilities_list:
      type: array
      description: An array of capabilities which the partner wants to enable for the
        selected products. Supported only when products are specified.
      items:
        $ref: "#/components/schemas/capabilities"
      minItems: 1
      maxItems: 5
    classic_api_integration:
      type: object
      title: CLASSIC API integration
      description: The integration details for PayPal CLASSIC endpoints.
      additionalProperties: false
      properties: {}
    country_code:
      type: string
      description: The [two-character ISO 3166-1
        code](/docs/api/reference/country-codes/) that identifies the country or
        region.<blockquote><strong>Note:</strong> The country code for Great
        Britain is <code>GB</code> and not <code>UK</code> as used in the
        top-level domain names for that country. Use the `C2` country code for
        China worldwide for comparable uncontrolled price (CUP) method, bank
        card, and cross-border transactions.</blockquote>
      format: ppaas_common_country_code_v2
      maxLength: 2
      minLength: 2
      pattern: ^([A-Z]{2}|C2)$
    country_code-2:
      type: string
      description: The [two-character ISO 3166-1
        code](/docs/integration/direct/rest/country-codes/) that identifies the
        country or region.<blockquote><strong>Note:</strong> The country code
        for Great Britain is <code>GB</code> and not <code>UK</code> as used in
        the top-level domain names for that country. Use the `C2` country code
        for China worldwide for comparable uncontrolled price (CUP) method, bank
        card, and cross-border transactions.</blockquote>
      format: ppaas_common_country_code_v2
      maxLength: 2
      minLength: 2
      pattern: ^([A-Z]{2}|C2)$
    country_transfer_method_currency_selection:
      type: object
      title: Requested country, transfer method and currency
      additionalProperties: false
      description: Requested country, transfer method and currency.
      properties:
        country:
          description: Country.
          $ref: "#/components/schemas/country_code"
        transfer_methods:
          $ref: "#/components/schemas/transfer_method_list"
    country_transfer_method_currency_selection_list:
      type: array
      description: Requested country, transfer method and currency.
      minItems: 1
      maxItems: 50
      items:
        $ref: "#/components/schemas/country_transfer_method_currency_selection"
    create_referral_data_response:
      type: object
      title: Create Referral Data Response
      description: The shared referral data.
      properties:
        links:
          $ref: "#/components/schemas/definitions-link_description_list"
    currency_code:
      description: The [three-character ISO-4217 currency
        code](/docs/integration/direct/rest/currency-codes/) that identifies the
        currency.
      type: string
      format: ppaas_common_currency_code_v2
      minLength: 3
      maxLength: 3
    currency_code-2:
      description: The [three-character ISO-4217 currency
        code](/docs/api/reference/currency-codes/) that identifies the currency.
      type: string
      format: ppaas_common_currency_code_v2
      minLength: 3
      maxLength: 3
    currency_code_list:
      type: array
      description: Requested Currencies for a Transfer Method.
      minItems: 1
      maxItems: 50
      items:
        $ref: "#/components/schemas/currency_code-2"
    currency_range:
      type: object
      title: Currency Range
      description: The currency range, from the minimum inclusive amount to the
        maximum inclusive amount.
      additionalProperties: false
      properties:
        minimum_amount:
          description: The minimum inclusive amount for the range.
          $ref: "#/components/schemas/money"
        maximum_amount:
          description: The maximum inclusive amount for the range.
          $ref: "#/components/schemas/money"
    date_no_time:
      type: string
      description: The stand-alone date, in [Internet date and time
        format](https://tools.ietf.org/html/rfc3339#section-5.6). To represent
        special legal values, such as a date of birth, you should use dates with
        no associated time or time-zone data. Whenever possible, use the
        standard `date_time` type. This regular expression does not validate all
        dates. For example, February 31 is valid and nothing is known about leap
        years.
      format: ppaas_date_notime_v2
      minLength: 10
      maxLength: 10
      pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$
    date_time:
      type: string
      description: The date and time, in [Internet date and time
        format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
        required while fractional seconds are
        optional.<blockquote><strong>Note:</strong> The regular expression
        provides guidance but does not reject all invalid dates.</blockquote>
      format: ppaas_date_time_v3
      minLength: 20
      maxLength: 64
      pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
    definitions-link_description_list:
      type: array
      title: Links
      description: An array of request-related [HATEOAS
        links](/docs/api/overview/#hateoas-links).
      readOnly: true
      additionalProperties: true
      minItems: 1
      maxItems: 10
      items:
        $ref: "#/components/schemas/link_description"
    dependent_process: {}
    dependent_process_list:
      type: array
      description: An array of dependent processes.
      items:
        $ref: "#/components/schemas/dependent_process"
      minItems: 1
      maxItems: 5
    document:
      type: object
      title: Document
      description: The document object.
      properties:
        id:
          type: string
          description: The encrypted identifier for the document.
          readOnly: true
          minLength: 1
          maxLength: 20
          pattern: ^[0-9A-Z]+$
        labels:
          $ref: "#/components/schemas/labels_list"
        name:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^[0-9A-Za-z_-]+$
          description: The file name.
        identification_number:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^[a-zA-Z0-9-]+$
          description: The number for the document. It is the ID number if the document is
            `ID CARD`, the passport number if the document is `PASSPORT`, etc.
        issue_date:
          $ref: "#/components/schemas/date_no_time"
          description: The issue date of the document.
        expiry_date:
          $ref: "#/components/schemas/date_no_time"
          description: The expire data of the document.
        issuing_country_code:
          $ref: "#/components/schemas/country_code"
          description: The country code of the document.
        files:
          $ref: "#/components/schemas/file_reference_list"
        links:
          $ref: "#/components/schemas/link_description_list"
    email:
      title: Email of a person orbusiness
      description: An email address at which the person or business can be contacted.
      type: object
      properties:
        type:
          type: string
          description: The role of the email address.
          minLength: 1
          maxLength: 50
          pattern: ^[0-9A-Z_]+$
          enum:
            - CUSTOMER_SERVICE
          oneOf:
            - type: string
              enum:
                - CUSTOMER_SERVICE
              description: The email ID to be used to contact the customer service of the
                business.
        email:
          $ref: "#/components/schemas/email_address"
      required:
        - email
        - type
    email_address:
      type: string
      description: The internationalized email
        address.<blockquote><strong>Note:</strong> Up to 64 characters are
        allowed before and 255 characters are allowed after the <code>@</code>
        sign. However, the generally accepted maximum length for an email
        address is 254 characters. The pattern verifies that an unquoted
        <code>@</code> sign exists.</blockquote>
      format: ppaas_common_email_address_v2
      minLength: 3
      maxLength: 254
      pattern: ^.+@[^"\-].+$
    email_list:
      description: Email addresses of the business.
      type: array
      items:
        $ref: "#/components/schemas/email"
      minItems: 0
      maxItems: 5
    error_400:
      type: object
      title: Bad Request Error
      description: Request is not well-formed, syntactically incorrect, or violates schema.
      properties:
        name:
          type: string
          enum:
            - INVALID_REQUEST
        message:
          type: string
          enum:
            - Request is not well-formed, syntactically incorrect, or violates
              schema.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_401:
      type: object
      title: Unauthorized Error
      description: Authentication failed due to missing Authorization header, or
        invalid authentication credentials.
      properties:
        name:
          type: string
          enum:
            - AUTHENTICATION_FAILURE
        message:
          type: string
          enum:
            - Authentication failed due to missing authorization header, or
              invalid authentication credentials.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_403:
      type: object
      title: Not Authorized Error
      description: "The client is not authorized to access this resource, although it
        may have valid credentials. "
      properties:
        name:
          type: string
          enum:
            - NOT_AUTHORIZED
        message:
          type: string
          enum:
            - Authorization failed due to insufficient permissions.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_404:
      type: object
      title: Not found Error
      description: The server has not found anything matching the request URI. This
        either means that the URI is incorrect or the resource is not available.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_NOT_FOUND
        message:
          type: string
          enum:
            - The specified resource does not exist.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_409:
      type: object
      title: Resource Conflict Error
      description: The server has detected a conflict while processing this request.
      properties:
        name:
          type: string
          enum:
            - RESOURCE_CONFLICT
        message:
          type: string
          enum:
            - The server has detected a conflict while processing this request.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_415:
      type: object
      title: Unsupported Media Type Error
      description: The server does not support the request payload's media type.
      properties:
        name:
          type: string
          enum:
            - UNSUPPORTED_MEDIA_TYPE
        message:
          type: string
          enum:
            - The server does not support the request payload's media type.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_422:
      type: object
      title: Unprocessable Entity Error
      description: The requested action cannot be performed and may require
        interaction with APIs or processes outside of the current request. This
        is distinct from a 500 response in that there are no systemic problems
        limiting the API from performing the request.
      properties:
        name:
          type: string
          enum:
            - UNPROCESSABLE_ENTITY
        message:
          type: string
          enum:
            - The requested action could not be performed, semantically
              incorrect, or failed business validation.
        details:
          type: array
          items:
            $ref: "#/components/schemas/error_details"
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
    error_500:
      type: object
      title: Internal Server Error
      description: This is either a system or application error, and generally
        indicates that although the client appeared to provide a correct
        request, something unexpected has gone wrong on the server.
      properties:
        name:
          type: string
          enum:
            - INTERNAL_SERVER_ERROR
        message:
          type: string
          enum:
            - An internal server error occurred.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
      examples:
        - name: INTERNAL_SERVER_ERROR
          message: An internal server error occurred.
          debug_id: 90957fca61718
          links:
            - href: https://developer.paypal.com/api/orders/v2/#error-INTERNAL_SERVER_ERROR
              rel: information_link
    error_503:
      type: object
      title: Service Unavailable Error
      description: The server is temporarily unable to handle the request, for
        example, because of planned maintenance or downtime.
      properties:
        name:
          type: string
          enum:
            - SERVICE_UNAVAILABLE
        message:
          type: string
          enum:
            - Service Unavailable.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        links:
          description: An array of request-related [HATEOAS
            links](https://en.wikipedia.org/wiki/HATEOAS).
          type: array
          minItems: 0
          maxItems: 10000
          items:
            $ref: "#/components/schemas/error_link_description"
      examples:
        - name: SERVICE_UNAVAILABLE
          message: Service Unavailable.
          debug_id: 90957fca61718
          information_link: https://developer.paypal.com/docs/api/orders/v2/#error-SERVICE_UNAVAILABLE
    error_default:
      description: The default error response.
      oneOf:
        - $ref: "#/components/schemas/error_400"
        - $ref: "#/components/schemas/error_401"
        - $ref: "#/components/schemas/error_403"
        - $ref: "#/components/schemas/error_404"
        - $ref: "#/components/schemas/error_409"
        - $ref: "#/components/schemas/error_415"
        - $ref: "#/components/schemas/error_422"
        - $ref: "#/components/schemas/error_500"
        - $ref: "#/components/schemas/error_503"
    error_details:
      title: Error Details
      type: object
      description: The error details. Required for client-side `4XX` errors.
      properties:
        field:
          type: string
          description: The field that caused the error. If this field is in the body, set
            this value to the field's JSON pointer value. Required for
            client-side errors.
        value:
          type: string
          description: The value of the field that caused the error.
        location:
          $ref: "#/components/schemas/error_location"
        issue:
          type: string
          description: The unique, fine-grained application-level error code.
        description:
          type: string
          description: The human-readable description for an issue. The description can
            change over the lifetime of an API, so clients must not depend on
            this value.
      required:
        - issue
    error_link_description:
      title: Link Description
      description: The request-related [HATEOAS
        link](/api/rest/responses/#hateoas-links) information.
      type: object
      required:
        - href
        - rel
      properties:
        href:
          description: The complete target URL. To make the related call, combine the
            method with this [URI
            Template-formatted](https://tools.ietf.org/html/rfc6570) link. For
            pre-processing, include the `$`, `(`, and `)` characters. The `href`
            is the key HATEOAS component that links a completed call with a
            subsequent call.
          type: string
          minLength: 0
          maxLength: 20000
          pattern: ^.*$
        rel:
          description: The [link relation
            type](https://tools.ietf.org/html/rfc5988#section-4), which serves
            as an ID for a link that unambiguously describes the semantics of
            the link. See [Link
            Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
          type: string
          minLength: 0
          maxLength: 100
          pattern: ^.*$
        method:
          description: The HTTP method required to make the related call.
          type: string
          minLength: 3
          maxLength: 6
          pattern: ^[A-Z]*$
          enum:
            - GET
            - POST
            - PUT
            - DELETE
            - PATCH
    error_location:
      type: string
      description: The location of the field that caused the error. Value is `body`,
        `path`, or `query`.
      enum:
        - body
        - path
        - query
      default: body
    file_reference:
      type: object
      title: File Reference
      description: The file reference. Can be a file in PayPal MediaServ, PayPal DMS,
        or another custom store.
      properties:
        id:
          type: string
          description: The ID of the referenced file.
          minLength: 1
          maxLength: 255
        reference_url:
          type: string
          description: The reference URL for the file.
          format: uri
          minLength: 1
          maxLength: 2000
        content_type:
          type: string
          description: The [Internet Assigned Numbers Authority (IANA) media type of the
            file](https://www.iana.org/assignments/media-types/media-types.xhtml).
        create_time:
          $ref: "#/components/schemas/date_time"
          description: The date and time when the file was created, in [Internet date and
            time format](https://tools.ietf.org/html/rfc3339#section-5.6).
        size:
          type: string
          description: The size of the file, in bytes.
          pattern: ^[0-9]+$
    file_reference_list:
      type: array
      items:
        $ref: "#/components/schemas/file_reference"
      minItems: 1
      maxItems: 50
      description: The files contained in the document. For example, a document could
        be represented by a front page file and a back page file, etc.
    financial_instruments:
      type: object
      title: Financial instrument.
      description: Financial instruments attached to this account.
      additionalProperties: false
      properties:
        banks:
          $ref: "#/components/schemas/bank_list"
    first_party_details:
      type: object
      title: REST First-Party Details
      description: The integration details for PayPal first party REST endpoints.
      properties:
        features:
          $ref: "#/components/schemas/rest_endpoint_features_enum_list"
        seller_nonce:
          type: string
          description: S256 - The code verifier must be high-entropy cryptographic random
            string with a byte length of 43-128 range.
          minLength: 44
          maxLength: 128
          pattern: ^[a-zA-Z0-9-_:]+$
      required:
        - features
        - seller_nonce
    identifier:
      type: object
      title: Bank Account Identifier
      additionalProperties: false
      description: The bank account ID. An ID with `ROUTING_NUMBER_1` is required.
      properties:
        type:
          type: string
          description: The bank account ID type.
          minLength: 1
          maxLength: 125
          pattern: ^[0-9A-Z_-]+$
          enum:
            - BANK_CODE
            - BI_CODE
            - BRANCH_CODE
            - ROUTING_NUMBER_1
            - ROUTING_NUMBER_2
            - ROUTING_NUMBER_3
            - SWIFT_CODE
            - BRANCH_CODE
            - INTERMEDIARY_SWIFT_CODE
            - BBAN
            - BBAN_ENCRYPTED
            - BBAN_HMAC
            - AGGREGATOR_YODLEE
          oneOf:
            - type: string
              enum:
                - BANK_CODE
              description: The bank code.
            - type: string
              enum:
                - BI_CODE
              description: The BI code.
            - type: string
              enum:
                - BRANCH_CODE
              description: Branch code.
            - type: string
              enum:
                - ROUTING_NUMBER_1
              description: The bank routing number.
            - type: string
              enum:
                - ROUTING_NUMBER_2
              description: The bank routing number.
            - type: string
              enum:
                - ROUTING_NUMBER_3
              description: The bank routing number.
            - type: string
              enum:
                - SWIFT_CODE
              description: The bank swift code.
            - type: string
              enum:
                - BRANCH_CODE
              description: Branch code.
            - type: string
              enum:
                - INTERMEDIARY_SWIFT_CODE
              description: Swift code.
            - type: string
              enum:
                - BBAN
              description: BBAN.
            - type: string
              enum:
                - BBAN_ENCRYPTED
              description: BBAN enrypted.
            - type: string
              enum:
                - BBAN_HMAC
              description: BBAN HMAC.
            - type: string
              enum:
                - AGGREGATOR_YODLEE
              description: Aggregator Yodlee.
        value:
          description: The value of account identifier.
          type: string
          minLength: 1
          maxLength: 125
          pattern: ^[A-Za-z0-9-_.+/ =]+
    identifier_list:
      type: array
      description: An array of instrument institute attributes. Used with the account
        number to uniquely identify the instrument. Value is:<ul><li>For banks
        with IBAN information, the IBAN number.</li><li>For banks with BBAN
        information, the BBAN number.</li><li>For banks with both IBAN and BBAN
        information, the IBAN number.</li></ul>
      items:
        $ref: "#/components/schemas/identifier"
      minItems: 0
      maxItems: 20
    individual_beneficial_owner:
      allOf:
        - $ref: "#/components/schemas/person"
        - properties:
            percentage_of_ownership:
              description: The percentage of shares this person owns in the company.
              $ref: "#/components/schemas/percentage"
        - title: Individual_beneficial_owner
          description: The individual owner of the account.
    individual_beneficial_owner_list:
      description: Individual beneficial owners.
      type: array
      items:
        $ref: "#/components/schemas/individual_beneficial_owner"
      minItems: 0
      maxItems: 5
    individual_owner:
      allOf:
        - $ref: "#/components/schemas/person"
        - properties:
            type:
              description: The actual role of this user on the account, PRIMARY/SECONDARY.
              $ref: "#/components/schemas/individual_owner_type"
        - title: Individual_owner
          description: The individual owner of the account.
    individual_owner_list:
      description: List of owners in the account. There should be only one primary
        account owner which is mentioned in their role_type.
      type: array
      items:
        $ref: "#/components/schemas/individual_owner"
      minItems: 0
      maxItems: 2
    individual_owner_type:
      description: Role of the person party played in the account.
      title: Individual owner role type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - PRIMARY
      oneOf:
        - type: string
          enum:
            - PRIMARY
          description: Primary account holder.
    integration_details:
      type: object
      title: Integration Details
      description: The integration details for the partner and customer relationship.
        Required if `operation` is `API_INTEGRATION`.
      properties:
        classic_api_integration:
          $ref: "#/components/schemas/classic_api_integration"
        rest_api_integration:
          $ref: "#/components/schemas/rest_api_integration"
    labels:
      type: string
      description: A document label.
    labels_list:
      type: array
      items:
        $ref: "#/components/schemas/labels"
      minItems: 1
      maxItems: 50
      description: The document labels. A document could be classfied to multiple
        categories. For example, a bill document can be classfified as `BILL
        DOCUMENT` and `UTILITY DOCUMENT`.
    language:
      type: string
      description: The [language tag](https://tools.ietf.org/html/bcp47#section-2) for
        the language in which to localize the error-related strings, such as
        messages, issues, and suggested actions. The tag is made up of the [ISO
        639-2 language
        code](https://www.loc.gov/standards/iso639-2/php/code_list.php), the
        optional [ISO-15924 script
        tag](https://www.unicode.org/iso15924/codelists.html), and the [ISO-3166
        alpha-2 country code](/docs/integration/direct/rest/country-codes/).
      format: ppaas_common_language_v3
      maxLength: 10
      minLength: 2
      pattern: ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}))?$
    legal_consent:
      type: object
      title: Legal Consent
      description: The customer-provided consent.
      properties:
        type:
          type: string
          description: The type of consent. `SHARE_DATA_CONSENT` gives consent to you to
            share your customer's data with PayPal.
          pattern: ^[0-9A-Z_-]+$
          minLength: 1
          maxLength: 127
          enum:
            - SHARE_DATA_CONSENT
          oneOf:
            - type: string
              enum:
                - SHARE_DATA_CONSENT
              description: The consent given by the customer to share their data with paypal.
        granted:
          type: boolean
          description: Indicates whether the customer agreed to share this type of data.
            To give consent, specify `true`. To withhold consent, specify
            `false`.
      required:
        - type
        - granted
    legal_consent_list:
      type: array
      description: An array of all consents that the partner has received from this
        seller. If `SHARE_DATA_CONSENT` is not granted, PayPal does not store
        customer data.
      items:
        $ref: "#/components/schemas/legal_consent"
      minItems: 1
      maxItems: 5
    link_description:
      type: object
      title: Link Description
      description: The request-related [HATEOAS
        link](/docs/api/reference/api-responses/#hateoas-links) information.
      required:
        - href
        - rel
      properties:
        href:
          type: string
          description: The complete target URL. To make the related call, combine the
            method with this [URI
            Template-formatted](https://tools.ietf.org/html/rfc6570) link. For
            pre-processing, include the `$`, `(`, and `)` characters. The `href`
            is the key HATEOAS component that links a completed call with a
            subsequent call.
        rel:
          type: string
          description: The [link relation
            type](https://tools.ietf.org/html/rfc5988#section-4), which serves
            as an ID for a link that unambiguously describes the semantics of
            the link. See [Link
            Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).
        method:
          type: string
          description: The HTTP method required to make the related call.
          enum:
            - GET
            - POST
            - PUT
            - DELETE
            - HEAD
            - CONNECT
            - OPTIONS
            - PATCH
    link_description_list:
      type: array
      items:
        $ref: "#/components/schemas/link_description"
      readOnly: true
      minItems: 1
      maxItems: 10
      description: The HATEOAS links.
    mandate:
      type: object
      title: Mandate
      description: Seller’s consent to operate on this financial instrument.
      additionalProperties: false
      properties:
        accepted:
          type: boolean
          description: Whether mandate was accepted or not.
      required:
        - accepted
    money:
      type: object
      title: Money
      description: The currency and amount for a financial transaction, such as a
        balance or payment due.
      properties:
        currency_code:
          $ref: "#/components/schemas/currency_code"
        value:
          type: string
          description: The value, which might be:<ul><li>An integer for currencies like
            `JPY` that are not typically fractional.</li><li>A decimal fraction
            for currencies like `TND` that are subdivided into
            thousandths.</li></ul>For the required number of decimal places for
            a currency code, see [Currency
            Codes](/docs/integration/direct/rest/currency-codes/).
          maxLength: 32
          pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
      required:
        - currency_code
        - value
    name:
      type: object
      title: Name
      description: The name of the party.
      properties:
        prefix:
          type: string
          description: The prefix, or title, to the party's name.
          maxLength: 140
        given_name:
          type: string
          description: When the party is a person, the party's given, or first, name.
          maxLength: 140
        surname:
          type: string
          description: When the party is a person, the party's surname or family name.
            Also known as the last name. Required when the party is a person.
            Use also to store multiple surnames including the matronymic, or
            mother's, surname.
          maxLength: 140
        middle_name:
          type: string
          description: When the party is a person, the party's middle name. Use also to
            store multiple middle names including the patronymic, or father's,
            middle name.
          maxLength: 140
        suffix:
          type: string
          description: The suffix for the party's name.
          maxLength: 140
        full_name:
          type: string
          description: When the party is a person, the party's full name.
          maxLength: 300
    office_bearer:
      allOf:
        - $ref: "#/components/schemas/person"
        - properties:
            role:
              description: The role of the office bearer in the company.
              $ref: "#/components/schemas/office_bearer_role"
        - title: Office_bearer
          description: The office bearers of the account.
    office_bearer_list:
      description: List of Directors present as part of the business entity.
      type: array
      items:
        $ref: "#/components/schemas/office_bearer"
      minItems: 0
      maxItems: 5
    office_bearer_role:
      description: Role of the person party played in the business.
      title: Role type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - CEO
        - CHAIRMAN
        - DIRECTOR
        - SECRETARY
        - TREASURER
        - TRUSTEE
      oneOf:
        - type: string
          enum:
            - CEO
          description: "The ceo. "
        - type: string
          enum:
            - CHAIRMAN
          description: "The chairman. "
        - type: string
          enum:
            - DIRECTOR
          description: Director of the business
        - type: string
          enum:
            - SECRETARY
          description: "The secretary. "
        - type: string
          enum:
            - TREASURER
          description: "The treasurer. "
        - type: string
          enum:
            - TRUSTEE
          description: "The trustee. "
    offline_onboarding_preference:
      type: object
      title: Offline Oboarding Preference
      description: The preference details for offline onboarding without UI.
      properties: {}
    operation:
      type: object
      title: Operation
      description: The required operation to share data.
      properties:
        operation:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_-]+$
          description: The operation to enable for the customer. To enable the collection
            of the API permissions that you require to integrate with the
            customer, specify `API_INTEGRATION`. `BANK_ADDITION` is supported
            only for the US.
          enum:
            - API_INTEGRATION
            - BANK_ADDITION
            - BILLING_AGREEMENT
            - CONTEXTUAL_MARKETING_CONSENT
            - OFFLINE_ONBOARDING
            - SALESFORCE_REFERRAL
          oneOf:
            - type: string
              enum:
                - API_INTEGRATION
              description: The operation used by partner request permission for customers api
                access.
            - type: string
              enum:
                - BANK_ADDITION
              description: Captured state of an order.
            - type: string
              enum:
                - BILLING_AGREEMENT
              description: The operation to create a billing agreement.
            - type: string
              enum:
                - CONTEXTUAL_MARKETING_CONSENT
              description: The operation to create a contextual marketing consent.
            - type: string
              enum:
                - OFFLINE_ONBOARDING
              description: The operation to create merchant account using referral data
                without UIs.
            - type: string
              enum:
                - SALESFORCE_REFERRAL
              description: The operation to be used to distinguish traffic coming from
                Salesforce.
        api_integration_preference:
          $ref: "#/components/schemas/integration_details"
        offline_onboarding_preference:
          $ref: "#/components/schemas/offline_onboarding_preference"
        billing_agreement:
          $ref: "#/components/schemas/billing_agreement"
      required:
        - operation
    operation_list:
      type: array
      description: An array of operations to perform for the customer while they share
        their data.
      items:
        $ref: "#/components/schemas/operation"
      minItems: 1
      maxItems: 5
    partner_config_override:
      type: object
      title: Partner Configuration Override
      description: The preference to customize the web experience of the customer by
        overriding that is set at the Partner's Account.
      additionalProperties: false
      properties:
        return_url:
          type: string
          format: uri
          description: The URL to which to redirect the customer upon completion of the
            onboarding process.
          minLength: 1
          maxLength: 127
        return_url_description:
          type: string
          description: The description of the return URL.
          minLength: 1
          maxLength: 127
          pattern: ^.+$
        show_add_credit_card:
          type: boolean
          description: Indicates whether to show an add credit card page.
    payout_attributes:
      type: object
      title: Payout Attributes
      additionalProperties: false
      description: Payout specific attributes.
      properties:
        marketplace:
          type: boolean
          description: If `true`, specifies that the merchant or platform is offering
            goods or services on behalf of 3rd party sellers.
        kyc_required:
          type: boolean
          description: If `true`, specifies that the Kyc is required for the merchant.
        country_transfer_method_currency_selection:
          $ref: "#/components/schemas/country_transfer_method_currency_selection_list"
    percentage:
      type: string
      description: The percentage, as a fixed-point, signed decimal number. For
        example, define a 19.99% interest rate as `19.99`.
      format: ppaas_common_percentage_v2
      pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
    person:
      title: Person
      description: Details of the person or party.
      properties:
        id:
          description: The encrypted party ID.
          type: string
          readOnly: true
          minLength: 1
          maxLength: 20
          pattern: ^[0-9A-Z]+$
        names:
          $ref: "#/components/schemas/person_name_list"
        citizenship:
          description: The citizenship country code of the person.
          $ref: "#/components/schemas/country_code"
        addresses:
          $ref: "#/components/schemas/person_address_detail_list"
        phones:
          $ref: "#/components/schemas/person_phone_detail_list"
        birth_details:
          description: The person's birth details.
          $ref: "#/components/schemas/birth_details"
        documents:
          $ref: "#/components/schemas/person_document_list"
    person_address_detail:
      allOf:
        - $ref: "#/components/schemas/address_portable"
        - properties:
            type:
              description: The address type under which this is classified.
              $ref: "#/components/schemas/person_address_type"
        - type: object
          title: Person address detail
          description: A simple postal address with coarse-grained fields.
          required:
            - type
    person_address_detail_list:
      description: The list of addresses associated with the person.
      type: array
      items:
        $ref: "#/components/schemas/person_address_detail"
      minItems: 0
      maxItems: 5
    person_address_type:
      description: The address type under which the provided address is tagged.
      title: Person address type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - HOME
      oneOf:
        - type: string
          enum:
            - HOME
          description: The home address of the customer.
    person_document:
      allOf:
        - $ref: "#/components/schemas/document"
        - properties:
            type:
              description: The actual type of the document. It could be `ID_CARD`, `PASSPORT`,
                etc.
              $ref: "#/components/schemas/person_document_type"
        - title: Person document
          description: The documents associated with the person.
    person_document_list:
      description: A person's or party's related document data collected from the
        customer. For example SSN, ITIN, or business registration number
        collected from the user. <blockquote><strong>Note:</strong> This field
        is not applicable for POST
        [/v2/customer/partner-referrals](/docs/api/partner-referrals/v2/#partner-referrals_create)
        API calls.</blockquote>
      type: array
      items:
        $ref: "#/components/schemas/person_document"
      minItems: 0
      maxItems: 20
    person_document_type:
      type: string
      title: Document type
      description: The type of documents.
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - SOCIAL_SECURITY_NUMBER
        - EMPLOYMENT_IDENTIFICATION_NUMBER
        - TAX_IDENTIFICATION_NUMBER
        - PASSPORT_NUMBER
        - PENSION_FUND_ID
        - MEDICAL_INSURANCE_ID
        - CNPJ
        - CPF
        - PAN
        - NATIONAL_ID_CARD
      oneOf:
        - type: string
          enum:
            - SOCIAL_SECURITY_NUMBER
          description: A social security number.
        - type: string
          enum:
            - EMPLOYMENT_IDENTIFICATION_NUMBER
          description: The employee identification number.
        - type: string
          enum:
            - TAX_IDENTIFICATION_NUMBER
          description: A tax identification number.
        - type: string
          enum:
            - PASSPORT_NUMBER
          description: The passport number.
        - type: string
          enum:
            - PENSION_FUND_ID
          description: A pension fund ID.
        - type: string
          enum:
            - MEDICAL_INSURANCE_ID
          description: The medical insurance ID.
        - type: string
          enum:
            - CNPJ
          description: The identification number issued to Brazilian companies by the
            Department of Federal Revenue of Brazil.
        - type: string
          enum:
            - CPF
          description: A Brazilian individual's taxpayer registry identification number.
        - type: string
          enum:
            - PAN
          description: The permanent account number issued by the Indian Income Tax
            Department.
        - type: string
          enum:
            - NATIONAL_ID_CARD
          description: A National ID card number.
    person_name:
      allOf:
        - $ref: "#/components/schemas/name"
        - properties:
            type:
              description: "The type of name. Currently supported values are: `LEGAL`."
              $ref: "#/components/schemas/person_name_type"
        - type: object
          title: Person name
          description: The name of the person.
          required:
            - type
    person_name_list:
      description: The name of the person.
      type: array
      items:
        $ref: "#/components/schemas/person_name"
      minItems: 0
      maxItems: 5
    person_name_type:
      description: The person's name type.
      title: Person name type
      type: string
      pattern: ^[0-9A-Z_]+$
      minLength: 1
      maxLength: 255
      enum:
        - LEGAL
      oneOf:
        - type: string
          enum:
            - LEGAL
          description: Indicates that this name is the legal name of the user.
    person_phone_detail:
      allOf:
        - $ref: "#/components/schemas/phone"
        - properties:
            type:
              $ref: "#/components/schemas/phone_type"
              description: The type of phone number provided. For example, home, work, or
                mobile.
        - type: object
          title: Phone details
          description: The phone number, in its canonical international [E.164 numbering
            plan format](https://www.itu.int/rec/T-REC-E.164/en).
          required:
            - type
    person_phone_detail_list:
      description: The list of phone numbers associated with the person.
      type: array
      items:
        $ref: "#/components/schemas/person_phone_detail"
      minItems: 0
      maxItems: 5
    phone:
      type: object
      title: Phone
      description: The phone number in its canonical international [E.164 numbering
        plan format](https://www.itu.int/rec/T-REC-E.164/en).
      properties:
        country_code:
          type: string
          description: The country calling code (CC), in its canonical international
            [E.164 numbering plan
            format](https://www.itu.int/rec/T-REC-E.164/en). The combined length
            of the CC and the national number must not be greater than 15
            digits. The national number consists of a national destination code
            (NDC) and subscriber number (SN).
          minLength: 1
          maxLength: 3
          pattern: ^[0-9]{1,3}?$
        national_number:
          type: string
          description: The national number, in its canonical international [E.164
            numbering plan format](https://www.itu.int/rec/T-REC-E.164/en). The
            combined length of the country calling code (CC) and the national
            number must not be greater than 15 digits. The national number
            consists of a national destination code (NDC) and subscriber number
            (SN).
          minLength: 1
          maxLength: 14
          pattern: ^[0-9]{1,14}?$
        extension_number:
          type: string
          description: The extension number.
          minLength: 1
          maxLength: 15
          pattern: ^[0-9]{1,15}?$
      required:
        - country_code
        - national_number
    phone_type:
      type: string
      title: Phone Type
      description: The phone type.
      enum:
        - FAX
        - HOME
        - MOBILE
        - OTHER
        - PAGER
      oneOf:
        - type: string
          enum:
            - FAX
          description: A fax machine.
        - type: string
          enum:
            - HOME
          description: A home phone.
        - type: string
          enum:
            - MOBILE
          description: A mobile phone.
        - type: string
          enum:
            - OTHER
          description: Other.
        - type: string
          enum:
            - PAGER
          description: A pager.
    product:
      type: string
      description: The PayPal product for which the customer is onboarded.
      title: Product Name
      minLength: 1
      maxLength: 127
      pattern: ^[0-9A-Z_-]+$
      enum:
        - ALIPAY
        - BANCONTACT
        - BLIK
        - EPS
        - PPCP
        - EXPRESS_CHECKOUT
        - PAYMENT_METHODS
        - ADVANCED_VAULTING
        - IDEAL
        - MB_WAY
        - MULTIBANCO
        - PAYPAL_COMMERCE_PLATFORM_BUSINESS
        - PPPLUS
        - PRZELEWY24
        - SATISPAY
        - TRUSTLY
        - WECHAT_PAY
        - WEBSITE_PAYMENT_PRO
        - ZETTLE
        - PAYPAL_COMMERCE_PLATFORM_BUSINESS
        - HYPERWALLET_PAYOUTS
        - CRYPTO_PYMTS
      oneOf:
        - type: string
          enum:
            - ALIPAY
          description: Alipay is a China-based payment method that allows customers to
            complete transactions online using their Alipay wallet. Include only
            if Alipay alone is required. You can use PPCP if all features are
            required.
        - type: string
          enum:
            - BANCONTACT
          description: Bancontact is a Belgium-based payment method that allows customers
            to complete transactions online using their bank credentials.
            Include only if Bancontact alone is required. You can use PPCP if
            all features are required.
        - type: string
          enum:
            - BLIK
          description: Blik is a Poland-based payment method that allows customers to
            complete transactions online using their bank credentials. Include
            only if Blik alone is required. You can use PPCP if all features are
            required.
        - type: string
          enum:
            - EPS
          description: EPS is an Austria-based payment method that allows customers to
            complete transactions online using their bank credentials. Include
            only if EPS alone is required. You can use PPCP if all features are
            required.
        - type: string
          enum:
            - PPCP
          description: PayPal Complete Payments product, which includes Express Checkout,
            advanced credit and debit card payments, Apple Pay, and Google Pay.
            Use PPCP if all features are required.
        - type: string
          enum:
            - EXPRESS_CHECKOUT
          description: Express checkout product.
        - type: string
          enum:
            - PAYMENT_METHODS
          description: PayPal Alternative Payment Methods product. Include only if Apple
            Pay or Google Pay or both are required alone. You can use PPCP if
            all features are required.
        - type: string
          enum:
            - ADVANCED_VAULTING
          description: PayPal Advanced Vaulting product. Must be requested along with
            either EXPRESS_CHECKOUT or PPCP. Include only if ADVANCED_VAULTING
            alone is required. You can use PPCP if all features are required.
        - type: string
          enum:
            - IDEAL
          description: iDEAL is a Netherlands-based payment method that allows customers
            to complete transactions online using their bank credentials.
            Include only if iDEAL alone is required. You can use PPCP if all
            features are required.
        - type: string
          enum:
            - MB_WAY
          description: MB Way is a Portugal-based payment method that allows customers to
            complete transactions online using their MB Way wallet. Include only
            if MB Way alone is required. You can use PPCP if all features are
            required.
        - type: string
          enum:
            - MULTIBANCO
          description: Multibanco is a Portugal-based payment method that allows customers
            to complete transactions online using their bank credentials or pay
            in cash at a bank branch. Include only if Multibanco alone is
            required. You can use PPCP if all features are required.
        - type: string
          enum:
            - PAYPAL_COMMERCE_PLATFORM_BUSINESS
          description: PayPal PayIn product.
        - type: string
          enum:
            - PPPLUS
          description: PayPal PLUS product.
        - type: string
          enum:
            - PRZELEWY24
          description: Przelewy24 is a Poland-based payment method that allows customers
            to complete transactions online. Include only if Przelewy24 alone is
            required. You can use PPCP if all features are required.
        - type: string
          enum:
            - SATISPAY
          description: Satispay is an Italy-based payment method that allows customers to
            complete transactions online using their bank credentials. Include
            only if Satispay alone is required. You can use PPCP if all features
            are required.
        - type: string
          enum:
            - TRUSTLY
          description: Trustly is a payment method that allows customers from (Austria
            (AT), Germany (DE), Denmark (DK), Estonia (EE), Spain (ES), Finland
            (FI), Great Britain (GB), Lithuania (LT), Latvia (LV), Netherlands
            (NL), Norway (NO), Sweden (SE)) to complete transactions online
            using their bank credentials. Include only if Trustly alone is
            required. You can use PPCP if all features are required.
        - type: string
          enum:
            - WECHAT_PAY
          description: WeChat Pay is a China-based payment method that allows customers to
            complete transactions online using their WeChat Pay wallet. Include
            only if WeChat Pay alone is required. You can use PPCP if all
            features are required.
        - type: string
          enum:
            - WEBSITE_PAYMENT_PRO
          description: PayPal Professional product.
        - type: string
          enum:
            - ZETTLE
          description: PayPal Zettle in-person payments product.
        - type: string
          enum:
            - PAYPAL_COMMERCE_PLATFORM_BUSINESS
          description: PayPal PayIn product.
        - type: string
          enum:
            - HYPERWALLET_PAYOUTS
          description: Hyperwallet payouts product
        - type: string
          enum:
            - CRYPTO_PYMTS
          description: Crypto payments product
    product_list:
      type: array
      description: An array of PayPal products to which the partner wants to onboard
        the customer.
      items:
        $ref: "#/components/schemas/product"
      minItems: 1
      maxItems: 5
    purpose_code_enum:
      type: string
      title: Purpose Code
      description: The purpose code. Required only for India. For more information,
        see the Reserve Bank Of India web site. Value
        is:<ul><li><code>P0104</code>. Cross border delivery of goods and
        services.</li><li><code>P0301</code>. Business related travel
        purchase.</li><li><code>P0801</code>. Hardware
        consulting.</li><li><code>P0802</code>. Software
        consulting.</li><li><code>P0803</code>. Data processing
        consulting.</li><li><code>P0805</code>. Freelance
        journalism.</li><li><code>P0806</code>. Other information
        services.</li><li><code>P0902</code>. Licensing
        revenues.</li><li><code>P1004</code>. Legal.</li><li><code>P1005</code>.
        Accounting and tax.</li><li><code>P1006</code>. Business and management
        consultancy.</li><li><code>P1007</code>. Advertising and market
        research.</li><li><code>P1008</code>. Research and
        development.</li><li><code>P1009</code>. Architectural
        services.</li></ul>
      minLength: 1
      maxLength: 50
      pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_ ])+$
      enum:
        - P0104
        - P0301
        - P0801
        - P0802
        - P0803
        - P0805
        - P0806
        - P0902
        - P1004
        - P1005
        - P1006
        - P1007
        - P1008
        - P1009
      oneOf:
        - type: string
          enum:
            - P0104
          description: Cross border delivery of goods and services.
        - type: string
          enum:
            - P0301
          description: Business related travel purchase.
        - type: string
          enum:
            - P0801
          description: Hardware consulting.
        - type: string
          enum:
            - P0802
          description: Software consulting.
        - type: string
          enum:
            - P0803
          description: " Data processing consulting."
        - type: string
          enum:
            - P0805
          description: Freelance journalism.
        - type: string
          enum:
            - P0806
          description: Other information services.
        - type: string
          enum:
            - P0902
          description: Licensing revenues.
        - type: string
          enum:
            - P1004
          description: Legal.
        - type: string
          enum:
            - P1005
          description: Accounting and tax.
        - type: string
          enum:
            - P1006
          description: Business and management consultancy.
        - type: string
          enum:
            - P1007
          description: Advertising and market research.
        - type: string
          enum:
            - P1008
          description: Research and development.
        - type: string
          enum:
            - P1009
          description: Architectural services.
    referral_data:
      type: object
      title: Customer Data
      description: The customer's referral data that partners share with PayPal.
      allOf:
        - description: The common account model representing the basic account structure.
          $ref: "#/components/schemas/account"
        - properties:
            email:
              description: Email address of the customer used to create the account.
              $ref: "#/components/schemas/email_address"
            preferred_language_code:
              description: The preferred [locale code](/docs/api/reference/locale-codes/) to
                use in the onboarding flow for the customer.
              $ref: "#/components/schemas/language"
            tracking_id:
              type: string
              description: The partner's unique identifier for this customer in their system
                which can be used to track user in PayPal.
              minLength: 1
              maxLength: 127
            partner_config_override:
              description: The configuration property that the partner intends to override for
                this onboarding request.
              $ref: "#/components/schemas/partner_config_override"
            financial_instruments:
              description: Array of financial instruments attached to the customer's account.
              $ref: "#/components/schemas/financial_instruments"
            operations:
              $ref: "#/components/schemas/operation_list"
            products:
              $ref: "#/components/schemas/product_list"
            capabilities:
              $ref: "#/components/schemas/capabilities_list"
            outside_process_dependencies:
              $ref: "#/components/schemas/dependent_process_list"
            legal_consents:
              $ref: "#/components/schemas/legal_consent_list"
            payout_attributes:
              description: Payout specific attributes.
              $ref: "#/components/schemas/payout_attributes"
            legal_country_code:
              description: Legal Country Code.
              $ref: "#/components/schemas/country_code"
      required:
        - operations
        - legal_consents
    referral_data_response:
      type: object
      title: Referral Data Response
      description: The share referral data response.
      properties:
        partner_referral_id:
          type: string
          description: The ID to access the customer's data shared by the partner with
            PayPal.
          readOnly: true
          pattern: ^[A-Za-z0-9+/=]+$
          minLength: 1
          maxLength: 255
        submitter_payer_id:
          type: string
          description: The payer ID of the partner who shared the referral data.
          readOnly: true
          minLength: 1
          maxLength: 20
          pattern: ^[0-9A-Z]+$
        submitter_client_id:
          type: string
          description: The client ID of the partner who shared the referral data. This
            cliend ID will be returned only when the caller is determined as an
            internal partner, which means the scope of the caller's security
            context only have
            "https://uri.paypal.com/services/customer/partner-referrals", For
            more information, see <a
            href="https://github.paypal.com/Customers-R/partnselleronbnodeserv/blob/b0a631c43e80a4dd43d34c01f479c272b3287796/src/helpers/securityContextHelpers.js#L143">Api
            Actor type in Typhoon service</a>.
          readOnly: true
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9-_]+$
        referral_data:
          $ref: "#/components/schemas/referral_data"
        links:
          $ref: "#/components/schemas/referral_data_response_definitions-link_description\
            _list"
    referral_data_response_definitions-link_description_list:
      title: Links
      type: array
      description: An array of request-related [HATEOAS
        links](/docs/api/overview/#hateoas-links).
      readOnly: true
      items:
        $ref: "#/components/schemas/link_description"
      minItems: 0
      maxItems: 2
    rest_api_integration:
      type: object
      title: REST API Integration
      description: The integration details for PayPal REST endpoints.
      properties:
        integration_method:
          type: string
          description: The REST-credential integration method.
          default: PAYPAL
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_-]+$
          enum:
            - BRAINTREE
            - PAYPAL
            - SDK
          oneOf:
            - type: string
              enum:
                - BRAINTREE
              description: Braintree integration method.
            - type: string
              enum:
                - PAYPAL
              description: PayPal integration method.
            - type: string
              enum:
                - SDK
              description: Indicates that merchant onboarding will be done via the Embedded
                SDK.
        integration_channel:
          type: string
          description: The rest api integration channel.
          minLength: 1
          maxLength: 128
          pattern: ^[A-Z0-9_]+$
          enum:
            - DEFERRED_ONBOARDING
          oneOf:
            - type: string
              enum:
                - DEFERRED_ONBOARDING
              description: Partners referral merchants onboard with PayPal through the
                deferred onboarding flow.
        integration_type:
          type: string
          title: Integration Type
          description: The type of REST-endpoint integration. To integrate with Braintree
            v.zero for PayPal REST endpoints, specify `third_party_details`.
          minLength: 1
          maxLength: 255
          pattern: ^[0-9A-Z_-]+$
          enum:
            - FIRST_PARTY
            - THIRD_PARTY
          oneOf:
            - type: string
              enum:
                - FIRST_PARTY
              description: A first-party integration.
            - type: string
              enum:
                - THIRD_PARTY
              description: A third-party integration.
        first_party_details:
          $ref: "#/components/schemas/first_party_details"
        third_party_details:
          $ref: "#/components/schemas/third_party_details"
      required:
        - integration_type
    rest_api_integration_rest_endpoint_features_enum_list:
      type: array
      description: An array of features that partner can access, or use, in PayPal on
        behalf of the seller. The seller grants permission for these features to
        the partner.
      items:
        $ref: "#/components/schemas/rest_endpoint_features_enum"
      minItems: 0
      maxItems: 20
    rest_endpoint_features_enum:
      type: string
      title: REST Endpoint Features
      description: The REST endpoint.
      minLength: 1
      maxLength: 100
      pattern: ^[0-9A-Z_-]+$
      enum:
        - PAYOUTS
        - PAYMENT
        - REFUND
        - FUTURE_PAYMENT
        - DIRECT_PAYMENT
        - PARTNER_FEE
        - DELAY_FUNDS_DISBURSEMENT
        - READ_SELLER_DISPUTE
        - UPDATE_SELLER_DISPUTE
        - ADVANCED_TRANSACTIONS_SEARCH
        - SWEEP_FUNDS_EXTERNAL_SINK
        - ACCESS_MERCHANT_INFORMATION
        - TRACKING_SHIPMENT_READWRITE
        - INVOICE_READ_WRITE
        - DISPUTE_READ_BUYER
        - UPDATE_CUSTOMER_DISPUTES
        - VAULT
        - BILLING_AGREEMENT
        - WITHDRAWALS
        - LINKED_FINANCIAL_INSTRUMENTS
        - USER_PROFILE
        - TRANSACTION_RISK_DATA
        - PAYPAL_BALANCE
        - EXCHANGE_CURRENCY
        - SCREEN_CONTENT
        - SCREEN_CONTENT_DECISIONS
        - MEDIA_INVALIDATE_CACHE_READWRITE
        - MEDIA_DIGITALASSETS_READWRITE
        - MEDIA_DIGITALASSETS_DELETE
        - COMMERCE_ADMIN
      oneOf:
        - type: string
          enum:
            - PAYOUTS
          description: Payout feature.
        - type: string
          enum:
            - PAYMENT
          description: Payment feature.
        - type: string
          enum:
            - REFUND
          description: Refund feature.
        - type: string
          enum:
            - FUTURE_PAYMENT
          description: Future Payment feature.
        - type: string
          enum:
            - DIRECT_PAYMENT
          description: Direct Payment feature.
        - type: string
          enum:
            - PARTNER_FEE
          description: Partner fee feature.
        - type: string
          enum:
            - DELAY_FUNDS_DISBURSEMENT
          description: Delay funds disbursement feature.
        - type: string
          enum:
            - READ_SELLER_DISPUTE
          description: Read seller dispute feature.
        - type: string
          enum:
            - UPDATE_SELLER_DISPUTE
          description: update seller dispute feature.
        - type: string
          enum:
            - ADVANCED_TRANSACTIONS_SEARCH
          description: Advanced transaction search feature.
        - type: string
          enum:
            - SWEEP_FUNDS_EXTERNAL_SINK
          description: Sweep funds external sink feature.
        - type: string
          enum:
            - ACCESS_MERCHANT_INFORMATION
          description: Access merchant information feature.
        - type: string
          enum:
            - TRACKING_SHIPMENT_READWRITE
          description: Tracking Shipment readwrite feature.
        - type: string
          enum:
            - INVOICE_READ_WRITE
          description: Invoice readwrite feature.
        - type: string
          enum:
            - DISPUTE_READ_BUYER
          description: Read the buyer disputes.
        - type: string
          enum:
            - UPDATE_CUSTOMER_DISPUTES
          description: Update the buyer disputes.
        - type: string
          enum:
            - VAULT
          description: Manage the payment methods that my customers save.
        - type: string
          enum:
            - BILLING_AGREEMENT
          description: Obtain prior approval for future payments(billing agreements).
        - type: string
          enum:
            - WITHDRAWALS
          description: Execute a withdrawal and fetch details of a withdrawal
        - type: string
          enum:
            - LINKED_FINANCIAL_INSTRUMENTS
          description: Read and update linked financial instruments information.
        - type: string
          enum:
            - USER_PROFILE
          description: Read and update business and user information.
        - type: string
          enum:
            - TRANSACTION_RISK_DATA
          description: Read PayPal risk data from a transaction
        - type: string
          enum:
            - PAYPAL_BALANCE
          description: Read the merchant balance amount.
        - type: string
          enum:
            - EXCHANGE_CURRENCY
          description: Read the exchange currency rate for withdraw.
        - type: string
          enum:
            - SCREEN_CONTENT
          description: Allow user to screen media/text content.
        - type: string
          enum:
            - SCREEN_CONTENT_DECISIONS
          description: Fetch content moderation results.
        - type: string
          enum:
            - MEDIA_INVALIDATE_CACHE_READWRITE
          description: Invalidate media cache.
        - type: string
          enum:
            - MEDIA_DIGITALASSETS_READWRITE
          description: Allows uploading and searching of media.
        - type: string
          enum:
            - MEDIA_DIGITALASSETS_DELETE
          description: Allows deleting media.
        - type: string
          enum:
            - COMMERCE_ADMIN
          description: Permission to perform administrative functions using Commerce Admin
            APIs to manage store.
    rest_endpoint_features_enum_list:
      type: array
      description: An array of features that partner can access, or use, in PayPal on
        behalf of the seller. The seller grants permission for these features to
        the partner.
      items:
        $ref: "#/components/schemas/rest_endpoint_features_enum"
    signup_mode:
      type: string
      title: Signup Mode
      minLength: 1
      maxLength: 255
      description: Signup Mode to be used for sellers for third party integration.
      enum:
        - VERIFY_WITH_PAYPAL
      oneOf:
        - type: string
          enum:
            - VERIFY_WITH_PAYPAL
          description: Sign up mode that uses Verify with Paypal.
    third_party_details:
      type: object
      title: REST Third-Party Details
      description: The integration details for PayPal REST endpoints.
      properties:
        features:
          $ref: "#/components/schemas/rest_api_integration_rest_endpoint_features_enum_li\
            st"
        signup_mode:
          $ref: "#/components/schemas/signup_mode"
        organization:
          type: string
          description: The organization to which the account will belong in the partner’s
            hierarchy, as a path.
          minLength: 1
          maxLength: 127
          pattern: ^.*$
    transfer_method:
      type: object
      title: Requested transfer method and currency for a country
      additionalProperties: false
      description: Requested transfer method and currency for a country.
      properties:
        transfer_method_type:
          type: string
          description: Transfer Method type.
          pattern: ^[0-9A-Z_-]+$
          minLength: 1
          maxLength: 50
          enum:
            - BANK_ACCOUNT
            - PAYPAL
            - VENMO
            - WIRE_ACCOUNT
          oneOf:
            - type: string
              enum:
                - BANK_ACCOUNT
              description: Transfer method type- Bank Account
            - type: string
              enum:
                - PAYPAL
              description: Transfer method type- Bank Account
            - type: string
              enum:
                - VENMO
              description: Transfer method type- Bank Account
            - type: string
              enum:
                - WIRE_ACCOUNT
              description: Transfer method type- Bank Account
        currencies:
          $ref: "#/components/schemas/currency_code_list"
    transfer_method_list:
      type: array
      description: Requested transfer method and currency for a country.
      minItems: 1
      maxItems: 50
      items:
        $ref: "#/components/schemas/transfer_method"
  parameters:
    partner_referral_id:
      name: partner_referral_id
      in: path
      description: The ID of the partner-referrals data for which to show details.
      required: true
      schema:
        type: string
