# Get Events

Stream payment events such as payment status or quote responses

Endpoint: GET /v3/events
Version: 3.0.0
Security: bearerAuth

## Security:

  - `bearerAuth` (unknown)
    http bearer JWT

## Header parameters:

  - `last-event-id` (any)
    SSE Last-Event-ID: the UUID7 id of the last event the client received. On reconnect, streaming resumes from that event's timestamp (browser EventSource sends this automatically). Replay is best-effort — only events still retained in the stream can be re-delivered, and same-millisecond events may be re-sent, so treat the SSE id as an idempotency key.

## Response 200:

  - `200` (unknown)
    Server-sent event stream (`text/event-stream`). Each event carries an `event` name, a UUID7 `id` (echo it back via `Last-Event-ID` to resume), and a `data` line holding JSON: a `PaymentResponse` for `payment` events and a `PaymentError` for `payment-error` events.

## Response 200 fields (text/event-stream):

  - `data` (string)

  - `event` (string)
    Event type / data payload variant
    Enum: "payment", "payment-error"

  - `id` (string)
    UUID7 event id (SSE Last-Event-ID cursor)

  - `retry` (integer)

## Response 401:

  - `401` (unknown)
    Access token not valid or expired

## Response 401 fields (application/problem+json):

  - `type` (string, required)

  - `title` (string, required)

  - `status` (integer, required)

  - `detail` (any)

  - `instance` (any)

## Response 403:

  - `403` (unknown)
    Access token missing permissions to access the resource

## Response 403 fields (application/problem+json):

  - `type` (string, required)

  - `title` (string, required)

  - `status` (integer, required)

  - `detail` (any)

  - `instance` (any)

## Response 422:

  - `422` (unknown)
    One or more request fields are invalid

## Response 422 fields (application/problem+json):

  - `type` (string, required)

  - `title` (string, required)

  - `status` (integer, required)

  - `detail` (any)

  - `instance` (any)

  - `errors` (array, required)

  - `errors.detail` (string, required)

  - `errors.pointer` (string, required)

  - `errors.code` (any)

  - `errors.input` (any)

## Response 429:

  - `429` (unknown)
    Request rate too high; back off and retry. Where a `retry-after` response header is present it gives the seconds to wait.

## Response 429 fields (application/problem+json):

  - `type` (string, required)

  - `title` (string, required)

  - `status` (integer, required)

  - `detail` (any)

  - `instance` (any)

## Response 429 headers (application/problem+json):

  - `retry-after` (integer)
    Seconds to wait before retrying this request.

## Response 500:

  - `500` (unknown)
    Internal server error (contact administrator)

## Response 500 fields (application/problem+json):

  - `type` (string, required)

  - `title` (string, required)

  - `status` (integer, required)

  - `detail` (any)

  - `instance` (any)

## Response 200 examples:

  - `payment — accepted (queued)` (unknown)

  - `payment — submitted to provider (processing)` (unknown)

  - `payment-error — rejected (quote not found)` (unknown)

