{ "openapi": "3.0.3", "info": { "title": "Payment Experience Web Profiles", "description": "Use the Payment Experience API to create seamless payment experience profiles. For information about how to create a PayPal payment with a web experience profile, see Web experience profiles.", "version": "1.3", "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": "web-profiles", "description": "Use the `/payment-experience/web-profiles` resource to create, show details for, list, update, partially update, and delete web experience profiles." } ], "externalDocs": { "url": "https://developer.paypal.com/docs/api/payment-experience/v1/" }, "paths": { "/v1/payment-experience/web-profiles": { "post": { "summary": "Create web experience profile", "description": "Creates a web experience profile. In the JSON request body, specify the profile name and details.", "operationId": "web-profile.create", "responses": { "200": { "description": "A successful request, with or without the optional PayPal-Request-Id request header, returns the HTTP 201 Created status code and a JSON response body that shows the profile details and the ID of the profile. Any subsequent calls with the same PayPal-Request-Id request header value within a three-hour window returns the HTTP 200 OK status code and a JSON response body that shows the profile details and the ID of the profile.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/web_profile" } } } }, "201": { "description": "A successful request, with or without the optional PayPal-Request-Id request header, returns the HTTP 201 Created status code and a JSON response body that shows the profile details and the ID of the profile. Any subsequent calls with the same PayPal-Request-Id request header value within a three-hour window returns the HTTP 200 OK status code and a JSON response body that shows the profile details and the ID of the profile.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/web_profile" } } } }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": [ { "$ref": "#/components/parameters/paypal_request_id" } ], "requestBody": { "$ref": "#/components/requestBodies/web_profile" }, "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] }, "get": { "summary": "List web experience profiles", "description": "Lists the latest 20 web experience profiles for a merchant or subject. To show details for these or additional profiles, you can show web experience profile details by ID.", "operationId": "web-profile.get-list", "responses": { "200": { "description": "A successful request returns the HTTP `200 OK` status code and a JSON response body that lists the latest 20 profiles that the merchant owns, with details. To show details for these or additional profiles, you can show web experience profile details by ID.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/web_profile_list" } } } }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] } }, "/v1/payment-experience/web-profiles/{id}": { "put": { "summary": "Update web experience profile", "description": "Updates a web experience profile, by ID. In the JSON request body, specify the profile details. If your request omits any profile parameters, any previously set values for those parameters are removed.", "operationId": "web-profile.update", "responses": { "204": { "description": "A successful request returns the HTTP `204 No Content` status code with no JSON response body." }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ], "requestBody": { "$ref": "#/components/requestBodies/web_profile" }, "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] }, "patch": { "summary": "Partially update web experience profile", "description": "Partially-updates a web experience profile, by ID. In the JSON request body, specify a patch object, the path of the profile location to update, and a new value.", "operationId": "web-profile.partial-update", "responses": { "204": { "description": "A successful request returns the HTTP `204 No Content` status code with no JSON response body." }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/patch_request" }, "examples": { "patch_request": { "value": [ { "op": "add", "path": "/presentation/brand_name", "value": "new_brand_name" }, { "op": "remove", "path": "/flow_config/landing_page_type" } ] } } } } }, "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] }, "get": { "summary": "Show web experience profile details by ID", "description": "Shows details for a web experience profile, by ID.", "operationId": "web-profile.get", "responses": { "200": { "description": "A successful request returns the HTTP `200 OK` status code and a JSON response body that shows the profile details.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/web_profile" } } } }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ], "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] }, "delete": { "summary": "Delete web experience profile", "description": "Deletes a web experience profile, by ID.", "operationId": "web-profile.delete", "responses": { "204": { "description": "A successful request returns the HTTP `204 No Content` status code with no JSON response body." }, "500": { "description": "An internal server error occurred. The request returns the HTTP `500 Internal Server Error` status code.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "default": { "description": "The error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": [ { "$ref": "#/components/parameters/id" } ], "security": [ { "Oauth2": ["https://uri.paypal.com/services/payments/payment"] }, { "Oauth2": [ "https://uri.paypal.com/services/payments/realtimepayment" ] } ], "tags": ["web-profiles"] } } }, "components": { "requestBodies": { "web_profile": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/web_profile" } } } } }, "securitySchemes": { "Oauth2": { "type": "oauth2", "description": "Oauth 2.0 authentication", "flows": { "clientCredentials": { "tokenUrl": "/v1/oauth2/token", "scopes": { "https://uri.paypal.com/services/payments/payment": "New special privileged scope available for payment and manage payment experience profiles. Available to internal clients only.", "https://uri.paypal.com/services/payments/realtimepayment": "Permission to do any real-time payment and manage-payment experience profiles with support for sale, authorize, and order intents." } } } } }, "schemas": { "error": { "type": "object", "title": "Error", "description": "The error information.", "properties": { "name": { "type": "string", "description": "The human-readable, unique name of the error.", "readOnly": true }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes.", "readOnly": true }, "message": { "type": "string", "description": "The message that describes the error.", "readOnly": true }, "information_link": { "type": "string", "description": "The URI to detailed information related to this error for the developer.", "readOnly": true }, "details": { "$ref": "#/components/schemas/error_details_list" } }, "required": ["name", "message", "information_link"] }, "error_400": { "type": "object", "title": "Bad Request Error", "description": "Request is not well-formed, syntactically incorrect, or violates schema.", "properties": { "name": { "type": "string", "enum": ["INVALID_REQUEST"] }, "message": { "type": "string", "enum": [ "Request is not well-formed, syntactically incorrect, or violates schema." ] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_401": { "type": "object", "title": "Unauthorized Error", "description": "Authentication failed due to missing Authorization header, or invalid authentication credentials.", "properties": { "name": { "type": "string", "enum": ["AUTHENTICATION_FAILURE"] }, "message": { "type": "string", "enum": [ "Authentication failed due to missing authorization header, or invalid authentication credentials." ] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_403": { "type": "object", "title": "Not Authorized Error", "description": "The client is not authorized to access this resource, although it may have valid credentials. ", "properties": { "name": { "type": "string", "enum": ["NOT_AUTHORIZED"] }, "message": { "type": "string", "enum": ["Authorization failed due to insufficient permissions."] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_404": { "type": "object", "title": "Not found Error", "description": "The server has not found anything matching the request URI. This either means that the URI is incorrect or the resource is not available.", "properties": { "name": { "type": "string", "enum": ["RESOURCE_NOT_FOUND"] }, "message": { "type": "string", "enum": ["The specified resource does not exist."] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_409": { "type": "object", "title": "Resource Conflict Error", "description": "The server has detected a conflict while processing this request.", "properties": { "name": { "type": "string", "enum": ["RESOURCE_CONFLICT"] }, "message": { "type": "string", "enum": [ "The server has detected a conflict while processing this request." ] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_415": { "type": "object", "title": "Unsupported Media Type Error", "description": "The server does not support the request payload's media type.", "properties": { "name": { "type": "string", "enum": ["UNSUPPORTED_MEDIA_TYPE"] }, "message": { "type": "string", "enum": [ "The server does not support the request payload's media type." ] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_422": { "type": "object", "title": "Unprocessable Entity Error", "description": "The requested action cannot be performed and may require interaction with APIs or processes outside of the current request. This is distinct from a 500 response in that there are no systemic problems limiting the API from performing the request.", "properties": { "name": { "type": "string", "enum": ["UNPROCESSABLE_ENTITY"] }, "message": { "type": "string", "enum": [ "The requested action could not be performed, semantically incorrect, or failed business validation." ] }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/error_details" } }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } } }, "error_500": { "type": "object", "title": "Internal Server Error", "description": "This is either a system or application error, and generally indicates that although the client appeared to provide a correct request, something unexpected has gone wrong on the server.", "properties": { "name": { "type": "string", "enum": ["INTERNAL_SERVER_ERROR"] }, "message": { "type": "string", "enum": ["An internal server error occurred."] }, "debug_id": { "type": "string", "description": "The PayPal internal ID. Used for correlation purposes." }, "links": { "description": "An array of request-related [HATEOAS links](https://en.wikipedia.org/wiki/HATEOAS).", "type": "array", "minItems": 0, "maxItems": 10000, "items": { "$ref": "#/components/schemas/error_link_description" } } }, "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" } }, "error_default": { "description": "The default error response.", "oneOf": [ { "$ref": "#/components/schemas/error_400" }, { "$ref": "#/components/schemas/error_401" }, { "$ref": "#/components/schemas/error_403" }, { "$ref": "#/components/schemas/error_404" }, { "$ref": "#/components/schemas/error_409" }, { "$ref": "#/components/schemas/error_415" }, { "$ref": "#/components/schemas/error_422" }, { "$ref": "#/components/schemas/error_500" }, { "$ref": "#/components/schemas/error_503" } ] }, "error_details": { "title": "Error Details", "type": "object", "description": "The error details. Required for client-side `4XX` errors.", "properties": { "field": { "type": "string", "description": "The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors." }, "value": { "type": "string", "description": "The value of the field that caused the error." }, "location": { "$ref": "#/components/schemas/error_location" }, "issue": { "type": "string", "description": "The unique, fine-grained application-level error code." }, "description": { "type": "string", "description": "The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value." } }, "required": ["issue"] }, "error_details-2": { "type": "object", "title": "Error Details", "description": "The error details. Required for client-side `4XX` errors.", "properties": { "field": { "type": "string", "description": "The name of the field that caused the error." }, "issue": { "type": "string", "description": "The reason for the error." } }, "required": ["field", "issue"] }, "error_details_list": { "type": "array", "description": "An array of additional details for the error.", "readOnly": true, "items": { "$ref": "#/components/schemas/error_details-2" } }, "error_link_description": { "title": "Link Description", "description": "The request-related [HATEOAS link](/api/rest/responses/#hateoas-links) information.", "type": "object", "required": ["href", "rel"], "properties": { "href": { "description": "The complete target URL. To make the related call, combine the method with this [URI Template-formatted](https://tools.ietf.org/html/rfc6570) link. For pre-processing, include the `$`, `(`, and `)` characters. The `href` is the key HATEOAS component that links a completed call with a subsequent call.", "type": "string", "minLength": 0, "maxLength": 20000, "pattern": "^.*$" }, "rel": { "description": "The [link relation type](https://tools.ietf.org/html/rfc5988#section-4), which serves as an ID for a link that unambiguously describes the semantics of the link. See [Link Relations](https://www.iana.org/assignments/link-relations/link-relations.xhtml).", "type": "string", "minLength": 0, "maxLength": 100, "pattern": "^.*$" }, "method": { "description": "The HTTP method required to make the related call.", "type": "string", "minLength": 3, "maxLength": 6, "pattern": "^[A-Z]*$", "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"] } } }, "error_location": { "type": "string", "description": "The location of the field that caused the error. Value is `body`, `path`, or `query`.", "enum": ["body", "path", "query"], "default": "body" }, "flow_config": { "type": "object", "title": "Flow Configuration", "description": "The flow configuration parameters.", "properties": { "landing_page_type": { "type": "string", "minLength": 1, "maxLength": 255, "description": "The type of landing page to display on the PayPal site for user checkout. To use the non-PayPal account landing page, set to `Billing`. To use the PayPal account login landing page, set to `Login`.", "x-enumDescriptions": ["login", "billing"], "enum": ["login", "billing"] }, "bank_txn_pending_url": { "type": "string", "format": "uri", "minLength": 1, "maxLength": 127, "description": "The merchant site URL to display after a bank transfer payment. In Germany, valid only for the Giropay payment method or bank transfer payment method." }, "user_action": { "type": "string", "description": "Presents either the **Continue** or **Pay Now** checkout flow to the customer.

