# 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, Apple Pay, Google Pay, and Paze transactions.
    Enum: "Authorisation", "Purchase", "Verification", "EstimatedAuthorisation", "Payout"

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

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

  - `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. Set to true only when transactionMethod.intent.card is Verification; other card intents reject this combination.
    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 Electronic Commerce Indicator (ECI) from an external authentication process, indicating the level of security applied to the transaction.

Possible values:
  - 01: 3D Secure not available (non-3DS transaction).
  - 02: 3D Secure available but not used (authentication was attempted but was not possible).
  - 05: 3D Secure authentication successful (fully authenticated).
  - 06: 3D Secure authentication attempted (for example, issuer or cardholder not enrolled).
  - 07: 3D Secure authentication failed but the transaction is still allowed.
    Enum: "01", "02", "05", "06", "07"

  - `threeDSecureData.cardHolderAuthenticationVerificationValue` (string,null)
    The Cardholder Authentication Verification Value (CAVV) 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 EMV 3D Secure transaction status (transStatus) from an external authentication process.

Possible values:
  - Y: Authentication / account verification successful.
  - N: Not authenticated / account not verified; transaction denied.
  - U: Authentication / account verification could not be performed (for example, a technical problem).
  - A: Attempts processing performed; not authenticated or verified, but proof of attempted authentication or verification is provided.
  - C: Challenge required; additional authentication is required using the CReq/CRes messages.
  - D: Challenge required; decoupled authentication confirmed.
  - R: Authentication / account verification rejected; the issuer is rejecting authentication or verification and requests that authorisation not be attempted.
  - I: Informational only; the 3DS Requestor challenge preference is acknowledged.
    Enum: "Y", "N", "U", "A", "C", "D", "R", "I"

## 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
