openapi: 3.2.0
info:
  title: Partner Referrals
  description: <blockquote><strong>Deprecation notice:</strong> This integration
    method is deprecated. PayPal continues to support existing merchants using
    this method, but be advised that new features and enhancements will not be
    applied to these integrations. For details, see <a
    href="/docs/multiparty/seller-onboarding/">Onboard Sellers</a>.</blockquote>
    Partners can use the Partner Referrals API to add PayPal seller accounts
    using the <a href="/docs/platforms/seller-onboarding/before-payment/">before
    payment</a> onboarding model. With this API, you collect seller data and
    pass it to the account creation and setup forms, reducing the burden on
    sellers during the signup and setup process.
  version: "1.5"
paths:
  /v1/customer/partner-referrals:
    post:
      summary: Create partner referral
      description: Creates a partner referral that is shared by the API caller. The
        referrals contains the client's personal, business, and financial data.
      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/reference/api-responses/#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"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
      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
  /v1/customer/partner-referrals/{partner_referral_id}:
    get:
      summary: Show referral data
      description: Shows details for referral data, by ID, that was shared by the 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"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
      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
  /v1/customer/partners/{partner_id}/merchant-integrations:
    get:
      summary: List seller tracking information
      description: Lists sellers that a partner onboarded, by partner ID.
      operationId: merchant-integration.find
      responses:
        "200":
          description: A successful request returns the HTTP `200 OK` status code and a
            JSON response body that lists sellers. For each seller, the response
            shows the seller ID (`merchant_id`), the tracking ID, and [HATEOAS
            links](/docs/api/reference/api-responses/#hateoas-links) to show the
            seller-partner information.
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
      parameters:
        - $ref: "#/components/parameters/partner_id"
        - $ref: "#/components/parameters/tracking_id"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - merchant-integration
  /v1/customer/partners/{partner_id}/merchant-integrations/{merchant_id}:
    get:
      summary: Show seller status
      description: Shows status information for sellers that the partner on-boards, by
        partner ID.
      operationId: merchant-integration.status
      responses:
        "200":
          description: A successful request returns the HTTP `200 OK` status code and a
            JSON response body that shows status details.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/merchant-integration"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
      parameters:
        - $ref: "#/components/parameters/partner_id"
        - $ref: "#/components/parameters/merchant_id"
        - $ref: "#/components/parameters/fields"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - merchant-integration
  /v1/customer/partners/{partner_id}/merchant-integrations/credentials:
    get:
      summary: Fetch merchant credentials
      description: Fetches merchant credentials for a merchant onboarded through
        downloadable cart flow.
      operationId: merchant-integration.credentials
      responses:
        "200":
          description: A successful request returns the HTTP `200 OK` status code and a
            JSON response body that shows merchant credentials.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/merchant-integration.credentials"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error"
      parameters:
        - $ref: "#/components/parameters/partner_id"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - merchant-integration
  /v1/customer/partners/{id}:
    get:
      summary: Show partner information - agreements and preferences
      description: Shows partner information - agreements and preferences - by partner ID.
      operationId: partner.read
      responses:
        "200":
          description: A successful request returns the HTTP `200 OK` status code and a
            JSON response body that shows partner information.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/partner"
        "401":
          description: Authorization failed due to insufficient permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "404":
          description: The specified resource does not exist.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "500":
          description: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/country_code"
        - $ref: "#/components/parameters/product"
        - $ref: "#/components/parameters/content_type"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - partner
    post:
      summary: Create partner information - agreements and preferences
      description: Creates partner information - agreements and preferences - for the
        given partner.
      operationId: partner.create
      responses:
        "201":
          description: A successful request returns the HTTP `201 Created` status code and
            a JSON response body that contains an array of [HATEOAS
            links](/docs/api/reference/api-responses/#hateoas-links) that show
            the partner info.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/partner"
        "400":
          description: Request is not well-formed, syntactically incorrect, or violates
            schema.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "401":
          description: Authorization failed due to insufficient permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "500":
          description: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/content_type"
      requestBody:
        $ref: "#/components/requestBodies/partner"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - partner
    put:
      summary: Update partner information - agreements and preferences
      description: Updates partner information - agreements and preferences - for the
        given partner.
      operationId: partner.update
      responses:
        "204":
          description: The server has successfully executed the method, but there is no
            entity body to return.
        "400":
          description: Request is not well-formed, syntactically incorrect, or violates
            schema.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "401":
          description: Authorization failed due to insufficient permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "404":
          description: The specified resource does not exist.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        "500":
          description: An internal server error has occurred.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
        default:
          description: The error response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/error-2"
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/content_type"
      requestBody:
        $ref: "#/components/requestBodies/partner"
      security:
        - Oauth2:
            - https://uri.paypal.com/services/customer/partner
      tags:
        - partner
tags:
  - name: merchant-integration
    description: Enables you to get information about a seller-partner integration.
  - name: partner-referrals
    description: Enables you to create and get information about shared customer data.
  - name: partner-referral-link
    description: Links partner-referral data with a PayPal account.
  - name: cancel-onboarding
    description: Enables you to cancel an in-progress seller onboarding.
  - name: partner
    description: Enables you to create, update and read partner agreements and preferences.
  - name: merchant-management
    description: APIs for merchant management.
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:
  requestBodies:
    partner:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/partner"
      required: true
  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:
    account_capability:
      type: object
      title: Account Capability
      description: Capability associated with the account.
      properties:
        name:
          description: Name of the capability.
          $ref: "#/components/schemas/account_capability_names"
        status:
          description: The status of the capability.
          $ref: "#/components/schemas/account_capability_status"
        limits:
          $ref: "#/components/schemas/capability_limit_list"
    account_capability_list:
      type: array
      description: An array of capabilities associated with the products integrated
        between seller and partner.
      items:
        $ref: "#/components/schemas/account_capability"
    account_capability_names:
      type: string
      title: Capability Name
      description: The name of capability.
      minLength: 1
      maxLength: 255
      pattern: ^[0-9A-Z_]+$
      enum:
        - APPLE_PAY
        - SEND_INVOICE
        - ACCEPT_DONATIONS
        - ACCEPT_PYMTS_VIA_ALIPAY
        - ACCEPT_PYMTS_VIA_BANCONTACT
        - ACCEPT_PYMTS_VIA_BLIK
        - ACCEPT_PYMTS_VIA_EPS
        - ACCEPT_PYMTS_VIA_IDEAL
        - ACCEPT_PYMTS_VIA_MB_WAY
        - ACCEPT_PYMTS_VIA_MULTIBANCO
        - ACCEPT_PYMTS_VIA_PRZELEWY24
        - ACCEPT_PYMTS_VIA_SATISPAY
        - ACCEPT_PYMTS_VIA_TRUSTLY
        - ACCEPT_PYMTS_VIA_WECHAT_PAY
        - GOOGLE_PAY
        - CARD_PROCESSING_VIRTUAL_TERMINAL
        - AMEX_OPTBLUE
        - CUSTOM_CARD_PROCESSING
        - FRAUD_TOOL_ACCESS
        - DEBIT_CARD_SWITCH
        - COMMERCIAL_ENTITY
        - GUEST_CHECKOUT
        - PAYPAL_CHECKOUT
        - SUBSCRIPTIONS
        - VENMO_PAY_PROCESSING
        - PAYPAL_CHECKOUT_ALTERNATIVE_PAYMENT_METHODS
        - QR_CODE
        - INSTALLMENTS
        - PAYPAL_CHECKOUT_PAY_WITH_PAYPAL_CREDIT
        - PAYPAL_WALLET_VAULTING_ADVANCED
        - WITHDRAW_FUNDS_TO_DOMESTIC_BANK
        - CHARITY
        - SMARTID_TOPUP
      oneOf:
        - type: string
          enum:
            - APPLE_PAY
          description: Enables Apple Pay capability. Supported only when PAYMENT_METHODS
            or PPCP, PAYMENT_METHODS is requested.
        - type: string
          enum:
            - SEND_INVOICE
          description: Enables users to request money by sending an invoice to another
            customer.
        - type: string
          enum:
            - ACCEPT_DONATIONS
          description: A tailored donations solution for individuals, businesses, and
            non-profit customers to accept one-time and recurring donations via
            a Donate button, shareable link, or QR code.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_ALIPAY
          description: Alipay is a China-based payment method that allows customers to
            complete transactions online using their Alipay wallet.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_BANCONTACT
          description: Bancontact is a Belgium-based payment method that allows customers
            to complete transactions online using their bank credentials.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_BLIK
          description: Blik is a Poland-based payment method that allows customers to
            complete transactions online using their bank credentials.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_EPS
          description: EPS is an Austria-based payment method that allows customers to
            complete transactions online using their bank credentials.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_IDEAL
          description: iDEAL is a Netherlands-based payment method that allows customers
            to complete transactions online using their bank credentials.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_MB_WAY
          description: MB Way is a Portugal-based payment method that allows customers to
            complete transactions online using their MB Way wallet.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_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.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_PRZELEWY24
          description: Przelewy24 is a Poland-based payment method that allows customers
            to complete transactions online.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_SATISPAY
          description: Satispay is an Italy-based payment method that allows customers to
            complete transactions online using their bank credentials.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_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.
        - type: string
          enum:
            - ACCEPT_PYMTS_VIA_WECHAT_PAY
          description: WeChat Pay is a China-based payment method that allows customers to
            complete transactions online using their WeChat Pay wallet.
        - type: string
          enum:
            - GOOGLE_PAY
          description: Receive unbranded card payments - Debit or Credit through Google Pay.
        - type: string
          enum:
            - CARD_PROCESSING_VIRTUAL_TERMINAL
          description: Enable merchant to receive direct credit card payment via
            phone/fax/mail. Merchant initiates transaction enters card into
            virtual terminal
        - type: string
          enum:
            - AMEX_OPTBLUE
          description: Enable merchant to accept AMEX. They can receive marketing
            communication from American express.
        - type: string
          enum:
            - CUSTOM_CARD_PROCESSING
          description: Receive direct credit card payment (card-not-present transactions)
        - type: string
          enum:
            - FRAUD_TOOL_ACCESS
          description: Access Fraud Protection tool (powered by Simility)
        - type: string
          enum:
            - DEBIT_CARD_SWITCH
          description: Receive debit card payment
        - type: string
          enum:
            - COMMERCIAL_ENTITY
          description: Merchant is considered as a commercial entity and hence needs to
            comply with the requirements and use the benefits, such as CE
            agreement and treatment on the credit card descriptor
        - type: string
          enum:
            - GUEST_CHECKOUT
          description: Merchant checkout feature that provides businesses the ability to
            accept payments from consumers without a PayPal account using a
            credit or debit card through PayPal.
        - type: string
          enum:
            - PAYPAL_CHECKOUT
          description: Receive credit card payment via inline /guest checkout
        - type: string
          enum:
            - SUBSCRIPTIONS
          description: Allow merchants to create stable, predictable income by offering
            subscription plans.
        - type: string
          enum:
            - VENMO_PAY_PROCESSING
          description: Receive Venmo pay
        - type: string
          enum:
            - PAYPAL_CHECKOUT_ALTERNATIVE_PAYMENT_METHODS
          description: Receive local payment methods specific to a buyer region (eg
            Giropay, Ideal, Sofort)
        - type: string
          enum:
            - QR_CODE
          description: Provide the Integrated QRC solution that is intended to be
            integrated with Partners who already provide payment acceptance via
            APMs directly to merchants.
        - type: string
          enum:
            - INSTALLMENTS
          description: Merchants can offer equal payment installment financing options as
            part of the revolving account.
        - type: string
          enum:
            - PAYPAL_CHECKOUT_PAY_WITH_PAYPAL_CREDIT
          description: PayPal Checkout - Pay with PayPal Credit.
        - type: string
          enum:
            - PAYPAL_WALLET_VAULTING_ADVANCED
          description: Enables the capability to Save payment methods. Supported only when
            one of PPCP and ADVANCED_VAULTING or EXPRESS_CHECKOUT and
            ADVANCED_VAULTING combination in the products array is requested.
        - type: string
          enum:
            - WITHDRAW_FUNDS_TO_DOMESTIC_BANK
          description: Withdraw money from their PayPal balance to a linked domestic bank
            account.
        - type: string
          enum:
            - CHARITY
          description: "Helps collect charity specific fields (eg: Business Registration
            Number and Country of primary operation) of the user and is
            applicable only for Merchants with 8398 MCC code."
        - type: string
          enum:
            - SMARTID_TOPUP
          description: Enables users to set PayPal as a recipient for transfers from their
            bank and top up their PayPal balance.
    account_capability_names_list:
      type: array
      description: An array of the capability names bundled in the parent product.
      items:
        $ref: "#/components/schemas/account_capability_names"
    account_capability_status:
      title: Capability Status
      description: Status of the account capability.
      type: string
      readOnly: true
      pattern: ^[A-Z_]+$
      minLength: 1
      maxLength: 64
      enum:
        - ACTIVE
        - SUSPENDED
        - REVOKED
        - APPROVED
        - NEED_DATA
        - DENY
        - IN_REVIEW
        - INACTIVE
        - PENDING
      oneOf:
        - type: string
          enum:
            - ACTIVE
          description: The capability is enabled for the account and can be used.
        - type: string
          enum:
            - SUSPENDED
          description: The capability can no longer be used, but there are remediation
            steps to regain access to the corresponding functionality.
        - type: string
          enum:
            - REVOKED
          description: The capability can no longer be used and there are no remediation
            steps available to regain the functionality.
        - type: string
          enum:
            - APPROVED
          description: The capability is approved and could be enabled. This capability
            can not be used currently.
        - type: string
          enum:
            - NEED_DATA
          description: Need details or documents required to enable this capability.
        - type: string
          enum:
            - DENY
          description: The request to enable this capability is Denied by Policy Systems.
        - type: string
          enum:
            - IN_REVIEW
          description: The capability request is in review by policy system. This
            capability can not be used currently.
        - type: string
          enum:
            - INACTIVE
          description: The capability can no longer be used and to enable this capability,
            please request.
        - type: string
          enum:
            - PENDING
          description: The capability is in a pending state waiting for decision from
            policy systems.
    account_identifier:
      type: object
      title: Account Identifier
      description: The PayPal account ID of the partner.
      additionalProperties: false
      properties:
        type:
          type: string
          description: The type of ID for the account.
          enum:
            - PAYER_ID
        value:
          type: string
          description: The ID of the account.
      required:
        - type
        - value
    account_owner_relationship:
      type: object
      title: Seller Account Relationship
      additionalProperties: false
      description: The familial relationship of the seller account owner.
      properties:
        name:
          description: The name of the familial relation.
          $ref: "#/components/schemas/name"
        relation:
          type: string
          description: The type of familial relationship.
          enum:
            - MOTHER
          oneOf:
            - type: string
              enum:
                - MOTHER
              description: Maternal relationship.
        country_code_of_nationality:
          description: The nationality of the familial relation.
          $ref: "#/components/schemas/country_code"
      required:
        - name
        - relation
        - country_code_of_nationality
    account_owner_relationship_list:
      type: array
      description: An array of familial relationships that are attached to a seller.
      items:
        $ref: "#/components/schemas/account_owner_relationship"
    address:
      type: object
      title: Simple Postal Address (Coarse-Grained)
      description: A simple postal address with coarse-grained fields. Do not use for
        an international address. Use for backward compatibility only. Does not
        contain phone.
      properties:
        line1:
          type: string
          description: The first line of the address. For example, number or street.
        line2:
          type: string
          description: The second line of the address. For example, suite or apartment
            number.
        city:
          type: string
          description: The city name.
        state:
          type: string
          description: "The [code](/docs/integration/direct/rest/state-codes/) for a US
            state or the equivalent for other countries. Required for
            transactions if the address is in one of these countries:
            [Argentina](/docs/integration/direct/rest/state-codes/#argentina),
            [Brazil](/docs/integration/direct/rest/state-codes/#brazil),
            [Canada](/docs/integration/direct/rest/state-codes/#canada),
            [China](/docs/integration/direct/rest/state-codes/#china),
            [India](/docs/integration/direct/rest/state-codes/#india),
            [Italy](/docs/integration/direct/rest/state-codes/#italy),
            [Japan](/docs/integration/direct/rest/state-codes/#japan),
            [Mexico](/docs/integration/direct/rest/state-codes/#mexico),
            [Thailand](/docs/integration/direct/rest/state-codes/#thailand), or
            [United States](/docs/integration/direct/rest/state-codes/#usa).
            Maximum length is 40 single-byte characters."
        country_code:
          $ref: "#/components/schemas/country_code"
        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).
      required:
        - line1
        - city
        - country_code
    agreement_types:
      description: A partner-accepted agreement.
      enum:
        - VENDOR_SECURITY_POLICY_AGREEMENT
    agreement_types_list:
      type: array
      description: An array of partner-accepted agreements.
      items:
        $ref: "#/components/schemas/agreement_types"
    bank_details:
      type: object
      title: Bank Details
      description: The required information to add a card as a financial instrument to
        PayPal through onboarding.
      properties:
        nick_name:
          type: string
          description: The user-provided short name for the user's bank account.
        account_number:
          type: string
          description: The bank account number. These are numeric values only without any
            additional formatting.
          pattern: \d+
        account_type:
          type: string
          description: The type of account, which is checking or savings.
          enum:
            - CHECKING
            - SAVINGS
          oneOf:
            - type: string
              enum:
                - CHECKING
              description: Checking account.
            - type: string
              enum:
                - SAVINGS
              description: Savings accounts.
        currency_code:
          type: string
          description: The primary [three-character ISO-4217 currency
            code](/docs/api/reference/currency-codes/) for the account.
          pattern: ^([A-Z]){3}$
        identifiers:
          $ref: "#/components/schemas/identifier_list"
        branch_location:
          description: The branch location, if applicable.
          $ref: "#/components/schemas/address"
        mandate_agreed:
          type: boolean
          description: Indicates whether the user has agreed to the mandate for financial
            instrument (FI) authorization.
      required:
        - account_number
        - account_type
    bank_details_list:
      type: array
      description: An array of bank account details for the `ADD_BANK` capability.
      items:
        $ref: "#/components/schemas/bank_details"
    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.
        billing_experience_preference:
          $ref: "#/components/schemas/billing_experience_preference"
        merchant_custom_data:
          type: string
          description: The custom data for the billing agreement.
        approval_url:
          type: string
          format: uri
          description: The URL to which to redirect seller to accept the billing agreement.
        ec_token:
          type: string
          description: The billing agreement token for the agreement.
    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, which is returned
            from a [create web experience
            profile](/docs/api/payment-experience/v1/#web-profiles_create) call.
        billing_context_set:
          type: boolean
          description: Indicates whether the partner has already displayed the billing
            context to the seller.
    business:
      title: Business
      type: object
      description: Details of the business entity.
      properties:
        names:
          $ref: "#/components/schemas/definitions-business_name_list"
        phone_contacts:
          $ref: "#/components/schemas/business_definitions-phone_details_list"
        business_address:
          description: The address of the business.
          $ref: "#/components/schemas/address"
        business_type:
          type: string
          description: The type of business.
          items:
            $ref: "#/components/schemas/business_type_enum"
          minLength: 1
          maxLength: 128
        business_subtype:
          description: The sub classification of business type.
          $ref: "#/components/schemas/business_sub_type-2"
        category:
          type: string
          description: The customer's business category code. PayPal uses the industry
            standard seller category codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 50
        sub_category:
          type: string
          description: The customer's business subcategory code. PayPal uses the industry
            standard seller category codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 50
        merchant_category_code:
          type: string
          description: The customer's business seller category code. PayPal uses the
            industry standard seller category codes.
          pattern: ^\d+$
          minLength: 1
          maxLength: 50
        purpose_code:
          description: The account's purpose code.
          items:
            $ref: "#/components/schemas/purpose_code_enum"
        website_urls:
          $ref: "#/components/schemas/definitions-website_urls_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"
    business_beneficial_owner:
      title: Business_beneficial_owner
      description: The individual owner of the account.
      allOf:
        - $ref: "#/components/schemas/business"
        - properties:
            percentage_of_ownership:
              description: The percentage of shares this person owns in the company.
              type: string
              minLength: 1
              maxLength: 20
    business_beneficial_owner_list:
      description: Business beneficial owners.
      type: array
      items:
        $ref: "#/components/schemas/business_beneficial_owner"
      minItems: 0
      maxItems: 20
    business_definitions-phone_details_list:
      type: array
      description: An array of phone contacts for the business.
      items:
        $ref: "#/components/schemas/phone_details"
      minItems: 1
      maxItems: 20
    business_details:
      type: object
      title: Business Details
      description: The customer's business details.
      additionalProperties: false
      properties:
        phone_contacts:
          $ref: "#/components/schemas/definitions-phone_details_list"
        business_address:
          description: The address of the business.
          $ref: "#/components/schemas/address"
        business_type:
          type: string
          description: The type of business.
          items:
            $ref: "#/components/schemas/business_type_enum"
        business_subtype:
          $ref: "#/components/schemas/business_sub_type"
        category:
          type: string
          description: The customer's business category code. PayPal uses the industry
            standard seller category codes.
          pattern: ^\d+$
        sub_category:
          type: string
          description: The customer's business subcategory code. PayPal uses the industry
            standard seller category codes.
          pattern: ^\d+$
        merchant_category_code:
          type: string
          description: The customer's business seller category code. PayPal uses the
            industry standard seller category codes.
          pattern: ^\d+$
        purpose_code:
          description: The account's purpose code.
          items:
            $ref: "#/components/schemas/purpose_code_enum"
        names:
          $ref: "#/components/schemas/business_name_list"
        business_description:
          type: string
          description: The business goals description. For example, a mission statement.
        event_dates:
          $ref: "#/components/schemas/date_of_event_list"
        website_urls:
          $ref: "#/components/schemas/website_urls_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"
        identity_documents:
          $ref: "#/components/schemas/definitions-identity_document_list"
        email_contacts:
          $ref: "#/components/schemas/email_contact_list"
        country_of_incorporation:
          description: The country code of the country where the business was incorporated.
          $ref: "#/components/schemas/country_code"
        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"
    business_name:
      type: object
      title: Business Name
      description: A name for the business. For example, the legal name or the
        stock-trading name.
      additionalProperties: false
      properties:
        type:
          type: string
          description: The legal category of the business.
          enum:
            - LEGAL
            - DOING_BUSINESS_AS
            - STOCK_TRADING_NAME
        name:
          type: string
          description: The business name.
      required:
        - type
        - name
    business_name_list:
      type: array
      description: An array of business names.
      items:
        $ref: "#/components/schemas/business_name"
    business_sub_type:
      description: Sub classification of the business type.
      title: 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_sub_type-2:
      description: Sub classification of the business type.
      title: 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_enum:
      type: string
      title: Business Types
      description: The business type.
      minLength: 1
      maxLength: 255
      enum:
        - INDIVIDUAL
        - PROPRIETORSHIP
        - PARTNERSHIP
        - CORPORATION
        - NONPROFIT
        - GOVERNMENT
        - GENERAL_PARTNERSHIP
        - LIMITED_PARTNERSHIP
        - LIMITED_LIABILITY_PARTNERSHIP
        - PRIVATE_CORPORATION
        - PUBLIC_CORPORATION
        - PROPRIETORSHIP_CRAFTSMAN
        - PUBLIC_PARTNERSHIP
        - LIMITED_LIABILITY_PROPRIETORS
        - LIMITED_LIABILITY_PRIVATE_CORPORATION
        - LIMITED_PARTNERSHIP_PRIVATE_CORPORATION
        - PRIVATE_PARTNERSHIP
        - PROPRIETARY_COMPANY
        - PUBLIC_COMPANY
        - ASSOCIATION
        - REGISTERED_COOPERATIVE
        - OTHER_CORPORATE_BODY
        - ANY_OTHER_BUSINESS_ENTITY
        - ONLY_BUY_OR_SEND_MONEY
      oneOf:
        - type: string
          enum:
            - INDIVIDUAL
          description: "The individual. "
        - type: string
          enum:
            - PROPRIETORSHIP
          description: "The proprietorship. "
        - type: string
          enum:
            - PARTNERSHIP
          description: "The partnership. "
        - type: string
          enum:
            - CORPORATION
          description: "The corporation. "
        - type: string
          enum:
            - NONPROFIT
          description: "The nonprofit. "
        - type: string
          enum:
            - GOVERNMENT
          description: "The government. "
        - type: string
          enum:
            - GENERAL_PARTNERSHIP
          description: "The general partnership. "
        - type: string
          enum:
            - LIMITED_PARTNERSHIP
          description: "The limited partnership. "
        - type: string
          enum:
            - LIMITED_LIABILITY_PARTNERSHIP
          description: "The limited liability partnership. "
        - type: string
          enum:
            - PRIVATE_CORPORATION
          description: "The private corporation. "
        - type: string
          enum:
            - PUBLIC_CORPORATION
          description: "The public corporation. "
        - type: string
          enum:
            - PROPRIETORSHIP_CRAFTSMAN
          description: "The proprietorship craftsman. "
        - type: string
          enum:
            - PUBLIC_PARTNERSHIP
          description: "The public 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_PRIVATE_CORPORATION
          description: "The limited partnership private corporation. "
        - type: string
          enum:
            - PRIVATE_PARTNERSHIP
          description: "The private partnership. "
        - type: string
          enum:
            - PROPRIETARY_COMPANY
          description: "The proprietory company. "
        - type: string
          enum:
            - PUBLIC_COMPANY
          description: "The public company. "
        - type: string
          enum:
            - ASSOCIATION
          description: "The association. "
        - type: string
          enum:
            - REGISTERED_COOPERATIVE
          description: "Registered Co-operative. "
        - type: string
          enum:
            - OTHER_CORPORATE_BODY
          description: "The other corporate body. "
        - type: string
          enum:
            - ANY_OTHER_BUSINESS_ENTITY
          description: "The any other business entity. "
        - type: string
          enum:
            - ONLY_BUY_OR_SEND_MONEY
          description: "The only buy and send money. "
    capabilities:
      type: object
      title: Capability
      description: The required capability to share data.
      additionalProperties: false
      properties:
        capability:
          type: string
          description: The capability 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
        api_integration_preference:
          $ref: "#/components/schemas/integration_details"
        billing_agreement:
          $ref: "#/components/schemas/billing_agreement"
    capabilities_list:
      type: array
      description: An array of capabilities to enable for the customer while he or she
        shares the data.
      items:
        $ref: "#/components/schemas/capabilities"
    capability_limit:
      type: object
      title: Capability Limit
      description: Limit associated with the capability.
      properties:
        type:
          description: Type of the limit.
          $ref: "#/components/schemas/capability_limit_types"
    capability_limit_list:
      type: array
      description: An array of limitations on the capability.
      items:
        $ref: "#/components/schemas/capability_limit"
    capability_limit_types:
      type: string
      title: Limit Type
      description: The type of limit.
      minLength: 1
      maxLength: 255
      pattern: ^[0-9A-Z_]+$
      enum:
        - GENERAL
      oneOf:
        - type: string
          enum:
            - GENERAL
          description: It means that the customer has access to the capability, but the
            capability's functionality is limited due to certain policy
            thresholds or restrictions. This could be due to transaction limits,
            account balance requirements, or other policy-based restrictions.
    certificate:
      type: object
      title: Certificate
      description: A certificate for seller credentials.
      properties:
        api_user_name:
          type: string
          description: The API user name for the seller.
        api_password:
          type: string
          description: The API password for the seller.
        fingerprint:
          type: string
          description: The fingerprint.
        download_link:
          type: string
          description: The URL to download the certificate.
    country_code:
      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)$
    create_referral_data_response:
      type: object
      title: Create Referral Data Response
      description: The shared referral data.
      properties:
        links:
          $ref: "#/components/schemas/link_description_list"
    credential:
      type: object
      title: Credential
      description: Seller credentials.
      properties:
        signature:
          $ref: "#/components/schemas/signature"
        certificate:
          $ref: "#/components/schemas/certificate"
    currency:
      type: object
      title: Currency
      description: The [three-character ISO-4217 currency
        code](https://developer.paypal.com/docs/api/reference/currency-codes/).
      properties:
        currency:
          type: string
          description: The [three-character ISO-4217 currency
            code](/docs/api/reference/currency-codes/).
        value:
          type: string
          description: The amount, up to _`N`_ digits after the decimal separator. For
            currencies that do not support decimals, see [currency
            codes](/docs/api/reference/currency-codes/).
      required:
        - currency
        - value
    currency_range:
      type: object
      title: Currency Range
      description: The currency range, from the minimum inclusive amount to the
        maximum inclusive amount.
      properties:
        minimum_amount:
          description: The minimum inclusive amount for the range.
          $ref: "#/components/schemas/currency"
        maximum_amount:
          description: The maximum inclusive amount for the range.
          $ref: "#/components/schemas/currency"
    date_of_event:
      type: object
      title: Date of Event
      description: The date for an event type. Typically captured during onboarding.
      properties:
        event_type:
          $ref: "#/components/schemas/events_type"
        event_date:
          type: string
          description: The date portion of the date and time when the event occurred, in
            [Internet date and time
            format](https://tools.ietf.org/html/rfc3339#section-5.6). For
            accuracy, if you do not know the exact time zone, use the UTC time
            zone.
          format: date-time
      required:
        - event_type
        - event_date
    date_of_event_list:
      type: array
      description: An array of event dates for the business.
      items:
        $ref: "#/components/schemas/date_of_event"
    definitions-business_name_list:
      type: array
      description: An array of business names.
      items:
        $ref: "#/components/schemas/business_name"
      minItems: 1
      maxItems: 20
    definitions-error_details_list:
      type: array
      description: An array of additional details for the error.
      readOnly: true
      items:
        $ref: "#/components/schemas/error_details-3"
    definitions-identity_document_list:
      type: array
      description: An array of identity documents that uniquely identify the user. For
        example, a license number, social security number, and so on.
      items:
        $ref: "#/components/schemas/identity_document"
    definitions-phone_details_list:
      type: array
      description: An array of phone contacts for the business.
      items:
        $ref: "#/components/schemas/phone_details"
    definitions-website_urls_list:
      type: array
      description: An array of website URLs for the business.
      items:
        $ref: "#/components/schemas/website_urls"
      minLength: 1
      maxLength: 128
    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_contact:
      type: object
      title: Email Contact
      description: The email address. Includes the role of the email address.
      properties:
        email_address:
          $ref: "#/components/schemas/email_address"
        role:
          type: string
          description: The role of the email address.
          enum:
            - CUSTOMER_SERVICE
      required:
        - email_address
        - role
    email_contact_list:
      type: array
      description: An array of contact email addresses for the company.
      items:
        $ref: "#/components/schemas/email_contact"
    error:
      type: object
      title: Error
      description: The error details.
      properties:
        name:
          type: string
          description: The human-readable, unique name of the error.
        message:
          type: string
          description: The message that describes the error.
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
        information_link:
          type: string
          description: The information link, or URI, that shows detailed information about
            this error for the developer.
          readOnly: true
        details:
          $ref: "#/components/schemas/error_details_list"
        links:
          $ref: "#/components/schemas/link_description_list"
      required:
        - name
        - message
        - debug_id
    error-2:
      type: object
      title: Error
      description: The error information.
      properties:
        name:
          type: string
          description: The human-readable, unique name of the error.
          readOnly: true
        debug_id:
          type: string
          description: The PayPal internal ID. Used for correlation purposes.
          readOnly: true
        message:
          type: string
          description: The message that describes the error.
          readOnly: true
        information_link:
          type: string
          description: The URI to detailed information related to this error for the
            developer.
          readOnly: true
        details:
          $ref: "#/components/schemas/definitions-error_details_list"
      required:
        - name
        - message
        - information_link
    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_details-2:
      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:
          type: string
          description: The location of the field that caused the error. Value is `body`,
            `path`, or `query`.
          default: body
        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_details-3:
      type: object
      title: Error Details
      description: The error details. Required for client-side `4XX` errors.
      properties:
        field:
          type: string
          description: The name of the field that caused the error.
        issue:
          type: string
          description: The reason for the error.
      required:
        - field
        - issue
    error_details_list:
      type: array
      description: An array of additional details about the error.
      items:
        $ref: "#/components/schemas/error_details-2"
    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
    events_type:
      type: string
      title: Events Type
      description: The event type for an onboarding entity.
      enum:
        - BIRTH
        - ESTABLISHED
        - INCORPORATION
        - OPERATION
    financial_instrument_data:
      type: object
      title: Financial Instrument Data
      description: The customer's financial instrument. Use it to add a financial
        instrument to the customer's PayPal account.
      properties:
        bank_details:
          $ref: "#/components/schemas/bank_details_list"
    granted_permissions:
      type: string
      description: The permission granted to the partner.
      enum:
        - EXPRESS_CHECKOUT
        - REFUND
        - DIRECT_PAYMENT
        - AUTH_CAPTURE
        - BUTTON_MANAGER
        - ACCOUNT_BALANCE
        - TRANSACTION_DETAILS
        - TRANSACTION_SEARCH
        - REFERENCE_TRANSACTION
        - RECURRING_PAYMENTS
        - BILLING_AGREEMENT
        - MANAGE_PENDING_TRANSACTION_STATUS
        - NON_REFERENCED_CREDIT
        - MASS_PAY
        - ENCRYPTED_WEBSITE_PAYMENTS
        - SETTLEMENT_CONSOLIDATION
        - SETTLEMENT_REPORTING
        - MOBILE_CHECKOUT
        - AIR_TRAVEL
        - INVOICING
        - RECURRING_PAYMENT_REPORT
        - EXTENDED_PRO_PROCESSING_REPORT
        - EXCEPTION_PROCESSING_REPORT
        - TRANSACTION_DETAIL_REPORT
        - ACCOUNT_MANAGEMENT_PERMISSION
        - ACCESS_BASIC_PERSONAL_DATA
        - ACCESS_ADVANCED_PERSONAL_DATA
    granted_permissions_list:
      type: array
      description: An array of permissions granted to the partner by the seller.
      items:
        $ref: "#/components/schemas/granted_permissions"
    identifier:
      type: object
      title: Identifier
      additionalProperties: false
      description: The attributes for an instrument institute ID. 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>
      properties:
        type:
          type: string
          description: The bank account ID type.
          enum:
            - ROUTING_NUMBER_1
            - ROUTING_NUMBER_2
            - ROUTING_NUMBER_3
            - BI_CODE
            - BANK_CODE
            - BRANCH_CODE
            - INTERMEDIARY_SWIFT_CODE
            - BBAN
            - BBAN_ENCRYPTED
            - BBAN_HMAC
            - AGGREGATOR_YODLEE
          oneOf:
            - type: string
              enum:
                - ROUTING_NUMBER_1
              description: Routing number 1.
            - type: string
              enum:
                - ROUTING_NUMBER_2
              description: Routing number 2.
            - type: string
              enum:
                - ROUTING_NUMBER_3
              description: Routing number 3.
            - type: string
              enum:
                - BI_CODE
              description: BI code.
            - type: string
              enum:
                - BANK_CODE
              description: Bank 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 bank account ID value.
          type: string
    identifier_list:
      type: array
      minItems: 1
      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"
    identity_document:
      type: object
      title: Identity Document
      description: The authority-issued identification document. Document types
        include a driver's license, social security number, employee ID number,
        and so on.
      properties:
        type:
          $ref: "#/components/schemas/identity_document_type"
        value:
          type: string
          description: The identifier value, such as license number, social security
            number, and so on.
          pattern: ^[A-Za-z0-9]+$
        partial_value:
          type: boolean
          description: Indicates whether the value is a partial value. Specify this value
            when the identifier type supports a partial value, such as four SSN
            digits instead of the full nine values. Depending on the context,
            this parameter can be ignored.
          default: false
        issuer_country_code:
          type: string
          description: The [two-character ISO-3166-1 country
            code](/docs/api/reference/country-codes/) for the country that
            issued the document.
          pattern: ^[A-Z]([A-Z]|\d)$
      required:
        - type
        - value
        - partial_value
        - issuer_country_code
    identity_document_list:
      type: array
      description: An array of documents that uniquely identify the user, such as a
        license number, social security number, and so on.
      items:
        $ref: "#/components/schemas/identity_document"
    identity_document_type:
      type: string
      title: Identity Document Type
      description: The identifier type in the onboarding domain. Indicates the most
        specific type or the closest matching value. For example,
        <code>SOCIAL_SECURITY_NUMBER</code> in preference to
        <code>TAX_IDENTIFICATION_NUMBER</code>.
      enum:
        - SOCIAL_SECURITY_NUMBER
        - EMPLOYMENT_IDENTIFICATION_NUMBER
        - TAX_IDENTIFICATION_NUMBER
        - PASSPORT_NUMBER
        - PENSION_FUND_ID
        - MEDICAL_INSURANCE_ID
        - CNPJ
        - CPF
        - PAN
        - NATIONAL_ID_CARD
        - BUSINESS_REGISTRATION
    individual_beneficial_owner:
      title: Individual_beneficial_owner
      description: The individual owner of the account.
      allOf:
        - $ref: "#/components/schemas/person"
        - properties:
            percentage_of_ownership:
              description: The percentage of shares this person owns in the company.
              type: string
              minLength: 1
              maxLength: 20
    individual_beneficial_owner_list:
      description: Individual beneficial owners.
      type: array
      items:
        $ref: "#/components/schemas/individual_beneficial_owner"
      minItems: 0
      maxItems: 20
    integration_details:
      type: object
      title: Integration Details
      description: The integration details for the partner and customer relationship.
        Required if `capability_type` is `API_INTEGRATION`.
      additionalProperties: false
      properties:
        partner_id:
          type: string
          description: The payer ID of the partner who integrates with the client. To find
            this ID, log in to the partner's PayPal business account. Navigate
            to Profile, click Profile and settings, and click My business info.
            The account number appears in the Merchant account ID section.
        rest_api_integration:
          $ref: "#/components/schemas/rest_api_integration"
        rest_third_party_details:
          $ref: "#/components/schemas/rest_third_party_details"
        rest_first_party_details:
          $ref: "#/components/schemas/rest_first_party_details"
    integration_details_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"
    legal_consent:
      type: object
      title: Legal Consent
      description: The customer-provided consent.
      additionalProperties: false
      properties:
        type:
          type: string
          description: The type of consent. `SHARE_DATA_CONSENT` gives consent to you to
            share your customer's data with PayPal.
          enum:
            - SHARE_DATA_CONSENT
        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"
    limitation:
      type: object
      title: Limitation
      description: The limitations on a seller account.
      properties:
        name:
          type: string
          description: The title of the limitation that is applied to the account.
        restrictions:
          $ref: "#/components/schemas/restrictions_list"
    limitation_list:
      type: array
      description: An array of limitations on the seller account.
      items:
        $ref: "#/components/schemas/limitation"
    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
      description: An array of request-related [HATEOAS
        links](/docs/api/reference/api-responses/#hateoas-links).
      readOnly: true
      items:
        $ref: "#/components/schemas/link_description"
    merchant-integration:
      type: object
      title: Seller Integration
      description: The `merchant-integration` status information for a partner.
      properties:
        tracking_id:
          type: string
          description: The partner-provided tracking ID, if one was provided.
        merchant_id:
          type: string
          description: The payer ID of the seller after creation of their PayPal account.
        given_name:
          type: string
          description: The given name of the seller. Only available for casual sellers.
          maxLength: 140
          minLength: 1
          pattern: ^[a-zA-Z ,.'-]+$
        surname:
          type: string
          description: The surname of the seller. Only available for casual sellers.
          maxLength: 140
          minLength: 1
          pattern: ^[a-zA-Z ,.'-]+$
        products:
          $ref: "#/components/schemas/product_list"
        payments_receivable:
          type: boolean
          description: Indicates whether the seller account can receive payments.
        legal_name:
          type: string
          description: The legal business name of the seller.
        primary_email_confirmed:
          type: boolean
          description: Indicates whether the primary email of the seller has been confirmed.
        primary_email:
          type: string
          description: The primary email address of the seller.
        date_created:
          type: string
          description: The date when the seller account was created, in [Internet date and
            time format](https://tools.ietf.org/html/rfc3339#section-5.6).
        granted_permissions:
          $ref: "#/components/schemas/granted_permissions_list"
        api_credentials:
          description: The API credentials of the seller.
          $ref: "#/components/schemas/credential"
        oauth_integrations:
          $ref: "#/components/schemas/oauth-integration_list"
        limitations:
          $ref: "#/components/schemas/limitation_list"
        capabilities:
          $ref: "#/components/schemas/account_capability_list"
    merchant-integration.credentials:
      type: object
      title: Seller Credentials
      description: The `merchant-integration` merchant credentials for a downloadable
        cart seller.
      properties:
        client_id:
          type: string
          description: The client ID of the seller.
          minLength: 1
          maxLength: 255
        client_secret:
          type: string
          description: The client secret of the seller.
          minLength: 1
          maxLength: 255
        payer_id:
          type: string
          description: The payer ID of the seller and the pattern is not provided because
            the value is defined by an external party.
          minLength: 1
          maxLength: 255
    message:
      type: object
      title: Message
      description: The user- and seller-provided messages.
      properties:
        message:
          type: string
          description: The message text.
          maxLength: 255
        language_code:
          type: string
          description: The [locale code](/docs/api/reference/locale-codes/) for the
            language of the message, such as `en_US`.
    message_list:
      type: array
      description: An array of messages to the seller from the partner after
        completion of sign-up. The message can change by country and language.
      items:
        $ref: "#/components/schemas/message"
    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
        alternate_full_name:
          type: string
          description: DEPRECATED. The party's alternate name. Can be a business name,
            nickname, or any other name that cannot be split into first, last
            name. Required when the party is a business.
          maxLength: 300
        full_name:
          type: string
          description: When the party is a person, the party's full name.
          maxLength: 300
    oauth-integration:
      type: object
      title: OAuth Integration
      description: The status of the oauth-integration between a partner and seller.
      properties:
        integration_type:
          type: string
          description: The type of integration between the partner and the seller.
          enum:
            - FIRST_PARTY_INTEGRATED
            - FIRST_PARTY_NON_INTEGRATED
            - THIRD_PARTY
            - OAUTH_THIRD_PARTY
        integration_method:
          type: string
          description: The integration method that the partner uses to integrate with
            PayPal APIs.
          enum:
            - PAYPAL
            - BRAINTREE
        status:
          type: string
          description: The integration status.
          enum:
            - A
            - I
        oauth_third_party:
          $ref: "#/components/schemas/oauth-third-party_list"
    oauth-integration_list:
      type: array
      description: An array of information about OAuth integrations between partners
        and sellers.
      items:
        $ref: "#/components/schemas/oauth-integration"
    oauth-third-party:
      type: object
      title: OAuth Third Party
      description: The seller third-party information for REST API.
      properties:
        partner_client_id:
          type: string
          description: The client ID of the partner's API caller account.
        merchant_client_id:
          type: string
          description: The client ID of the seller.
        scopes:
          $ref: "#/components/schemas/scopes_list"
        access_token:
          type: string
          description: The access token for the partner-selected integration method.
        refresh_token:
          type: string
          description: The refresh token for the partner-selected integration method.
    oauth-third-party_list:
      type: array
      description: An array of combinations of `partner_client_id` and
        `merchant_client_id` values and their associated scopes.
      items:
        $ref: "#/components/schemas/oauth-third-party"
    office_bearer:
      allOf:
        - $ref: "#/components/schemas/person"
        - properties:
            role:
              description: The role of the person 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 office bearers as part of the business entity.
      type: array
      items:
        $ref: "#/components/schemas/office_bearer"
      minItems: 0
      maxItems: 10
    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. "
    partner:
      type: object
      title: Partner
      description: The seller acquisition partner-related information. Defines the
        settings for the customized onboarding experience of the seller.
      properties:
        partner_id:
          type: string
          description: The account ID of the partner.
        launch_type:
          type: string
          description: Indicates whether the onboarding occurs in a full browser,
            mini-browser, or light box.
          default: FULL_BROWSER
          enum:
            - FULL_BROWSER
            - LIGHT_BOX
            - EMBEDDED
            - MINI_BROWSER
        receives_credential:
          type: boolean
          description: Indicates whether the partner is integrated to receive a seller
            credential.
          default: false
        product_selection:
          type: string
          description: Indicates whether the seller can select a product with which to
            integrate.
          enum:
            - Y
            - N
            - P
          oneOf:
            - type: string
              enum:
                - Y
              description: The seller can choose a partner-supported product.
            - type: string
              enum:
                - N
              description: A product change is not allowed.
            - type: string
              enum:
                - P
              description: The seller can choose any product.
        logo_url:
          type: string
          description: The partner logo URL. Provides a way for partners to update their
            logo through preferences. This logo over-writes any image URL
            provided earlier for their business accounts.
          format: uri
        notification_url:
          type: string
          description: The partner-provided URL for notifications.
          format: uri
        integration_preferences:
          $ref: "#/components/schemas/product-integration_list"
        region_preferences:
          $ref: "#/components/schemas/region-preferences_list"
        agreement_types:
          $ref: "#/components/schemas/agreement_types_list"
        display_name:
          type: string
          description: The display name of the partner.
          readOnly: true
    partner_specific_identifiers:
      type: object
      title: Partner Identifiers
      description: The identifier for the customer in the partner's system.
      additionalProperties: false
      properties:
        type:
          type: string
          description: The identifier type.
          enum:
            - TRACKING_ID
            - ACCOUNT_LINKING_ID
        value:
          type: string
          description: The identifier value.
      required:
        - type
        - value
    partner_specific_identifiers_list:
      type: array
      description: An array of customer identifiers in the partner's system.
      items:
        $ref: "#/components/schemas/partner_specific_identifiers"
    permissions:
      type: string
      description: Permission given to the partner.
      enum:
        - EXPRESS_CHECKOUT
        - REFUND
        - DIRECT_PAYMENT
        - AUTH_CAPTURE
        - BUTTON_MANAGER
        - ACCOUNT_BALANCE
        - TRANSACTION_DETAILS
        - TRANSACTION_SEARCH
        - REFERENCE_TRANSACTION
        - RECURRING_PAYMENTS
        - BILLING_AGREEMENT
        - MANAGE_PENDING_TRANSACTION_STATUS
        - NON_REFERENCED_CREDIT
        - MASS_PAY
        - ENCRYPTED_WEBSITE_PAYMENTS
        - SETTLEMENT_CONSOLIDATION
        - SETTLEMENT_REPORTING
        - MOBILE_CHECKOUT
        - AIR_TRAVEL
        - INVOICING
        - RECURRING_PAYMENT_REPORT
        - EXTENDED_PRO_PROCESSING_REPORT
        - EXCEPTION_PROCESSING_REPORT
        - TRANSACTION_DETAIL_REPORT
        - ACCOUNT_MANAGEMENT_PERMISSION
        - ACCESS_BASIC_PERSONAL_DATA
        - ACCESS_ADVANCED_PERSONAL_DATA
    permissions_list:
      type: array
      description: An array of permissions that the partner expects that the seller
        has granted for a third-party integration. Different products need
        different permissions, so permissions also depend on the product.
      items:
        $ref: "#/components/schemas/permissions"
    person:
      title: Person
      description: Details of the person party.
      properties:
        name:
          description: The legal name of the customer.
          $ref: "#/components/schemas/name"
        phone_contacts:
          $ref: "#/components/schemas/person_definitions-phone_details_list"
        home_address:
          description: The home address of the account holder.
          $ref: "#/components/schemas/address"
        nationality_country_code:
          description: The citizenship country code of the person
          $ref: "#/components/schemas/country_code"
    person_definitions-phone_details_list:
      type: array
      description: An array of contact phone numbers for the customer.
      items:
        $ref: "#/components/schemas/phone_details"
      minItems: 1
      maxItems: 10
    person_details:
      type: object
      title: Person Details
      description: The customer's personal details.
      additionalProperties: false
      properties:
        email_address:
          description: The primary email address of the account.
          $ref: "#/components/schemas/email_address"
        name:
          description: The legal name of the customer.
          $ref: "#/components/schemas/name"
        phone_contacts:
          $ref: "#/components/schemas/phone_details_list"
        home_address:
          description: The home address of the account holder.
          $ref: "#/components/schemas/address"
        nationality_country_code:
          description: The [two-character ISO-3166-1 country
            code](/docs/api/reference/country-codes/) for the nationality of the
            account holder. Can include one of the PayPal-supported countries.
          $ref: "#/components/schemas/country_code"
        identity_documents:
          $ref: "#/components/schemas/identity_document_list"
        account_owner_relationships:
          $ref: "#/components/schemas/account_owner_relationship_list"
    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_details:
      type: object
      description: The phone number and the phone type.
      title: Phone Details
      additionalProperties: false
      properties:
        phone_number_details:
          description: The phone number details.
          $ref: "#/components/schemas/phone"
        phone_type:
          $ref: "#/components/schemas/phone_type"
      required:
        - phone_number_details
        - phone_type
    phone_details_list:
      type: array
      description: An array of contact phone numbers for the customer.
      items:
        $ref: "#/components/schemas/phone_details"
    phone_type:
      type: string
      title: Phone Type
      description: The phone type.
      enum:
        - FAX
        - HOME
        - MOBILE
        - OTHER
        - PAGER
    product:
      type: object
      title: Product
      description: The seller product information.
      properties:
        name:
          type: string
          description: The name of the product.
          enum:
            - EXPRESS_CHECKOUT
            - WEBSITE_PAYMENTS_STANDARD
            - MASS_PAYMENT
            - EMAIL_PAYMENTS
            - EBAY_CHECKOUT
            - PAYFLOW_LINK
            - PAYFLOW_PRO
            - WEBSITE_PAYMENTS_PRO_3_0
            - WEBSITE_PAYMENTS_PRO_2_0
            - VIRTUAL_TERMINAL
            - HOSTED_SOLE_SOLUTION
            - BILL_ME_LATER
            - MOBILE_EXPRESS_CHECKOUT
            - PAYPAL_HERE
            - MOBILE_IN_STORE
            - PAYPAL_STANDARD
            - MOBILE_PAYPAL_STANDARD
            - MOBILE_PAYMENT_ACCEPTANCE
            - PAYPAL_ADVANCED
            - PAYPAL_PRO
            - ENHANCED_RECURRING_PAYMENTS
            - PPCP_STANDARD
            - PPCP_CUSTOM
            - PAYMENT_METHODS
            - ADVANCED_VAULTING
        vetting_status:
          type: string
          description: The risk vetting status of product, if applicable.
          enum:
            - APPROVED
            - PENDING
            - DECLINED
            - SUBSCRIBED
            - IN_REVIEW
            - NEED_MORE_DATA
            - DENIED
        status:
          type: string
          description: The status of product bundle, if applicable.
          enum:
            - ACTIVE
            - INACTIVE
            - PENDING
        capabilities:
          $ref: "#/components/schemas/account_capability_names_list"
    product-integration:
      type: object
      title: Product Integration
      description: The required information for a partner to integrate this product.
      properties:
        product:
          type: string
          description: The product.
          enum:
            - EXPRESS_CHECKOUT
            - WEBSITE_PAYMENTS_STANDARD
            - MASS_PAYMENT
            - EMAIL_PAYMENTS
            - EBAY_CHECKOUT
            - PAYFLOW_LINK
            - PAYFLOW_PRO
            - WEBSITE_PAYMENTS_PRO_3_0
            - WEBSITE_PAYMENTS_PRO_2_0
            - VIRTUAL_TERMINAL
            - HOSTED_SOLE_SOLUTION
            - BILL_ME_LATER
            - MOBILE_EXPRESS_CHECKOUT
            - PAYPAL_HERE
            - MOBILE_IN_STORE
            - PAYPAL_STANDARD
            - MOBILE_PAYPAL_STANDARD
            - MOBILE_PAYMENT_ACCEPTANCE
            - PAYPAL_ADVANCED
            - PAYPAL_PRO
            - ENHANCED_RECURRING_PAYMENTS
        integration_type:
          type: string
          description: The integration type for the product as third or first party or
            sellers that are onboarded through this partner.
          enum:
            - FIRST_PARTY
            - THIRD_PARTY
        credential_type:
          type: string
          description: The credential type for a first-party integration. Required if
            `integration_type` is provided.
          enum:
            - SIGNATURE
            - CERTIFICATE
            - OAUTH_TOKEN
        permissions:
          $ref: "#/components/schemas/permissions_list"
    product-integration_list:
      type: array
      description: An array of required information for a partner to integrate this
        product. Varies based on the product to integrate.
      items:
        $ref: "#/components/schemas/product-integration"
    product-preferences:
      type: object
      title: Product Preferences
      description: The product preferences. A partner can customize these preferences
        based on the country and product.
      properties:
        product:
          type: string
          description: The product to which these preferences belong.
          enum:
            - EXPRESS_CHECKOUT
            - WEBSITE_PAYMENTS_STANDARD
            - MASS_PAYMENT
            - EMAIL_PAYMENTS
            - EBAY_CHECKOUT
            - PAYFLOW_LINK
            - PAYFLOW_PRO
            - WEBSITE_PAYMENTS_PRO_3_0
            - WEBSITE_PAYMENTS_PRO_2_0
            - VIRTUAL_TERMINAL
            - HOSTED_SOLE_SOLUTION
            - BILL_ME_LATER
            - MOBILE_EXPRESS_CHECKOUT
            - PAYPAL_HERE
            - MOBILE_IN_STORE
            - PAYPAL_STANDARD
            - MOBILE_PAYPAL_STANDARD
            - MOBILE_PAYMENT_ACCEPTANCE
            - PAYPAL_ADVANCED
            - PAYPAL_PRO
            - ENHANCED_RECURRING_PAYMENTS
        url:
          type: string
          description: The URL to which to redirect the seller after sign-up is complete.
          format: uri
          maxLength: 2048
    product-preferences_list:
      type: array
      description: An array of product preferences. Can change for a country or product.
      items:
        $ref: "#/components/schemas/product-preferences"
    product_list:
      type: array
      description: An array of all products that are integrated with the partner for
        the seller.
      items:
        $ref: "#/components/schemas/product"
    product_name:
      type: string
      description: The PayPal product for which the customer is onboarded.
      title: Product Name
      enum:
        - EXPRESS_CHECKOUT
        - PPPLUS
        - WP_PRO
        - PPCP
        - PAYMENT_METHODS
        - ADVANCED_VAULTING
    product_name_list:
      type: array
      description: An array of PayPal products to which the partner wants to onboard
        the customer.
      items:
        $ref: "#/components/schemas/product_name"
    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>
      enum:
        - P0104
        - P0301
        - P0801
        - P0802
        - P0803
        - P0805
        - P0806
        - P0902
        - P1004
        - P1005
        - P1006
        - P1007
        - P1008
        - P1009
    referral_data:
      type: object
      title: Referral Data
      description: The referral data that partners share with PayPal.
      additionalProperties: false
      properties:
        customer_data:
          $ref: "#/components/schemas/user"
        requested_capabilities:
          $ref: "#/components/schemas/capabilities_list"
        web_experience_preference:
          $ref: "#/components/schemas/web_experience_preference"
        collected_consents:
          $ref: "#/components/schemas/legal_consent_list"
        products:
          $ref: "#/components/schemas/product_name_list"
    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
        submitter_payer_id:
          type: string
          description: The payer ID of the partner who shared the referral data.
          readOnly: true
        referral_data:
          $ref: "#/components/schemas/referral_data"
        links:
          $ref: "#/components/schemas/link_description_list"
    region-preferences:
      type: object
      title: Region Preferences
      description: The region preferences.
      properties:
        country_code:
          type: string
          description: The [two-character ISO-3166-1 country
            code](/docs/api/reference/country-codes/) for the country that is
            associated with the preferences.
        product_preferences:
          $ref: "#/components/schemas/product-preferences_list"
        return_message:
          $ref: "#/components/schemas/message_list"
    region-preferences_list:
      type: array
      description: An array of region-specific preferences.
      items:
        $ref: "#/components/schemas/region-preferences"
    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
          enum:
            - BRAINTREE
            - PAYPAL
          oneOf:
            - type: string
              enum:
                - BRAINTREE
              description: Braintree integration method.
            - type: string
              enum:
                - PAYPAL
              description: PayPal integration method.
        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
            `REST_THIRD_PARTY_DETAILS`.
          enum:
            - FIRST_PARTY
            - THIRD_PARTY
          oneOf:
            - type: string
              enum:
                - FIRST_PARTY
              description: Rest First Party Integration Type
            - type: string
              enum:
                - THIRD_PARTY
              description: A third-party integration.
        integration_channel:
          type: string
          title: Integration Channel
          description: The rest api integration channel.
          enum:
            - DEFERRED_ONBOARDING
          oneOf:
            - type: string
              enum:
                - DEFERRED_ONBOARDING
              description: User onboards PayPal through the deferred onboarding flow.
    rest_endpoint_features_enum:
      type: string
      title: REST Endpoint Features
      description: The REST endpoint.
      enum:
        - PAYMENT
        - REFUND
        - PARTNER_FEE
        - DELAY_FUNDS_DISBURSEMENT
        - READ_SELLER_DISPUTE
        - UPDATE_SELLER_DISPUTE
        - ACCESS_MERCHANT_INFORMATION
        - INVOICE_READ_WRITE
        - ADVANCED_TRANSACTIONS_SEARCH
      oneOf:
        - type: string
          enum:
            - PAYMENT
          description: The REST endpoint feature for payments.
        - type: string
          enum:
            - REFUND
          description: The REST endpoint feature for refunds.
        - type: string
          enum:
            - PARTNER_FEE
          description: The REST endpoint feature for partner fees.
        - type: string
          enum:
            - DELAY_FUNDS_DISBURSEMENT
          description: The REST endpoint feature for delayed funds disbursments.
        - type: string
          enum:
            - READ_SELLER_DISPUTE
          description: The REST endpoint feature for read seller disputes.
        - type: string
          enum:
            - UPDATE_SELLER_DISPUTE
          description: The REST endpoint feature for updating seller disputes.
        - type: string
          enum:
            - ACCESS_MERCHANT_INFORMATION
          description: The REST endpoint feature for allowig partner to access merchant's
            information.
        - type: string
          enum:
            - INVOICE_READ_WRITE
          description: The REST endpoint feature for allowig partner to access and update
            merchant's invoices.
        - type: string
          enum:
            - ADVANCED_TRANSACTIONS_SEARCH
          description: The REST endpoint feature for advanced transactions searches.
    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"
    rest_first_party_details:
      type: object
      title: REST First-Party Details
      description: The integration details for PayPal First Party REST endpoints.
      properties:
        partner_client_id:
          type: string
          description: The client ID of the partner.
          minLength: 1
          maxLength: 50
        feature_list:
          $ref: "#/components/schemas/integration_details_rest_endpoint_features_enum_lis\
            t"
        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
    rest_third_party_details:
      type: object
      title: REST Third-Party Details
      description: The integration details for PayPal REST endpoints.
      properties:
        partner_client_id:
          type: string
          description: The client ID of the partner's API caller account.
        feature_list:
          $ref: "#/components/schemas/rest_endpoint_features_enum_list"
    restrictions:
      type: string
      description: A restriction name.
    restrictions_list:
      type: array
      description: An array of the restriction names.
      items:
        $ref: "#/components/schemas/restrictions"
    scopes:
      type: string
      description: The individual scope name.
    scopes_list:
      type: array
      description: An array of scopes that the seller granted the partner.
      items:
        $ref: "#/components/schemas/scopes"
    signature:
      type: object
      title: Signature
      description: The signature portion of the seller credentials.
      properties:
        api_user_name:
          type: string
          description: The API user name of the seller.
        api_password:
          type: string
          description: The API password of the seller.
        signature:
          type: string
          description: The signature credential of the seller.
    user:
      type: object
      title: User
      description: The customer's business and personal data that is required to
        create an account.
      additionalProperties: false
      properties:
        customer_type:
          type: string
          description: The type of PayPal account to create, which is consumer or seller.
          deprecated: true
          enum:
            - CONSUMER
            - MERCHANT
          oneOf:
            - type: string
              enum:
                - CONSUMER
              description: Consumer account.
            - type: string
              enum:
                - MERCHANT
              description: Seller account.
        person_details:
          $ref: "#/components/schemas/person_details"
        business_details:
          $ref: "#/components/schemas/business_details"
        financial_instrument_data:
          $ref: "#/components/schemas/financial_instrument_data"
        preferred_language_code:
          type: string
          title: Preferred Language Code
          description: The locale code of the user's preferred language.
          pattern: ^([a-z]){2}_([A-Z]){2}$
          deprecated: true
        primary_currency_code:
          description: The primary [three-character ISO-4217 currency
            code](/docs/api/reference/currency-codes/) of the account.
        referral_user_payer_id:
          $ref: "#/components/schemas/account_identifier"
        partner_specific_identifiers:
          $ref: "#/components/schemas/partner_specific_identifiers_list"
    web_experience_preference:
      type: object
      title: Web Experience Preference
      description: The preference to customize the web experience of the customer.
      additionalProperties: false
      properties:
        partner_logo_url:
          type: string
          format: uri
          description: The partner logo URL to display in the seller onboarding
            flow.<blockquote><strong>Note:</strong> While there is no
            restriction on the size of your image, PayPal forces the max width
            to 106px and max height to 29px. The best resolution you can provide
            is 106px x 29px.</blockquote>
        return_url:
          type: string
          format: uri
          description: The URL to which to redirect the customer upon completion of the
            onboarding process.
        return_url_description:
          type: string
          description: The description of the return URL.
        action_renewal_url:
          type: string
          format: uri
          description: If `renew_action_url` expires, redirect the customer to this URL.
        show_add_credit_card:
          type: boolean
          description: Indicates whether to show an add credit card page.
        show_mobile_confirm:
          type: boolean
          description: Indicates whether to ask the customer to initiate confirmation of
            their mobile phone (the phone that the partner designated as
            `MOBILE` in the customer data). Default is`false`.
        use_mini_browser:
          type: boolean
          description: Indicates whether to provide a single page signup flow in a mini
            browser. Default is to provide a full-size, multi-page flow.
        use_hua_email_confirmation:
          type: boolean
          description: Indicates whether to use the `hosted_user_agreement_url` to confirm
            the customer's email address. If `true`, PayPal appends the email
            confirmation code to `hosted_user_agreement_url`, and when a
            customer successfully accesses the hosted user agreement URL,
            confirms the customer's email address. If `false`, PayPal does not
            append the confirmation code to the URL and does not confirm the
            email address.
    website_urls:
      type: string
      description: The URL for the business website.
      format: uri
    website_urls_list:
      type: array
      description: An array of website URLs for the business.
      items:
        $ref: "#/components/schemas/website_urls"
  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
    partner_id:
      name: partner_id
      in: path
      description: The ID of the partner for which to show onboarded seller's
        credentials, which is the partner's PayPal account number. To find this
        ID, log in to the partner's PayPal business account. Navigate to
        **Profile**, click **Profile and settings**, and click **My business
        info**. The account number appears in the **Merchant account ID**
        section.
      required: true
      schema:
        type: string
    tracking_id:
      name: tracking_id
      in: query
      description: Filters the sellers in the response by this partner-provided seller
        ID (`merchant_id`).
      required: true
      schema:
        type: string
    merchant_id:
      name: merchant_id
      in: path
      description: The ID of the seller for which to show status information.
      required: true
      schema:
        type: string
    fields:
      name: fields
      in: query
      description: Filters the fields in the response to this comma-separated list of
        fields.
      schema:
        type: string
    id:
      name: id
      in: path
      description: The ID of the partner, which is the partner's PayPal account
        number. To find this ID, log in to the partner's PayPal business
        account. Navigate to **Profile**, click **Profile and settings**, and
        click **My business info**. The account number appears in the **Merchant
        account ID** section.
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 20
        pattern: ^.*$
    country_code:
      name: country_code
      in: query
      description: The country code to load region preferences.
      schema:
        type: string
        minLength: 2
        maxLength: 2
        pattern: ^([a-zA-Z]{2})$
    product:
      name: product
      in: query
      description: The product to load region and integration preferences.
      schema:
        type: string
        minLength: 1
        maxLength: 20
        pattern: ^.*$
    content_type:
      name: Content-type
      in: header
      description: The Content-type header MUST be described in all
        externally-accessible APIs.
      schema:
        type: string
        minLength: 1
        maxLength: 4000
        pattern: ^.*$
x-errors:
  - name: INTERNAL_ERROR
    message: The process cannot be processed due to internal error.
    description: An internal error occurred.
  - name: PARTNER_BUSINESS_ERROR-BUSINESS_ERROR
    message: <code>BUSINESS_ERROR</code>.
    description: The caller is not a business account or the account is closed or locked.
  - name: PARTNER_BUSINESS_ERROR-CONSENT_ALREADY_EXISTS
    message: <code>CONSENT_ALREADY_EXISTS</code>.
    description: The consent between this seller and partner already exists.
      <blockquote><strong>Note:</strong> Use <code>PATCH</code> to update the
      content.</blockquote>
  - name: PARTNER_BUSINESS_ERROR-FAILED_TO_SET_OAUTH_INTEGRATION
    message: <code>FAILED_TO_SET_OAUTH_INTEGRATION</code>.
    description: The OAuth integrations could not be set for the partner and seller.
  - name: PARTNER_BUSINESS_ERROR-FAILED_WHILE_GETTING_OAUTH_INTEGRATION
    message: <code>FAILED_WHILE_GETTING_OAUTH_INTEGRATION</code>.
    description: The OAuth integrations could not be fetched for the partner and seller.
  - name: PARTNER_BUSINESS_ERROR-MERCHANT_ID_SAME_AS_PARTNER_ID
    message: <code>MERCHANT_ID_SAME_AS_PARTNER_ID</code>.
    description: The seller ID is same as the partner ID.
  - name: PARTNER_BUSINESS_ERROR-NO_ATTRIBUTION_WITH_MERCHANT
    message: <code>NO_ATTRIBUTION_WITH_MERCHANT</code>.
    description: The partner can only get the seller details if the seller is
      referred by the partner.
  - name: PARTNER_BUSINESS_ERROR-PARTNER_MERCHANT_CLIENT_ASSOC_ALREADY_PRESENT
    message: <code>PARTNER_MERCHANT_CLIENT_ASSOC_ALREADY_PRESENT</code>.
    description: The seller client ID already exists for the
      `PartnerId`-`MerchantId`-`PartnerClientId` combination.
  - name: PARTNER_BUSINESS_ERROR-PARTNER_MERCHANT_CLIENT_ID_COMBINATION_INCORRECT
    message: <code>PARTNER_MERCHANT_CLIENT_ID_COMBINATION_INCORRECT</code>.
    description: The combination of `partnerClientId`-`merchantClientId` is
      incorrect for this `partnerId`-`merchantId`.
  - name: PARTNER_BUSINESS_ERROR-PARTNER_REFERRAL_LINK_ALREADY_EXISTS
    message: <code>PARTNER_REFERRAL_LINK_ALREADY_EXISTS</code>.
    description: The link between this lookup type and `referral_id` already exists.
  - name: PARTNER_BUSINESS_ERROR-PREFERENCES_ALREADY_EXIST
    message: <code>PREFERENCES_ALREADY_EXIST</code>.
    description: "The preferences already exist for this partner account. Note: Use
      `PATCH` to update the content."
  - name: RESOURCE_NOT_FOUND_ERROR-AGREEMENTS_NOT_FOUND
    message: <code>AGREEMENTS_NOT_FOUND</code>.
    description: Agreements were not found for this account.
  - name: RESOURCE_NOT_FOUND_ERROR-INTEGRATIONS_NOT_FOUND
    message: <code>INTEGRATIONS_NOT_FOUND</code>.
    description: No integration was found between the partner and seller.
  - name: RESOURCE_NOT_FOUND_ERROR-INVALID_CONSENT_ID
    message: <code>INVALID_CONSENT_ID</code>.
    description: The consent was not found.
  - name: RESOURCE_NOT_FOUND_ERROR-INVALID_REFERRAL_ID
    message: <code>INVALID_REFERRAL_ID</code>.
    description: The referral ID is not valid.
  - name: RESOURCE_NOT_FOUND_ERROR-LINK_NOT_FOUND
    message: <code>LINK_NOT_FOUND</code>.
    description: No referrals are linked with this account.
  - name: UNAUTHORIZED-AUTHORIZATION_ERROR
    message: <code>AUTHORIZATION_ERROR</code>.
    description: This API call is not authorized.
  - name: UNAUTHORIZED-INVALID_CONSENT_OWNERSHIP
    message: <code>INVALID_CONSENT_OWNERSHIP</code>.
    description: The user is not the owner of the consent.
  - name: UNAUTHORIZED
    message: <code>INVALID_PARTNER_RELATIONSHIP</code>.
    description: The partner cannot use another partner for this API.
  - name: UNPROCESSABLE_ENTITY
    message: <code>SUCCESS_WITH_WARNING</code>.
    description: The request is not valid.
  - name: USER_BUSINESS_ERROR
    message: <code>USER_NOT_FOUND</code>.
    description: The account for this ID does not exist.
