> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useroutr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Watch one funding intent as it moves

> Server-sent events. Each message is a lifecycle transition, and the
current state is sent first so a late subscriber is never behind. The
stream closes once the intent reaches a terminal state.

Poll `GET /funding_intents/{id}` only if streaming is unavailable, and
back off exponentially rather than at a fixed interval.




## OpenAPI

````yaml /api-reference/openapi.yaml get /events
openapi: 3.1.0
info:
  title: Useroutr API
  version: 1.0.0
  description: |
    Universal application funding. Users fund an application with whatever they
    hold, on whatever rail, and the application receives exactly what it needs,
    credited exactly once.

    This document is the single source of truth for every wire type. Server
    handlers, the SDK, the checkout, and the dashboard all consume types
    generated from it. A handler change without a regenerated type fails CI.
servers:
  - url: https://api.useroutr.com/v1
    description: Production
  - url: https://api.sandbox.useroutr.com/v1
    description: Sandbox
security:
  - secretKey: []
tags:
  - name: Funding intents
  - name: Funding addresses
  - name: Customers
  - name: Registry
  - name: Webhooks
paths:
  /events:
    get:
      tags:
        - Checkout
      summary: Watch one funding intent as it moves
      description: |
        Server-sent events. Each message is a lifecycle transition, and the
        current state is sent first so a late subscriber is never behind. The
        stream closes once the intent reaches a terminal state.

        Poll `GET /funding_intents/{id}` only if streaming is unavailable, and
        back off exponentially rather than at a fixed interval.
      operationId: streamEvents
      parameters:
        - name: funding_intent_id
          in: query
          required: true
          schema:
            type: string
        - name: Last-Event-ID
          in: header
          required: false
          description: Resume after this transition rather than replaying from the start.
          schema:
            type: string
      responses:
        '200':
          description: An event stream.
          content:
            text/event-stream:
              schema:
                type: string
        default:
          $ref: '#/components/responses/Error'
components:
  responses:
    Error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - type
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            type:
              type: string
              enum:
                - validation_error
                - authentication_error
                - permission_error
                - not_found
                - conflict
                - rate_limit
                - provider_error
                - compliance_error
                - internal_error
            param:
              type:
                - string
                - 'null'
            retryable:
              type: boolean
            retry_after_seconds:
              type: integer
            docs_url:
              type: string
              format: uri
            request_id:
              type: string
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Server-side only. Never ships to a browser.

````