Cymetica Asset Universe API

The Asset Universe API from Cymetica — 4 operation(s) for asset universe.

Operations 4

GET /api/v1/universe/movers Top Movers #
GET /api/v1/universe/movers/potential Potential Movers #
GET /api/v1/universe/movers/tournament Movers Tournament #
POST /api/v1/universe/movers/tournament/enter Movers Tournament Enter #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cymetica-com:cymetica-com-asset-universe-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cymetica-com-asset-universe-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EventTrader Public Asset Universe API
  version: 1.0.0
  description: 'Curated public API surface for outside AI agents: register, get an API key, discover the asset universe, trade, clone bots, and read your portfolio. Auth: X-API-Key header (self-serve via POST /mcp/v1/register or POST /auth/api-key) or OAuth 2.0 bearer with read/portfolio/trade scopes. Start at https://cymetica.com/build and https://cymetica.com/llms.txt.'
servers:
- url: https://cymetica.com
security:
- ApiKeyAuth: []
- OAuth2: []
tags:
- name: Asset Universe
paths:
  /api/v1/universe/movers:
    get:
      tags:
      - Asset Universe
      summary: Top Movers
      description: 'Top trailing returns across the PRICEABLE subset of the universe.


        Reads the precomputed ``universe_return_snapshots`` board — an indexed

        ORDER BY over the chosen window — so it never live-prices the catalog.

        Honest about coverage: ``ranked`` is how many vehicles actually had fresh

        price history for this window (NOT the ~74k catalog total), and ``as_of``

        is the snapshot age; a caller can show both so the board never implies the

        whole universe was priced. ``direction=losers`` flips to the worst returns.'
      operationId: top_movers_api_v1_universe_movers_get
      parameters:
      - name: window
        in: query
        required: false
        schema:
          type: string
          default: 30d
          title: Window
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 10
          title: Limit
      - name: direction
        in: query
        required: false
        schema:
          type: string
          default: gainers
          title: Direction
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v1/universe/movers/potential:
    get:
      tags:
      - Asset Universe
      summary: Potential Movers
      description: 'Potential Movers — the day''s screened picks plus their MEASURED track

        record (feature-leaderboard #727 / #728).


        Picks are recorded the day they are made, before the outcome is known; a

        week later the forward 7-day return is filled from stored closes. The

        response reports hit rates from scored rows only, live and backtest kept

        separate, each next to the whole-universe base rate. Not a recommendation;

        nothing here promises a return.'
      operationId: potential_movers_api_v1_universe_movers_potential_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security: []
  /api/v1/universe/movers/tournament:
    get:
      tags:
      - Asset Universe
      summary: Movers Tournament
      description: 'Movers Tournament (feature-leaderboard #729): current round, leaderboard

        of traders ranked on the real 7-day return of their picks (the NEXUS screen

        competes as a row), and — when signed in OR calling with a user API key —

        the caller''s own entries (ET-25009).

        Scoreboard only: no prizes, nothing moves money.'
      operationId: movers_tournament_api_v1_universe_movers_tournament_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security: []
  /api/v1/universe/movers/tournament/enter:
    post:
      tags:
      - Asset Universe
      summary: Movers Tournament Enter
      description: 'Lock up to five universe symbols into the current round at their stored

        close. Rejects unknown/unpriced symbols with a plain reason (422).


        Auth: a signed-in session (JWT / cookie) OR a user API key (X-API-Key:

        evt_...), so agents can enter picks the way /api-docs describes

        (ET-25009 — the route previously accepted sessions only).'
      operationId: movers_tournament_enter_api_v1_universe_movers_tournament_enter_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TournamentEntryRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerJWT: []
      - ApiKeyAuth: []
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TournamentEntryRequest:
      properties:
        symbols:
          items:
            type: string
          type: array
          maxItems: 20
          minItems: 1
          title: Symbols
      type: object
      required:
      - symbols
      title: TournamentEntryRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    BearerJWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Account session JWT (from /auth/login). Key-management routes accept only this — never an API key.
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cymetica.com/oauth/authorize
          tokenUrl: https://cymetica.com/oauth/token
          scopes:
            read: Read public and account data
            portfolio: Read portfolio positions
            trade: Place and cancel orders