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

# Submit a strategy for generation



## OpenAPI

````yaml /api-reference/openapi.json post /strategies/{strategyId}/submit
openapi: 3.0.0
info:
  title: Noonum API
  version: 1.0.0
  contact:
    name: Noonum Support
    email: hello@noonum.com
  description: >
    Create, read, update, and delete your own investment strategies, browse
    public premade strategies, run semantic search, and call supporting utility
    endpoints.
servers:
  - url: https://api.noonum.ai/v1
security:
  - bearerAuth: []
tags:
  - name: UserStrategies
    description: Create, read, update, and delete your own investment strategies.
  - name: PremadeStrategies
    description: Read public premade strategies and find the ones closest to an objective.
  - name: Helper
    description: >-
      Supporting endpoints for company lookup, objective editing, and health
      checks.
  - name: Benchmarks
    description: Read benchmark data.
  - name: Portfolios
    description: Create, read, update, and delete your portfolios.
  - name: Backtest
    description: Backtest a portfolio without saving it.
paths:
  /strategies/{strategyId}/submit:
    parameters:
      - name: strategyId
        in: path
        required: true
        schema:
          type: string
        description: UUID of the user strategy
    post:
      tags:
        - UserStrategies
      summary: Submit a strategy for generation
      operationId: app.api.v1.strategies.submit_strategy
      responses:
        '201':
          description: The strategy has been submitted for generation.
          content:
            application/json:
              schema:
                type: object
                description: A user-owned investment strategy.
                properties:
                  id:
                    type: string
                    format: uuid
                    example: 83d88f60-f581-4176-bb5c-e0b463d1d442
                  user_id:
                    type: string
                    example: auth0-5dba12a5654f067ba1234567
                  name:
                    type: string
                    example: Electric Vehicles
                  objective:
                    description: The investment objective the strategy was built from.
                    type: string
                    example: >
                      The Electric Vehicles Investment Strategy is to identify
                      companies that focus on EV manufacturing,

                      plus the development of battery technology and charging
                      station infrastructure.
                  exclusions:
                    description: Optional list of exclusions used to build the strategy.
                    type: array
                    items:
                      type: string
                  created_at:
                    description: >-
                      Timestamp when the strategy was created (RFC 7231
                      HTTP-date string).
                    type: string
                    example: Sat, 05 Apr 2025 17:43:37 GMT
                  updated_at:
                    description: >-
                      Timestamp when the strategy was last updated (RFC 7231
                      HTTP-date string).
                    type: string
                    example: Mon, 07 Apr 2025 18:39:41 GMT
                  public:
                    description: Whether the strategy is visible to other users.
                    type: boolean
                    example: true
                  growth:
                    description: Revenue growth of the companies in this strategy.
                    type: number
                    format: float
                    example: 0.1350849124986786
                    nullable: true
                    deprecated: true
                  status:
                    description: >-
                      Generation progress as a percentage. Reaches 100 when
                      generation has finished, and is negative when a run has
                      failed.
                    type: integer
                    example: 100
                  tags:
                    description: User-defined tags for the strategy.
                    type: array
                    items:
                      type: string
                    example:
                      - Themes
                  exchanges:
                    description: >-
                      When set, restricts the strategy to companies listed on
                      these exchanges.
                    type: array
                    items:
                      type: string
                    nullable: true
                  limit:
                    description: Maximum number of companies the strategy may contain.
                    type: integer
                    nullable: true
                  min_market_cap:
                    description: >-
                      Minimum market capitalization a company must have to be
                      included.
                    type: number
                    nullable: true
                  max_market_cap:
                    description: >-
                      Maximum market capitalization a company may have to be
                      included.
                    type: number
                    nullable: true
                  min_evidence_count:
                    description: >-
                      Minimum number of supporting evidence pieces a company
                      must have.
                    type: integer
                    nullable: true
                  completed:
                    description: Whether strategy generation has finished.
                    type: boolean
                  has_factsheet:
                    description: Whether a factsheet is available for the strategy.
                    type: boolean
                  gics_sectors:
                    description: GICS sectors associated with the strategy.
                    type: array
                    items:
                      type: string
                      example: 83d88f60-f581-4176-bb5c-e0b463d1d442
                  metathemes:
                    description: Metatheme identifiers associated with the strategy.
                    type: array
                    items:
                      type: string
                      example: 83d88f60-f581-4176-bb5c-e0b463d1d442
                  performance:
                    nullable: true
                    type: object
                    properties:
                      timeSeries:
                        type: array
                        items:
                          type: array
                          items:
                            type: number
                      metadata:
                        type: object
                        properties:
                          returns:
                            type: number
                          annualizedReturn:
                            type: number
                          variance:
                            type: number
                          sharpeRatio:
                            type: number
                          maxDrawdown:
                            type: number
                          stockCount:
                            type: integer
                          weekCount:
                            type: integer
                required:
                  - id
                  - user_id
                  - name
                  - objective
                  - created_at
                  - updated_at
                  - public
                  - growth
                  - status
                  - tags
                  - exchanges
                  - limit
                  - min_market_cap
                  - max_market_cap
                  - min_evidence_count
                  - completed
                  - has_factsheet
        '403':
          description: You do not own this strategy.
        '404':
          description: Strategy not found.
        '423':
          description: A previous generation run for this strategy is still in progress.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: |
        Enter 'Bearer' followed by a space and then your JWT or API Key.
        Example: `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`
        or `Bearer YOUR_API_KEY_HERE`

````