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

# Search Quote Events

Returns a read-only, incremental feed of the changes Vooma recorded against
your quotes: status transitions, rate changes, and auto-reply outcomes.

Events are returned oldest first (`createdAt` ascending), so you can sync
incrementally by paging forward with `pagination.after` and persisting the last
`endCursor` you processed. To pick up changes since your last run, filter on
`dateFilter` (the event's `createdAt`) or `updatedAtFilter` (the event's
`updatedAt`).

## Event coverage

Only the event types listed in `QuoteEventType` are published. Internal Vooma
events — AI pipeline steps, rating lifecycle, extracted-data edits, owner and
customer reassignments, and simulation runs — are never returned.

Event history is best effort. Events recorded before this endpoint existed may
have incomplete details; for example `from` on a status change is always `null`
because Vooma does not store the prior status.

## Quote visibility

Quote events are scoped to the organization behind your API key and cover every
quote in that organization that has not been deleted. `POST /quotes/search`
applies additional relevance filters, so a `quoteId` returned here may not
appear in quote search results.


## OpenAPI

````yaml POST /quote-events/search
openapi: 3.1.0
info:
  title: api
  version: 0.1.0
  contact: {}
servers:
  - url: https://api.vooma.ai/v0
    description: Vooma API
security: []
paths:
  /quote-events/search:
    post:
      tags:
        - Quote Events
      operationId: GetQuoteEvents
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetQuoteEventsInput'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/GetQuoteEventsPayload'
                  - $ref: '#/components/schemas/V0.PaginatedResponse'
      security:
        - bearer: []
