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

# Generate Signal

> Generate an actionable strategy signal for a market.

Default: returns 202 with analysis_id for polling.
With ?wait=true: blocks until pipeline completes (30-90 seconds).
If a cached analysis exists (<24h): returns immediately.
Use "force": true to bypass cache.



## OpenAPI

````yaml POST /v1/signals
openapi: 3.1.0
info:
  title: Rekko AI — Prediction Market Intelligence
  description: >-
    The brain for prediction market trading. Deep AI research, Bayesian causal
    decomposition, portfolio-aware strategy signals, cross-platform arbitrage,
    and execution guidance — all in one API. Covers Kalshi, Polymarket,
    Robinhood, and Coinbase. Clean flat JSON designed for developers and
    autonomous trading agents.
  contact:
    name: Rekko AI
    url: https://rekko.ai/
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api.rekko.ai
security: []
tags:
  - name: Markets
    description: Prediction market listings, history, resolution, and execution guidance
  - name: Insights
    description: AI-powered research insights with causal decomposition
  - name: Strategy
    description: >-
      Actionable trading signals with Kelly-derived position sizing and causal
      decomposition
  - name: Portfolio
    description: Portfolio-aware strategy, correlation analysis, and hedge recommendations
  - name: Arbitrage
    description: Cross-platform arbitrage detection (Kalshi vs Polymarket vs Robinhood)
  - name: Analytics
    description: Calibration metrics, sentiment, and performance tracking
  - name: Streaming
    description: Real-time SSE event stream and webhooks
  - name: Consensus
    description: Agent trade aggregation and crowd probability
