# Modify a session

This endpoint allows updating session details after creation, including intent modification, amount updates, authentication decision, transaction decision, and 3DS external data.

Endpoint: PATCH /session-details/{sessionId}
Version: 1.0.0
Security: PXP-UST1

## Path parameters:

  - `sessionId` (string, required)
    The unique identifier of the session to modify.

## Request fields (application/json):

  - `transactionMethod` (object)
    Details about the transaction method.

  - `transactionMethod.intent` (object)
    Details about the intent for different payment methods.

  - `transactionMethod.intent.card` (string)
    The intent for card transactions.
    Enum: "Authorisation", "Purchase", "Verification", "EstimatedAuthorisation", "Payout"

  - `transactionMethod.intent.paypal` (string)
    The intent for PayPal transactions.
    Enum: "Authorisation", "Purchase"

  - `amounts` (object)
    Details about the transaction amount.

  - `amounts.currencyCode` (string)
    The currency code associated with the transaction, in ISO 4217 format.
    Example: "EUR"

  - `amounts.transactionValue` (number)
    The transaction amount. The numbers after the decimal will be zero padded if they are less than the expected currencyCode exponent. For example, GBP 1.1 = GBP 1.10, EUR 1 = EUR 1.00, or BHD 1.3 = 1.300. The transaction will be rejected if numbers after the decimal are greater than the expected currencyCode exponent (e.g., GBP 1.234), or if a decimal is supplied when the currencyCode of the exponent does not require it (e.g., JPY 1.0).
    Example: 20

  - `addressVerification` (object)
    Details about the cardholder's address. These help in the validation and fraud prevention process by matching the provided address with the cardholder's address on file.

  - `addressVerification.countryCode` (string)
    The country associated with the cardholder's address, in ISO 3166-1 alpha-2 format.
    Example: "GB"

  - `addressVerification.houseNumberOrName` (string)
    The house number or name associated with the cardholder's address.
    Example: "10 Downing Street"

  - `addressVerification.postalCode` (string)
    The postal code of the cardholder's address.
    Example: "SW1A 2AA"

  - `identityVerification` (object)
    Details about the cardholder's identity. These help in ensuring that the information provided matches the cardholder's details on file.

  - `identityVerification.nameVerification` (boolean)
    Whether the cardholder's name matches the name associated with the registered address on file.
    Example: true

  - `authentication` (boolean)
    Whether or not to proceed with authentication.
    Example: true

  - `allowTransaction` (boolean,null)
    Whether the transaction is allowed to proceed. If not provided, defaults to null (no decision made yet).
    Example: true

  - `threeDSecureData` (object)
    Details about the 3D Secure authentication data from an external authentication process.

  - `threeDSecureData.threeDSecureVersion` (string,null)
    The 3DS protocol version.
    Example: "2.2"

  - `threeDSecureData.electronicCommerceIndicator` (string,null)
    The ECI value indicating the authentication result.
    Example: "05"

  - `threeDSecureData.cardHolderAuthenticationVerificationValue` (string,null)
    The CAVV value from 3DS authentication.
    Example: "CAVV1234567890"

  - `threeDSecureData.directoryServerTransactionId` (string,null)
    The Directory Server transaction identifier.
    Example: "550e8400-e29b-41d4-a716-446655440000"

  - `threeDSecureData.threeDSecureTransactionStatus` (string,null)
    The 3DS transaction status.
    Example: "Y"

## Response 400 fields (application/json):

  - `errorCode` (string,null)
    The error code identifying the type of error.

  - `errorReason` (string,null)
    The human-readable error message.

  - `correlationId` (string,null)
    The unique identifier for tracking this request.

  - `details` (array,null)
    Additional error details.


## Response 204 fields
