# Get state transitions by payment ID

Gets the state transitions for a payment by ID.

Endpoint: GET /v2/payments/{paymentId}/states
Version: 2025.11
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer JWT

## Path parameters:

  - `paymentId` (string, required)
    Unique identifier of the payment for which you want to get state transition information.

## Response 200:

  - `200` (unknown)
    Successfully fetched payment state transitions.

## Response 200 fields (application/json):

  - `stateTransitions` (array, required)

  - `stateTransitions.updatedFrom` (string, required)
    Enum: "INITIATED", "VALIDATING", "TRANSFERRING", "COMPLETED", "FAILED", "QUOTED", "RETURNED"

  - `stateTransitions.updatedAt` (string, required)
    The timestamp when the payment state was updated.
    Example: 2024-08-13T20:15:50.990995Z

## Response 400:

  - `400` (unknown)
    Invalid input variables for the payment.

## Response 400 fields (application/json):

  - `errors` (array, required)
    List of payment errors

  - `errors.code` (string, required)
    A unique identifier for  the error
    Example: SYS_090

  - `errors.type` (string, required)
    A high-level categorization of the error, indicating the type of issue that occurred
    Example: SYSTEM_ERROR

  - `errors.title` (string, required)
    A brief, user-friendly description of the error
    Example: Internal server error

  - `errors.description` (string, required)
    A more detailed explanation of the error, potentially including information about what caused the error and the next steps
    Example: Unable to process the request due to an internal server error.

  - `errors.timestamp` (string, required)
    Example: 2024-11-21T14:15:22Z

  - `status` (integer, required)
    Error Response Status
    Example: 400

## Response 404:

  - `404` (unknown)
    Payment not found.

## Response 404 fields (application/json):

  - `errors` (array, required)
    List of payment errors

  - `errors.code` (string, required)
    A unique identifier for  the error
    Example: SYS_090

  - `errors.type` (string, required)
    A high-level categorization of the error, indicating the type of issue that occurred
    Example: SYSTEM_ERROR

  - `errors.title` (string, required)
    A brief, user-friendly description of the error
    Example: Internal server error

  - `errors.description` (string, required)
    A more detailed explanation of the error, potentially including information about what caused the error and the next steps
    Example: Unable to process the request due to an internal server error.

  - `errors.timestamp` (string, required)
    Example: 2024-11-21T14:15:22Z

  - `status` (integer, required)
    Error Response Status
    Example: 400

## Response 500:

  - `500` (unknown)
    Internal processing error

## Response 500 fields (application/json):

  - `errors` (array, required)
    List of payment errors

  - `errors.code` (string, required)
    A unique identifier for  the error
    Example: SYS_090

  - `errors.type` (string, required)
    A high-level categorization of the error, indicating the type of issue that occurred
    Example: SYSTEM_ERROR

  - `errors.title` (string, required)
    A brief, user-friendly description of the error
    Example: Internal server error

  - `errors.description` (string, required)
    A more detailed explanation of the error, potentially including information about what caused the error and the next steps
    Example: Unable to process the request due to an internal server error.

  - `errors.timestamp` (string, required)
    Example: 2024-11-21T14:15:22Z

  - `status` (integer, required)
    Error Response Status
    Example: 400

## Response 400 examples:

  - `badRequest` (unknown)
    Default response when the request is malformed or a parameter fails validation.

  - `invalidRequestBody` (unknown)
    Returned when a field in the request body has an unexpected type or value.

## Response 404 examples:

  - `resourceNotFound` (unknown)
    Returned when no resource matches the supplied identifier.

## Response 500 examples:

  - `internalServerError` (unknown)
    Default response for an unhandled server-side failure.