paths:
  /v1/signals:
    post:
      tags:
        - Strategy
      summary: Generate AI strategy signal
      description: |-
        Generate an actionable strategy signal for a market.

        Default: returns 202 with analysis_id for polling.
        With ?wait=true: blocks until pipeline completes (30-90 seconds).
        If a cached analysis exists (<24h): returns immediately.
        Use "force": true to bypass cache.
      operationId: /v1/signals
      parameters:
        - name: wait
          in: query
          required: false
          schema:
            type: boolean
            description: Block until analysis completes (up to 5 min)
            default: false
            title: Wait
          description: Block until analysis completes (up to 5 min)
        - name: expand
          in: query
          required: false
          schema:
            type: string
            description: Comma-separated expansions
            default: ''
            title: Expand
          description: Comma-separated expansions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignalRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Signal'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SignalRequest:
      properties:
        platform:
          type: string
          title: Platform
          description: 'Filter by platform: ''kalshi'', ''polymarket'', or ''robinhood'''
          default: ''
        market_id:
          type: string
          title: Market Id
          description: Platform-specific market identifier
          default: ''
        market_query:
          type: string
          title: Market Query
          description: Free-text market question (used if market_id not provided)
          default: ''
        force:
          type: boolean
          title: Force
          description: Force fresh analysis even if a cached result exists
          default: false
      type: object
      title: SignalRequest
      description: Request body for the signal endpoint.
      example:
        force: false
        market_id: KXFED-26MAR19
        market_query: ''
        platform: kalshi
    Signal:
      properties:
        platform:
          type: string
          title: Platform
          description: kalshi, polymarket, robinhood, or coinbase
        market_id:
          type: string
          title: Market Id
          description: Platform-specific market identifier
        title:
          type: string
          title: Title
          description: Market question
        recommendation:
          type: string
          enum:
            - BUY_YES
            - BUY_NO
            - NO_TRADE
          title: Recommendation
          description: Actionable recommendation
        target_price:
          type: number
          maximum: 1
          minimum: 0
          title: Target Price
          description: Suggested entry price (0.0-1.0)
        edge:
          type: number
          title: Edge
          description: estimated_prob - market_price (positive = underpriced YES)
        confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Confidence
          description: Confidence in the signal
        risk_rating:
          type: string
          enum:
            - low
            - medium
            - high
          title: Risk Rating
          description: Overall risk assessment
        size_pct:
          type: number
          maximum: 1
          minimum: 0
          title: Size Pct
          description: Kelly-derived position size as fraction of bankroll
        time_horizon:
          type: string
          title: Time Horizon
          description: 'Expected resolution: ''hours'', ''days'', ''weeks'''
        hedge:
          anyOf:
            - type: string
            - type: 'null'
          title: Hedge
          description: Suggested hedge, e.g. 'Buy NO on KXFED-26MAR19 at 0.82'
        causal:
          anyOf:
            - $ref: '#/components/schemas/CausalDecomposition'
            - type: 'null'
          description: Causal decomposition (?expand=causal)
        freshness:
          anyOf:
            - type: string
              enum:
                - fresh
                - stale
                - expired
            - type: 'null'
          title: Freshness
          description: Data freshness of the underlying analysis
        generated_at:
          type: string
          format: date-time
          title: Generated At
          description: When this signal was produced
        expires_at:
          type: string
          format: date-time
          title: Expires At
          description: Signal staleness window — do not trade after this time
      type: object
      required:
        - platform
        - market_id
        - title
        - recommendation
        - target_price
        - edge
        - confidence
        - risk_rating
        - size_pct
        - time_horizon
        - expires_at
      title: Signal
      description: |-
        Actionable trading signal with position sizing.

        The core product — everything needed to execute a trade.
      example:
        confidence: 0.82
        edge: 0.09
        expires_at: '2026-03-22T14:30:00Z'
        generated_at: '2026-03-21T14:30:00Z'
        market_id: KXFED-26MAR19
        platform: kalshi
        recommendation: BUY_YES
        risk_rating: low
        size_pct: 0.035
        target_price: 0.62
        time_horizon: days
        title: Will the Fed cut rates at the March 2026 meeting?
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CausalDecomposition:
      properties:
        overall_probability:
          type: number
          maximum: 1
          minimum: 0
          title: Overall Probability
          description: Aggregated probability from factor weights
        overall_confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Overall Confidence
          description: Weighted confidence across all factors
        factors:
          items:
            $ref: '#/components/schemas/CausalFactor'
          type: array
          title: Factors
          description: Causal factors (typically 3-7)
        method:
          type: string
          title: Method
          description: 'Aggregation method: weighted_bayesian, linear, log_odds'
          default: weighted_bayesian
        generated_at:
          type: string
          format: date-time
          title: Generated At
          description: When this decomposition was produced
      type: object
      required:
        - overall_probability
        - overall_confidence
        - factors
      title: CausalDecomposition
      description: |-
        Weighted causal decomposition of a market probability estimate.

        Breaks a probability estimate into evidence-backed factors with
        Bayesian prior/posterior updates.
      example:
        factors:
          - claim: Inflation is within Fed's comfort zone
            confidence: 0.9
            direction: supports_yes
            evidence:
              - 'PCE Feb 2026: 2.1%'
              - Core CPI declining 3 months
            posterior: 0.82
            prior: 0.6
            weight: 0.35
          - claim: Fed rhetoric is dovish
            confidence: 0.75
            direction: supports_yes
            evidence:
              - Waller speech March 12
              - 'Bostic: ''open to adjustment'''
            posterior: 0.68
            prior: 0.5
            weight: 0.3
          - claim: Tariff uncertainty creates headwinds
            confidence: 0.6
            direction: supports_no
            evidence:
              - New tariffs announced March 5
              - Trade deficit widening
            posterior: 0.45
            prior: 0.4
            weight: 0.2
        generated_at: '2026-03-21T12:00:00Z'
        method: weighted_bayesian
        overall_confidence: 0.82
        overall_probability: 0.71
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    CausalFactor:
      properties:
        claim:
          type: string
          title: Claim
          description: The factor statement, e.g. 'Fed will hold rates'
        direction:
          type: string
          enum:
            - supports_yes
            - supports_no
            - neutral
          title: Direction
          description: Whether this factor pushes toward YES or NO resolution
        weight:
          type: number
          maximum: 1
          minimum: 0
          title: Weight
          description: Relative importance weight (top-level factors sum to ~1.0)
        confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Confidence
          description: Confidence in this specific factor (0=uncertain, 1=certain)
        prior:
          type: number
          maximum: 1
          minimum: 0
          title: Prior
          description: Prior probability (base rate)
        posterior:
          type: number
          maximum: 1
          minimum: 0
          title: Posterior
          description: Updated probability after evidence (Bayesian posterior)
        evidence:
          items:
            type: string
          type: array
          title: Evidence
          description: Key evidence supporting this factor
      type: object
      required:
        - claim
        - direction
        - weight
        - confidence
        - prior
        - posterior
      title: CausalFactor
      description: A single factor in a causal decomposition.
      example:
        claim: Inflation is within Fed's comfort zone
        confidence: 0.9
        direction: supports_yes
        evidence:
          - 'PCE Feb 2026: 2.1% (below 2.5% target ceiling)'
          - Core CPI declining for 3 consecutive months
        posterior: 0.82
        prior: 0.6
        weight: 0.35

````