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

> ## Agent Instructions
> To integrate AGG, start with Quickstart: REST (https://docs.agg.market/quickstart/rest), then Order lifecycle & statuses (https://docs.agg.market/concepts/order-lifecycle).
> Track every trade until it reaches a terminal status. Before retrying a failed or timed-out call, read Errors, retries & idempotency (https://docs.agg.market/concepts/errors).
> The API reference is generated from https://docs.agg.market/openapi/openapi.json.

# Search events or markets

> Hybrid search (trigram + FTS + vector) across events or markets. Returns results ranked by relevance. Use listing endpoints for filtered discovery. The embedded `venueMarkets` on each event result are a top-N preview only; for the full market list use GET /venue-markets?venueEventId=.



## OpenAPI

````yaml /openapi/openapi.json get /search
openapi: 3.0.2
info:
  title: AGG API
  version: 1.0.0
  description: >-
    Prediction market aggregator REST API — authentication, users, venue events,
    venue markets, orderbooks, charts, and execution workflows.
servers:
  - url: https://api.agg.market
    description: Production
security: []
tags:
  - name: Authentication
    description: Sign users in and manage their session tokens.
  - name: Markets
    description: Find events, markets and outcomes to trade.
  - name: Market Data
    description: Live orderbooks, prices, charts and scores for those markets.
  - name: Trading
    description: Quote, place, sign, track and cancel orders.
  - name: Portfolio
    description: A user's orders, positions, balances and activity.
  - name: Funding
    description: Deposit addresses, withdrawals, balance refills and fiat on-ramp.
  - name: Users
    description: The signed-in user's profile, linked accounts, KYC and venue keys.
  - name: Hosted Venue Accounts
    description: Provision, fund and withdraw from venue accounts hosted for the user.
  - name: Webhooks
    description: Configure and operate webhook delivery to your server.
  - name: Partner Admin
    description: Server-side reads across your app's users, orders and analytics.
  - name: Paper Trading
    description: Simulated accounts and orders for testing without real funds.
  - name: News
    description: News feeds linked to markets.
  - name: Correlated Markets
    description: Markets related to a given market and the effect of its resolution.
paths:
  /search:
    get:
      tags:
        - Markets
      summary: Search events or markets
      description: >-
        Hybrid search (trigram + FTS + vector) across events or markets. Returns
        results ranked by relevance. Use listing endpoints for filtered
        discovery. The embedded `venueMarkets` on each event result are a top-N
        preview only; for the full market list use GET
        /venue-markets?venueEventId=.
      operationId: search
      parameters:
        - name: mode
          in: query
          required: false
          schema:
            type: string
            enum:
              - instant
              - full
        - name: q
          in: query
          required: true
          schema:
            minLength: 1
            type: string
        - name: type
          in: query
          required: true
          schema:
            type: string
            enum:
              - events
              - markets
        - name: categoryIds
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
              - type: string
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  enum:
                    - open
                    - closed
                    - resolved
                    - unopened
                    - paused
              - type: string
                enum:
                  - open
                  - closed
                  - resolved
                  - unopened
                  - paused
        - name: limit
          in: query
          required: false
          schema:
            minimum: 1
            maximum: 100
            type: number
        - name: cursor
          in: query
          required: false
          schema:
            type: string
        - name: deepSearch
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - type
                      - data
                      - nextCursor
                      - hasMore
                    properties:
                      meta:
                        type: object
                        properties:
                          complete:
                            type: boolean
                          degradedSignals:
                            type: array
                            items:
                              type: string
                      type:
                        type: string
                        enum:
                          - events
                      data:
                        type: array
                        items: {}
                      nextCursor:
                        type: string
                        nullable: true
                      hasMore:
                        type: boolean
                  - type: object
                    required:
                      - type
                      - data
                      - nextCursor
                      - hasMore
                    properties:
                      meta:
                        type: object
                        properties:
                          complete:
                            type: boolean
                          degradedSignals:
                            type: array
                            items:
                              type: string
                      type:
                        type: string
                        enum:
                          - markets
                      data:
                        type: array
                        items: {}
                      nextCursor:
                        type: string
                        nullable: true
                      hasMore:
                        type: boolean
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '401':
          description: '401'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '429':
          description: '429'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
          headers:
            Retry-After:
              schema:
                pattern: ^[1-9][0-9]*$
                description: Seconds to wait before another request; do not retry earlier.
                type: string
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
        '503':
          description: '503'
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - statusCode
                      - code
                      - message
                      - retryAfter
                    properties:
                      statusCode:
                        type: number
                        enum:
                          - 503
                      code:
                        type: string
                        enum:
                          - rate_limit_unavailable
                      message:
                        type: string
                      retryAfter:
                        minimum: 1
                        description: Retry delay in seconds.
                        type: integer
                  - $ref: '#/components/schemas/ErrorMessage'
          headers:
            Retry-After:
              schema:
                pattern: ^[1-9][0-9]*$
                description: Seconds to wait before another request; do not retry earlier.
                type: string
            Cache-Control:
              schema:
                type: string
                enum:
                  - private, no-store
      security:
        - appId: []
components:
  schemas:
    ErrorMessage:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    RateLimitError:
      type: object
      required:
        - message
      properties:
        message:
          type: string
        statusCode:
          type: number
          enum:
            - 429
        code:
          type: string
          enum:
            - rate_limited
        retryAfter:
          minimum: 1
          description: Retry delay in seconds.
          type: integer
  securitySchemes:
    appId:
      type: apiKey
      in: header
      name: x-app-id
      description: Your application ID. Required for all app-tier and user-tier routes.

````