Default is **Continue**, or `user_action=continue`. When you do not know the final payment amount, accept this default flow, which redirects the customer to the PayPal payment page with the **Continue** button. When the customer clicks **Continue**, the customer can change the payment amount.

When you know the final payment amount, set `user_action=commit` to choose the **Pay Now** flow, which redirects the customer to the PayPal payment page with the **Pay Now** button. When the customer clicks **Pay Now**, the payment is processed immediately.", "minLength": 1, "maxLength": 255, "x-enumDescriptions": ["COMMIT"], "enum": ["COMMIT"] }, "return_uri_http_method": { "type": "string", "description": "The HTTP method to use to redirect the customer to a return URL. Value is `GET` or `POST`.", "minLength": 1, "maxLength": 255, "x-enumDescriptions": ["GET", "POST"], "enum": ["GET", "POST"] } } }, "input_fields": { "type": "object", "title": "Input Field Customization", "description": "The input field customization parameters.", "properties": { "no_shipping": { "type": "integer", "minimum": 0, "maximum": 2, "description": "Indicates whether PayPal displays shipping address fields on the experience pages. Value is:" }, "address_override": { "type": "integer", "minimum": 0, "maximum": 1, "description": "Indicates whether to display the shipping address that is passed to this call rather than the one on file for this buyer on the PayPal experience pages. Value is:" } } }, "patch": { "type": "object", "title": "Patch", "description": "The JSON patch object to apply partial updates to resources.", "properties": { "op": { "type": "string", "description": "The operation.", "x-enumDescriptions": [ { "value": "add", "description": "Depending on the target location reference, completes one of these functions:The value parameter defines the value to add. For more information, see 4.1. add." }, { "value": "remove", "description": "Removes the value at the target location. For the operation to succeed, the target location must exist. For more information, see 4.2. remove." }, { "value": "replace", "description": "Replaces the value at the target location with a new value. The operation object must contain a value parameter that defines the replacement value. For the operation to succeed, the target location must exist. For more information, see 4.3. replace." }, { "value": "move", "description": "Removes the value at a specified location and adds it to the target location. The operation object must contain a from parameter, which is a string that contains a JSON pointer value that references the location in the target document from which to move the value. For the operation to succeed, the from location must exist. For more information, see 4.4. move." }, { "value": "copy", "description": "Copies the value at a specified location to the target location. The operation object must contain a from parameter, which is a string that contains a JSON pointer value that references the location in the target document from which to copy the value. For the operation to succeed, the from location must exist. For more information, see 4.5. copy." }, { "value": "test", "description": "Tests that a value at the target location is equal to a specified value. The operation object must contain a value parameter that defines the value to compare to the target location's value. For the operation to succeed, the target location must be equal to the value value. For test, equal indicates that the value at the target location and the value that value defines are of the same JSON type. The data type of the value determines how equality is defined:
TypeConsidered equal if both values
stringsContain the same number of Unicode characters and their code points are byte-by-byte equal.
numbersAre numerically equal.
arraysContain the same number of values, and each value is equal to the value at the corresponding position in the other array, by using these type-specific rules.
objectsContain the same number of parameters, and each parameter is equal to a parameter in the other object, by comparing their keys (as strings) and their values (by using these type-specific rules).
literals (false, true, and null)Are the same. The comparison is a logical comparison. For example, whitespace between the parameter values of an array is not significant. Also, ordering of the serialization of object parameters is not significant.
For more information, see 4.6. test." } ], "enum": ["add", "remove", "replace", "move", "copy", "test"] }, "path": { "type": "string", "description": "The JSON Pointer to the target document location at which to complete the operation." }, "value": { "type": [ "number", "integer", "string", "boolean", "null", "array", "object" ], "title": "Patch Value", "description": "The value to apply. The remove operation does not require a value." }, "from": { "type": "string", "description": "The JSON Pointer to the target document location from which to move the value. Required for the move operation." } }, "required": ["op"] }, "patch_request": { "type": "array", "title": "Patch Request", "description": "An array of JSON patch objects to apply partial updates to resources.", "items": { "$ref": "#/components/schemas/patch" } }, "presentation": { "type": "object", "title": "Style and Presentation", "description": "The style and presentation parameters.", "properties": { "brand_name": { "type": "string", "minLength": 1, "maxLength": 127, "description": "A label that overrides the business name in the PayPal account on the PayPal pages. Character length and limitations: 127 single-byte alphanumeric characters." }, "logo_image": { "type": "string", "minLength": 1, "maxLength": 127, "description": "A URL to the logo image. A valid media type is `.gif`, `.jpg`, or `.png`. The image's maximum width is 190 pixels and maximum height is 60 pixels. PayPal crops images that are larger. PayPal places your logo image at the top of the cart review area. PayPal recommends that you store the image on a secure (HTTPS) server. Otherwise, web browsers display a message that checkout pages contain non-secure items. Character length and limitations: 127 single-byte alphanumeric characters." }, "locale_code": { "type": "string", "minLength": 2, "maxLength": 5, "description": "The locale of pages that the PayPal payment experience displays. A valid value is `AU`, `AT`, `BE`, `BR`, `CA`, `CH`, `CN`, `DE`, `ES`, `GB`, `FR`, `IT`, `NL`, `PL`, `PT`, `RU`, or `US`. A 5-character code is also valid for languages in these countries: `da_DK`, `he_IL`, `id_ID`, `ja_JP`, `no_NO`, `pt_BR`, `ru_RU`, `sv_SE`, `th_TH`, `zh_CN`, `zh_HK`, or `zh_TW`." } } }, "web_profile": { "type": "object", "description": "A payment web experience profile.", "title": "Web Profile", "required": ["name"], "properties": { "id": { "type": "string", "readOnly": true, "minLength": 22, "maxLength": 22, "description": "The ID of the web experience profile." }, "name": { "type": "string", "minLength": 1, "maxLength": 50, "description": "The web experience profile name. Must be unique for a set of profiles for a merchant." }, "temporary": { "type": "boolean", "description": "Indicates whether the profile persists for three hours or permanently. To persist the profile permanently, set to `false`. To persist the profile for three hours, set to `true`." }, "flow_config": { "$ref": "#/components/schemas/flow_config" }, "input_fields": { "$ref": "#/components/schemas/input_fields" }, "presentation": { "$ref": "#/components/schemas/presentation" } } }, "web_profile_list": { "type": "array", "title": "Web Profile List", "description": "An array of web profiles.", "minItems": 1, "maxItems": 20, "items": { "$ref": "#/components/schemas/web_profile" } } }, "parameters": { "paypal_request_id": { "name": "PayPal-Request-Id", "in": "header", "description": "The server stores keys for three hours.", "required": true, "schema": { "type": "string" } }, "id": { "name": "id", "in": "path", "description": "The ID of the profile to delete.", "required": true, "schema": { "type": "string" } } } } }