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