components:
  schemas:
    GetQuoteEventsInput:
      properties:
        pagination:
          $ref: '#/components/schemas/V0.Pagination'
        updatedAtFilter:
          $ref: '#/components/schemas/V0.DateFilter'
          description: Filters on the event's updatedAt timestamp.
        dateFilter:
          $ref: '#/components/schemas/V0.DateFilter'
          description: Filters on the event's createdAt timestamp.
        types:
          items:
            $ref: '#/components/schemas/QuoteEventType'
          type: array
        quoteIds:
          items:
            type: string
          type: array
      type: object
    GetQuoteEventsPayload:
      properties:
        quoteEvents:
          items:
            $ref: '#/components/schemas/QuoteEvent'
          type: array
      required:
        - quoteEvents
      type: object
    V0.PaginatedResponse:
      properties:
        pageInfo:
          properties:
            endCursor:
              type: string
            startCursor:
              type: string
            hasPreviousPage:
              type: boolean
            hasNextPage:
              type: boolean
          type: object
        totalCount:
          type: number
          format: double
        count:
          type: number
          format: double
      type: object
    V0.Pagination:
      properties:
        limit:
          type: integer
          format: int32
        after:
          type: string
        before:
          type: string
        last:
          type: integer
          format: int32
        first:
          type: integer
          format: int32
      type: object
    V0.DateFilter:
      properties:
        end:
          type: string
          format: date-time
        start:
          type: string
          format: date-time
      type: object
    QuoteEventType:
      description: |-
        Stable, public subset of the events Vooma records against a quote.
        Internal event types are only exposed once they are explicitly mapped
        onto one of these values.
      enum:
        - STATUS_CHANGED
        - RATE_CHANGED
        - AUTO_REPLY_SENT
        - AUTO_REPLY_SEND_FAILED
        - AUTO_REPLY_DRAFTED
        - AUTO_REPLY_DRAFT_FAILED
      type: string
    QuoteEvent:
      anyOf:
        - $ref: '#/components/schemas/QuoteStatusChangedEvent'
        - $ref: '#/components/schemas/QuoteRateChangedEvent'
        - $ref: '#/components/schemas/QuoteAutoReplyEvent'
    QuoteStatusChangedEvent:
      allOf:
        - $ref: '#/components/schemas/QuoteEventProperties'
        - properties:
            from:
              allOf:
                - $ref: '#/components/schemas/QuoteStatus'
              nullable: true
              description: >-
                The status the quote moved away from. Vooma does not record this
                today,

                so it is always null.
            to:
              $ref: '#/components/schemas/QuoteStatus'
            type:
              $ref: '#/components/schemas/QuoteEventType.STATUS_CHANGED'
          required:
            - from
            - to
            - type
          type: object
    QuoteRateChangedEvent:
      allOf:
        - $ref: '#/components/schemas/QuoteEventProperties'
        - properties:
            currentComponents:
              items:
                $ref: '#/components/schemas/V0.RateComponent'
              type: array
            previousComponents:
              items:
                $ref: '#/components/schemas/V0.RateComponent'
              type: array
            currentAmount:
              allOf:
                - $ref: '#/components/schemas/Amount'
              nullable: true
            previousAmount:
              allOf:
                - $ref: '#/components/schemas/Amount'
              nullable: true
            method:
              anyOf:
                - $ref: '#/components/schemas/RatingMethod'
                - type: string
              description: >-
                Typically one of the RatingMethod enum values but subject to
                change.
            rateType:
              $ref: '#/components/schemas/QuoteEventRateType'
            type:
              $ref: '#/components/schemas/QuoteEventType.RATE_CHANGED'
          required:
            - currentComponents
            - previousComponents
            - currentAmount
            - previousAmount
            - type
          type: object
    QuoteAutoReplyEvent:
      allOf:
        - $ref: '#/components/schemas/QuoteEventProperties'
        - properties:
            type:
              $ref: '#/components/schemas/QuoteAutoReplyEventType'
          required:
            - type
          type: object
    QuoteEventProperties:
      properties:
        actor:
          $ref: '#/components/schemas/QuoteEventActor'
        updatedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        quoteId:
          type: string
        id:
          type: string
      required:
        - actor
        - updatedAt
        - createdAt
        - quoteId
        - id
      type: object
    QuoteStatus:
      enum:
        - NEW
        - QUOTED
        - WON
        - LOST
      type: string
    QuoteEventType.STATUS_CHANGED:
      enum:
        - STATUS_CHANGED
      type: string
    V0.RateComponent:
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        type:
          $ref: '#/components/schemas/RateComponentType'
        description:
          type: string
      required:
        - amount
        - type
        - description
      type: object
    Amount:
      $ref: '#/components/schemas/V0Financials.Amount'
    RatingMethod:
      enum:
        - CUSTOM
        - DAT
        - GREENSCREENS
        - BITFREIGHTER
        - TRANSFIX
        - MANUAL
        - DIRECT_OFFER
      type: string
    QuoteEventRateType:
      enum:
        - CARRIER
        - CUSTOMER
      type: string
    QuoteEventType.RATE_CHANGED:
      enum:
        - RATE_CHANGED
      type: string
    QuoteAutoReplyEventType:
      anyOf:
        - $ref: '#/components/schemas/QuoteEventType.AUTO_REPLY_SENT'
        - $ref: '#/components/schemas/QuoteEventType.AUTO_REPLY_SEND_FAILED'
        - $ref: '#/components/schemas/QuoteEventType.AUTO_REPLY_DRAFTED'
        - $ref: '#/components/schemas/QuoteEventType.AUTO_REPLY_DRAFT_FAILED'
    QuoteEventActor:
      anyOf:
        - $ref: '#/components/schemas/QuoteEventUserActor'
        - $ref: '#/components/schemas/QuoteEventVoomaActor'
    RateComponentType:
      enum:
        - LINE_HAUL
        - FUEL_SURCHARGE
        - MANUAL_ADJUSTMENT
        - MARGIN
        - TMS_ADJUSTMENT
        - MESSAGE_ADJUSTMENT
        - TOTAL
        - OTHER
      type: string
    V0Financials.Amount:
      properties:
        uom:
          $ref: '#/components/schemas/CurrencyUnits'
        value:
          type: number
          format: double
      required:
        - uom
        - value
      type: object
    QuoteEventType.AUTO_REPLY_SENT:
      enum:
        - AUTO_REPLY_SENT
      type: string
    QuoteEventType.AUTO_REPLY_SEND_FAILED:
      enum:
        - AUTO_REPLY_SEND_FAILED
      type: string
    QuoteEventType.AUTO_REPLY_DRAFTED:
      enum:
        - AUTO_REPLY_DRAFTED
      type: string
    QuoteEventType.AUTO_REPLY_DRAFT_FAILED:
      enum:
        - AUTO_REPLY_DRAFT_FAILED
      type: string
    QuoteEventUserActor:
      properties:
        user:
          $ref: '#/components/schemas/User'
        type:
          $ref: '#/components/schemas/QuoteEventActorType.USER'
      required:
        - user
        - type
      type: object
    QuoteEventVoomaActor:
      properties:
        type:
          $ref: '#/components/schemas/QuoteEventActorType.VOOMA'
      required:
        - type
      type: object
      description: |-
        Vooma itself acted, either through its AI or through an automation that
        runs without a user.
    CurrencyUnits:
      enum:
        - USD
        - CAD
      type: string
    User:
      $ref: '#/components/schemas/V0User.User'
    QuoteEventActorType.USER:
      enum:
        - USER
      type: string
    QuoteEventActorType.VOOMA:
      enum:
        - VOOMA
      type: string
    V0User.User:
      $ref: '#/components/schemas/WithId_UserData_'
    WithId_UserData_:
      allOf:
        - properties:
            id:
              type: string
          required:
            - id
          type: object
        - $ref: '#/components/schemas/UserData'
    UserData:
      $ref: '#/components/schemas/V0User.UserData'
    V0User.UserData:
      properties:
        externalIds:
          items:
            $ref: '#/components/schemas/UserExternalIdentifier'
          type: array
      required:
        - externalIds
      type: object
    UserExternalIdentifier:
      properties:
        type:
          anyOf:
            - $ref: '#/components/schemas/UserExternalIdentifierType'
            - type: string
          description: |-
            Typically one of the UserExternalIdentifierType enum values
            but subject to change
        value:
          type: string
      required:
        - type
        - value
      type: object
      additionalProperties: false
    UserExternalIdentifierType:
      enum:
        - CUSTOM
        - EMAIL
        - PHONE
        - VOOMA_USERNAME
      type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: API Key

````