{ "openapi": "3.0.3", "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.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": "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" }, "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.<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)$" }, "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": { "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 } } } }, "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.<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})$" }, "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. <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 } } }, "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.<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": { "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:<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" ] }, "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:<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" ] }, "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.<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)$" }, "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:<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-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.<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 } } } }, "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:<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 }, "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" } } } } }