> ## 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.

# Look up venue market outcomes by external identifier

> Resolves venue-side outcome keys (e.g. Polymarket token_id) to AGG outcomes, including `matchedVenueMarketOutcomes` counterpart references across venues. Batch up to 20 keys. Outcome keys are globally unique, so `venue` is optional and narrows only. Kalshi carries its ticker on exactly one of the two outcomes per market, so Kalshi No-side outcomes cannot be resolved here — fetch the market via GET /venue-markets?venue=kalshi&externalIdentifier= and read both outcomes from it.



## OpenAPI

````yaml /openapi/openapi.json get /venue-market-outcomes
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
  - url: https://api.staging.agg.market
    description: Staging
security: []
paths:
  /venue-market-outcomes:
    get:
      tags:
        - Discovery
      summary: Look up venue market outcomes by external identifier
      description: >-
        Resolves venue-side outcome keys (e.g. Polymarket token_id) to AGG
        outcomes, including `matchedVenueMarketOutcomes` counterpart references
        across venues. Batch up to 20 keys. Outcome keys are globally unique, so
        `venue` is optional and narrows only. Kalshi carries its ticker on
        exactly one of the two outcomes per market, so Kalshi No-side outcomes
        cannot be resolved here — fetch the market via GET
        /venue-markets?venue=kalshi&externalIdentifier= and read both outcomes
        from it.
      operationId: listVenueMarketOutcomes
      parameters:
        - name: externalIdentifier
          in: query
          required: true
          schema:
            anyOf:
              - maxItems: 20
                type: array
                items:
                  type: string
              - type: string
        - name: venue
          in: query
          required: false
          schema:
            type: string
            enum:
              - kalshi
              - polymarket
              - limitless
              - opinion
              - predict
              - probable
              - myriad
              - hyperliquid
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - nextCursor
                  - hasMore
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - venueMarketId
                        - label
                      properties:
                        id:
                          type: string
                        venueMarketId:
                          type: string
                        externalIdentifier:
                          type: string
                          nullable: true
                        label:
                          type: string
                        title:
                          type: string
                          nullable: true
                        price:
                          minimum: 0
                          maximum: 1
                          deprecated: true
                          description: >-
                            No longer returned. Fetch live prices from GET
                            /midpoints (pass this outcome's parent venueMarketId
                            in `ids` and match on
                            `outcomes[].venueMarketOutcomeId`), or subscribe to
                            the WebSocket midpoint stream.
                          type: number
                        winner:
                          type: boolean
                          nullable: true
                        matchedVenueMarketOutcomes:
                          type: array
                          items:
                            type: object
                            required:
                              - venueMarketId
                              - venueMarketOutcomeId
                            properties:
                              venueMarketId:
                                type: string
                              venueMarketOutcomeId:
                                type: string
                        matchDecision:
                          type: object
                          required:
                            - decision
                            - reasonPresets
                            - reasonText
                            - decidedBy
                            - decidedAt
                          properties:
                            decision:
                              type: string
                              enum:
                                - verified
                                - rejected
                            reasonPresets:
                              type: array
                              items:
                                type: string
                            reasonText:
                              type: string
                              nullable: true
                            decidedBy:
                              type: string
                            decidedAt:
                              anyOf:
                                - type: string
                                - format: date-time
                                  type: string
                          nullable: true
                  nextCursor:
                    type: string
                    nullable: true
                  hasMore:
                    type: boolean
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '401':
          description: '401'
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
      security:
        - appId: []
components:
  securitySchemes:
    appId:
      type: apiKey
      in: header
      name: x-app-id
      description: Your application ID. Required for all app-tier and user-tier routes.

````