openapi: 3.0.3 info: title: Paypal Partner Referrals description: Use the Partner Referrals API to add PayPal seller accounts to PayPal Complete Payments Platform for Marketplaces and Platforms.
Important: This endpoint is available to approved partners only. Fill out this form to get approved and a PayPal representative will reach out to you shortly.
For more information about partner integrations and onboarding sellers, see PayPal Complete Payments Platform for Marketplaces and Platforms. version: '2.4' contact: {} servers: - url: https://api-m.sandbox.paypal.com description: PayPal Sandbox Environment - url: https://api-m.paypal.com description: PayPal Live Environment 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/ paths: "/v2/customer/partner-referrals": post: summary: Paypal 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: Paypal 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" examples: referral_data: value: individual_owners: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' type: PRIMARY business_entity: business_type: type: INDIVIDUAL subtype: ASSO_TYPE_INCORPORATED business_industry: category: '1004' mcc_code: '8931' subcategory: '2025' business_incorporation: incorporation_country_code: US incorporation_date: '1986-12-29' names: - business_name: Test Enterprise type: LEGAL_NAME emails: - type: CUSTOMER_SERVICE email: customerservice@example.com website: https://mystore.testenterprises.com addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: WORK phones: - country_code: '1' national_number: '6692478833' extension_number: '1234' type: CUSTOMER_SERVICE beneficial_owners: individual_beneficial_owners: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' percentage_of_ownership: '50' business_beneficial_owners: - business_type: type: INDIVIDUAL subtype: ASSO_TYPE_INCORPORATED business_industry: category: '1004' mcc_code: '8931' subcategory: '2025' business_incorporation: incorporation_country_code: US incorporation_date: '1986-12-29' names: - business_name: Test Enterprise type: LEGAL_NAME emails: - type: CUSTOMER_SERVICE email: customerservice@example.com website: https://mystore.testenterprises.com addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: WORK phones: - country_code: '1' national_number: '6692478833' extension_number: '1234' type: CUSTOMER_SERVICE percentage_of_ownership: '50' office_bearers: - names: - prefix: Mr. given_name: John surname: Doe middle_name: Middle suffix: Jr. full_name: John Middle Doe Jr. type: LEGAL citizenship: US addresses: - address_line_1: One Washington Square address_line_2: Apt 123 admin_area_2: San Jose admin_area_1: CA postal_code: '95112' country_code: US type: HOME phones: - country_code: '1' national_number: '6692468839' extension_number: '1234' type: MOBILE birth_details: date_of_birth: '1955-12-29' role: DIRECTOR annual_sales_volume_range: minimum_amount: currency_code: USD value: '10000' maximum_amount: currency_code: USD value: '50000' average_monthly_volume_range: minimum_amount: currency_code: USD value: '1000' maximum_amount: currency_code: USD value: '50000' purpose_code: P0104 email: accountemail@example.com preferred_language_code: en-US tracking_id: testenterprices123122 partner_config_override: partner_logo_url: https://www.paypalobjects.com/webstatic/mktg/logo/pp_cc_mark_111x69.jpg return_url: https://testenterprises.com/merchantonboarded return_url_description: the url to return the merchant after the paypal onboarding process. action_renewal_url: https://testenterprises.com/renew-exprired-url show_add_credit_card: true operations: - operation: BANK_ADDITION financial_instruments: banks: - nick_name: Bank of America account_number: '123405668293' account_type: CHECKING currency_code: USD identifiers: - type: ROUTING_NUMBER_1 value: '123456789' legal_consents: - type: SHARE_DATA_CONSENT granted: true products: - EXPRESS_CHECKOUT '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 components: securitySchemes: Oauth2: type: oauth2 description: Oauth 2.0 authentication flows: clientCredentials: tokenUrl: "/v1/oauth2/token" 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 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_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 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_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_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" example: 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" example: name: SERVICE_UNAVAILABLE message: Service Unavailable. debug_id: 90957fca61718 information_link: https://developer.paypal.com/docs/api/orders/v2/#error-SERVICE_UNAVAILABLE 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 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 person_name: type: object title: Person name description: The name of the person. allOf: - "$ref": "#/components/schemas/name" - properties: type: description: 'The type of name. Currently supported values are: `LEGAL`.' "$ref": "#/components/schemas/person_name_type" required: - type country_code: type: string description: The [two-character ISO 3166-1 code](/docs/api/reference/country-codes/) that identifies the country or region.
Note: The country code for Great Britain is GB and not UK 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.
format: ppaas_common_country_code_v2 maxLength: 2 minLength: 2 pattern: "^([A-Z]{2}|C2)$" 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: maxLength: 100 admin_area_3: type: string description: A sub-locality, suburb, neighborhood, or district. Smaller than `admin_area_level_2`. Value is: 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: 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: 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.
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, Craven House. 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 required: - country_code 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 person_address_detail: type: object title: Person address detail description: A simple postal address with coarse-grained fields. allOf: - "$ref": "#/components/schemas/address_portable" - properties: type: description: The address type under which this is classified. "$ref": "#/components/schemas/person_address_type" primary: type: boolean description: Whether this is the primary address of the user. This cannot be directly set to `false`, but rather it is toggled `false` in the datastore when another address is set to primary. inactive: type: boolean description: Whether this address has been inactivated. readOnly: true required: - type 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 phone_number_tag: description: Tag associated with the phone number. title: Phone number tag type: string pattern: "^[0-9A-Z_]+$" minLength: 1 maxLength: 255 enum: - MOBILE - LANDLINE person_phone_detail: 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). allOf: - "$ref": "#/components/schemas/phone" - properties: contact_name: type: string description: The name that the phone number is connected to. minLength: 1 maxLength: 900 inactive: type: boolean description: Whether this phone number has been inactivated by the user. readOnly: true primary: type: boolean description: Whether this is the primary contact phone number of the user. primary_mobile: type: boolean description: Whether this is the primary mobile phone number of the user. type: "$ref": "#/components/schemas/phone_type" description: The type of phone number provided. For example, home, work, or mobile. tags: type: array description: Array of tags for this phone number. items: "$ref": "#/components/schemas/phone_number_tag" minItems: 0 maxItems: 20 required: - type 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])$" 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 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.
Note: The regular expression provides guidance but does not reject all invalid dates.
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})$" 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]+$" 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 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: type: array items: type: string description: A document label. 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`. 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: 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. links: type: array items: "$ref": "#/components/schemas/link_description" readOnly: true readOnly: true minItems: 1 maxItems: 10 description: The HATEOAS links. 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 person_document: title: Person document description: The documents associated with the person. 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" 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: description: The name of the person. type: array items: "$ref": "#/components/schemas/person_name" minItems: 0 maxItems: 5 citizenship: description: The citizenship country code of the person. "$ref": "#/components/schemas/country_code" addresses: description: The list of addresses associated with the person. type: array items: "$ref": "#/components/schemas/person_address_detail" minItems: 0 maxItems: 5 phones: description: The list of phone numbers associated with the person. type: array items: "$ref": "#/components/schemas/person_phone_detail" minItems: 0 maxItems: 5 birth_details: description: The person's birth details. "$ref": "#/components/schemas/birth_details" documents: 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.
Note: This field is not applicable for POST [/v2/customer/partner-referrals](/docs/api/partner-referrals/v2/#partner-referrals_create) API calls.
type: array items: "$ref": "#/components/schemas/person_document" minItems: 0 maxItems: 20 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 individual_owner: title: Individual_owner description: The individual owner of the account. 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" 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 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 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" 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_incorporation: title: Business_incorporation type: object description: Business incorporation information. 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" incorporation_province_code: description: The province of incorporation. type: string minLength: 1 maxLength: 50 pattern: "^[A-Z]{2}-([A-Z]{2,3}|[0-9]{2,3})$" 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_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 business_name_detail: type: object title: Business name description: Name of the business provided. allOf: - "$ref": "#/components/schemas/business_name" - properties: id: description: The encrypted ID for the business name. type: string readOnly: true minLength: 1 maxLength: 20 type: description: The type of business name. For example, trading name. "$ref": "#/components/schemas/business_name_type" required: - type email_address: type: string description: The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.
format: ppaas_common_email_address_v2 minLength: 3 maxLength: 254 pattern: ^.+@[^"\-].+$ 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 email: "$ref": "#/components/schemas/email_address" required: - email - type 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 business_address_detail: type: object title: Business_address_detail description: A simple postal address with coarse-grained fields. 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" primary: type: boolean description: Whether this is the primary address of the user. This cannot be directly set to `false`, but rather it is toggled `false` in the datastore when another address is set to primary. inactive: type: boolean description: Whether this address has been inactivated. readOnly: true required: - type 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 business_phone_detail: 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). allOf: - "$ref": "#/components/schemas/phone" - properties: contact_name: type: string description: The name that the phone number is connected to. minLength: 1 maxLength: 900 inactive: type: boolean description: Whether this phone number has been inactivated by the user. readOnly: true primary: type: boolean description: Whether this is the primary contact phone number of the user. type: "$ref": "#/components/schemas/business_phone_type" description: The type of phone number provided. For example, home, work, or mobile. tags: type: array description: Array of tags for this phone number. items: "$ref": "#/components/schemas/phone_number_tag" minItems: 0 maxItems: 20 required: - type 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_document: title: Business document description: The documents associated with the business. allOf: - "$ref": "#/components/schemas/document" - properties: type: description: The actual type of the document. "$ref": "#/components/schemas/business_document_type" 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: Information related to the business like the nature of business, started date etc. "$ref": "#/components/schemas/business_incorporation" names: description: Name of the business. type: array items: "$ref": "#/components/schemas/business_name_detail" minItems: 0 maxItems: 5 emails: description: Email addresses of the business. type: array items: "$ref": "#/components/schemas/email" minItems: 0 maxItems: 5 website: description: Website of the business. type: string minLength: 1 maxLength: 50 format: uri addresses: description: List of addresses associated with the business entity. type: array items: "$ref": "#/components/schemas/business_address_detail" minItems: 0 maxItems: 5 phones: description: List of phone number associated with the business. type: array items: "$ref": "#/components/schemas/business_phone_detail" minItems: 0 maxItems: 5 documents: 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 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]+))$" individual_beneficial_owner: title: Individual_beneficial_owner description: The individual owner of the account. allOf: - "$ref": "#/components/schemas/person" - properties: percentage_of_ownership: description: The percentage of shares this person owns in the company. "$ref": "#/components/schemas/percentage" business_beneficial_owner: title: Business_beneficial_owner description: The business beneficial owner of the account. allOf: - "$ref": "#/components/schemas/business" - properties: percentage_of_ownership: description: The percentage of shares this person owns in the company. "$ref": "#/components/schemas/percentage" beneficial_owners: title: Beneficial_owners type: object description: Beneficial owners of the entity. properties: individual_beneficial_owners: description: Individual beneficial owners. type: array items: "$ref": "#/components/schemas/individual_beneficial_owner" minItems: 0 maxItems: 5 business_beneficial_owners: description: Business beneficial owners. type: array items: "$ref": "#/components/schemas/business_beneficial_owner" 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 office_bearer: title: Office Bearers description: The office bearer associated to the account. allOf: - "$ref": "#/components/schemas/person" - properties: role: description: The role of the office bearer in the company. "$ref": "#/components/schemas/office_bearer_role" 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 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: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 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" 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: 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 business_entity: title: Business_entity description: The business entity of the account. allOf: - description: Common business information section. "$ref": "#/components/schemas/business" - 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: description: List of Directors present as part of the business entity. type: array items: "$ref": "#/components/schemas/office_bearer" minItems: 0 maxItems: 5 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 account: title: Account type: object description: Common account object to hold the account related details of the customer. properties: individual_owners: 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 business_entity: description: Business entity of the account. type: object "$ref": "#/components/schemas/business_entity" 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}))?$" 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: partner_logo_url: type: string format: uri description: The partner logo URL to display in the customer's onboarding flow. minLength: 1 maxLength: 127 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: "^.+$" action_renewal_url: type: string format: uri description: If `renew_action_url` expires, redirect the customer to this URL. minLength: 1 maxLength: 127 show_add_credit_card: type: boolean description: Indicates whether to show an add credit card page. 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 - ROUTING_NUMBER_1 - ROUTING_NUMBER_2 - ROUTING_NUMBER_3 - SWIFT_CODE - BRANCH_CODE - INTERMEDIARY_SWIFT_CODE - BBAN - BBAN_ENCRYPTED - BBAN_HMAC - AGGREGATOR_YODLEE value: description: The value of account identifier. type: string minLength: 1 maxLength: 125 pattern: "^[A-Za-z0-9-_.+/ =]+" 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.
Note: The country code for Great Britain is GB and not UK 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.
format: ppaas_common_country_code_v2 maxLength: 2 minLength: 2 pattern: "^([A-Z]{2}|C2)$" address_portable-2: 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: maxLength: 100 admin_area_3: type: string description: A sub-locality, suburb, neighborhood, or district. Smaller than `admin_area_level_2`. Value is: 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: 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" 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.
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, Craven House. 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 required: - country_code 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 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 currency_code: description: The primary currency code of the bank account. "$ref": "#/components/schemas/currency_code" identifiers: type: array description: An array of instrument institute attributes. Used with the account number to uniquely identify the instrument. Value is: items: "$ref": "#/components/schemas/identifier" minItems: 0 maxItems: 20 branch_location: description: The branch location, if applicable. "$ref": "#/components/schemas/address_portable-2" mandate: description: Mandate for this bank account. "$ref": "#/components/schemas/mandate" required: - account_number - account_type financial_instruments: type: object title: Financial instrument. description: Financial instruments attached to this account. additionalProperties: false properties: banks: type: array description: An array of banks attached to this managed account. items: description: The bank account information. "$ref": "#/components/schemas/bank" minItems: 0 maxItems: 5 classic_api_integration: type: object title: CLASSIC API integration description: The integration details for PayPal CLASSIC endpoints. additionalProperties: false properties: {} 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 rest_api_integration: type: object title: REST API Integration description: The integration details for PayPal REST endpoints. additionalProperties: false properties: integration_method: type: string description: The REST-credential integration method. default: PAYPAL minLength: 1 maxLength: 255 pattern: "^[0-9A-Z_-]+$" enum: - BRAINTREE - PAYPAL 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 first_party_details: type: object title: REST First-Party Details description: The integration details for PayPal first party REST endpoints. additionalProperties: false properties: features: 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" 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 third_party_details: type: object title: REST Third-Party Details description: The integration details for PayPal REST endpoints. additionalProperties: false properties: features: 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 required: - features integration_details: type: object title: Integration Details description: The integration details for the partner and customer relationship. Required if `operation` is `API_INTEGRATION`. additionalProperties: false properties: classic_api_integration: "$ref": "#/components/schemas/classic_api_integration" rest_api_integration: "$ref": "#/components/schemas/rest_api_integration" 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. 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_-]+$" operation: type: object title: Operation description: The required operation to share data. additionalProperties: false 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 - SALESFORCE_REFERRAL api_integration_preference: "$ref": "#/components/schemas/integration_details" billing_agreement: "$ref": "#/components/schemas/billing_agreement" 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: - EXPRESS_CHECKOUT - PAYPAL_COMMERCE_PLATFORM_BUSINESS - PPPLUS - WEBSITE_PAYMENT_PRO - PAYMENT_METHODS - PPCP - ADVANCED_VAULTING - IZETTLE 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 dependent_process: {} legal_consent: type: object title: Legal Consent description: The customer-provided consent. additionalProperties: false properties: type: type: string description: The type of consent. `SHARE_DATA_CONSENT` gives consent to you to share your customer's data with PayPal. pattern: "^[0-9A-Z_-]+$" minLength: 1 maxLength: 127 enum: - SHARE_DATA_CONSENT granted: type: boolean description: Indicates whether the customer agreed to share this type of data. To give consent, specify `true`. To withhold consent, specify `false`. required: - type - granted 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 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 currencies: type: array description: Requested Currencies for a Transfer Method. minItems: 1 maxItems: 50 items: "$ref": "#/components/schemas/currency_code-2" 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: type: array description: Requested transfer method and currency for a country. minItems: 1 maxItems: 50 items: "$ref": "#/components/schemas/transfer_method" 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: type: array description: Requested country, transfer method and currency. minItems: 1 maxItems: 50 items: "$ref": "#/components/schemas/country_transfer_method_currency_selection" 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: 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 products: 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 capabilities: 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 outside_process_dependencies: type: array description: An array of dependent processes. items: "$ref": "#/components/schemas/dependent_process" minItems: 1 maxItems: 5 legal_consents: 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 payout_attributes: description: Payout specific attributes. "$ref": "#/components/schemas/payout_attributes" additionalProperties: true required: - operations - legal_consents create_referral_data_response: type: object title: Create Referral Data Response description: The shared referral data. properties: links: type: array title: Links description: An array of request-related [HATEOAS links](/docs/api/overview/#hateoas-links). readOnly: true additionalProperties: true minItems: 2 maxItems: 10 items: description: The request-related [HATEOAS link](/docs/api/reference/api-responses/#hateoas-links) information. "$ref": "#/components/schemas/link_description" 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: "^[0-9A-Za-z_-.]+$" 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]+$" referral_data: "$ref": "#/components/schemas/referral_data" links: title: Links type: array description: An array of request-related [HATEOAS links](/docs/api/overview/#hateoas-links). readOnly: true additionalProperties: true items: "$ref": "#/components/schemas/link_description" minItems: 0 maxItems: 2 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