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

# Launch an experiment

> Starts an execution of the experiment as it is now: a run for every scenario, variant, agent and repetition, at most 500, started in the background. Each run is judged on its scenario's evaluations once it ends. Executions start only while your organization's balance is above $0.



## OpenAPI

````yaml https://tracks.alpic.ai/api/openapi.json post /experiments/{id}/executions
openapi: 3.1.0
info:
  title: Tracks API
  version: 0.0.1
  description: >-
    Run coding agents such as Claude Code in isolated sandboxes with an API key
    of your organization. Create a run with a prompt, then follow its output and
    what it costs, or launch an experiment to compare agents on your scenarios.
servers:
  - url: https://tracks.alpic.ai/api
security: []
tags:
  - name: Runs
    description: Start coding agents and follow their work.
  - name: Files
    description: Upload files to place in a run's sandbox.
  - name: Connections
    description: >-
      Let agents use MCP servers as one of their users, without their
      credentials entering the sandbox.
  - name: Experiments
    description: >-
      Define scenarios to give several agents in several variants, judged on
      what they did.
  - name: Executions
    description: Launch experiments and read their results.
  - name: Library
    description: What your experiments can give their agents.
  - name: System
paths:
  /experiments/{id}/executions:
    post:
      tags:
        - Executions
      summary: Launch an experiment
      description: >-
        Starts an execution of the experiment as it is now: a run for every
        scenario, variant, agent and repetition, at most 500, started in the
        background. Each run is judged on its scenario's evaluations once it
        ends. Executions start only while your organization's balance is above
        $0.
      operationId: executions.launch
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/ExperimentId'
          required: true
      responses:
        '201':
          description: >-
            One launch of an experiment: a run for every scenario, variant,
            agent and repetition, with the experiment as it was when launched.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        '400':
          description: >-
            The request is invalid: a value is missing, has the wrong type or is
            out of range. Fix it before sending the request again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestEncoded'
        '401':
          description: >-
            The API key is missing, malformed or revoked, or its organization is
            closed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyRefusedEncoded'
        '402':
          description: >-
            Your organization's balance is $0 or below: add funds to start runs
            again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientBalanceEncoded'
        '403':
          description: >-
            Your organization cannot start runs after a dispute on one of its
            payments: contact us.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationBlockedEncoded'
        '404':
          description: No experiment with this id exists in your organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentNotFoundEncoded'
        '422':
          description: >-
            The experiment cannot be launched as it is: `missing` says what to
            fix.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentIncompleteEncoded'
      security:
        - bearer: []
components:
  schemas:
    ExperimentId:
      type: string
      description: Unique identifier of the experiment.
    Execution:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/ExecutionId'
        experiment_id:
          $ref: '#/components/schemas/ExperimentId'
        number:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Its place among the experiment's executions, from 1.
        launched_at:
          type: string
        canceled_at:
          type: string
        pending:
          type: boolean
          description: >-
            Whether some of its runs have not ended yet or wait for their
            evaluation results. Its pass rate is final once it is `false`,
            canceled or not.
        slots:
          type: object
          properties:
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Runs the execution plans.
            running:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Runs not started yet or not ended.
            judging:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Ended runs waiting for their evaluation results.
            judged:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Runs with a verdict.
            passed:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Runs that passed their scenario.
          required:
            - total
            - running
            - judging
            - judged
            - passed
          additionalProperties: false
          description: >-
            How many of its slots, one per scenario, variant, agent and
            repetition, stand where.
        pass_rate:
          type: integer
          minimum: 0
          maximum: 100
          description: >-
            Runs that passed out of those with a verdict, as a whole percent.
            Absent until one run has a verdict.
        cost_usd:
          anyOf:
            - type: number
            - type: string
              enum:
                - Infinity
                - '-Infinity'
                - NaN
      required:
        - id
        - experiment_id
        - number
        - launched_at
        - pending
        - slots
        - cost_usd
      additionalProperties: false
      description: >-
        One launch of an experiment: a run for every scenario, variant, agent
        and repetition, with the experiment as it was when launched.
    InvalidRequestEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - InvalidRequest
        message:
          type: string
          description: Every problem found, in one sentence.
        location:
          type: string
          enum:
            - path
            - query
            - header
            - body
          description: The part of the request that is wrong.
        issues:
          type: array
          items:
            $ref: '#/components/schemas/RequestIssue'
          description: Each problem found, with where it is.
      required:
        - _tag
        - message
        - location
        - issues
      additionalProperties: false
    ApiKeyRefusedEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - ApiKeyRefused
        message:
          type: string
      required:
        - _tag
        - message
      additionalProperties: false
    InsufficientBalanceEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - InsufficientBalance
        message:
          type: string
        top_up_url:
          type: string
          description: Where to add funds to your organization's balance.
      required:
        - _tag
        - message
        - top_up_url
      additionalProperties: false
    OrganizationBlockedEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - OrganizationBlocked
        message:
          type: string
      required:
        - _tag
        - message
      additionalProperties: false
    ExperimentNotFoundEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - ExperimentNotFound
        message:
          type: string
      required:
        - _tag
        - message
      additionalProperties: false
    ExperimentIncompleteEncoded:
      type: object
      properties:
        _tag:
          type: string
          enum:
            - ExperimentIncomplete
        message:
          type: string
        missing:
          type: array
          items:
            type: string
          description: Each thing to fix before launching, in a sentence.
      required:
        - _tag
        - message
        - missing
      additionalProperties: false
    ExecutionId:
      type: string
      description: Unique identifier of the execution.
    RequestIssue:
      type: object
      properties:
        path:
          type: array
          items:
            anyOf:
              - type: string
              - type: number
              - type: string
                enum:
                  - Infinity
                  - '-Infinity'
                  - NaN
          description: >-
            Keys leading to the wrong value inside that part of the request,
            such as `["agent", "model"]`. Empty when the problem concerns that
            part as a whole.
        message:
          type: string
          description: What is wrong with the value.
      required:
        - path
        - message
      additionalProperties: false
      description: One problem found in the request.
  securitySchemes:
    bearer:
      description: >-
        An API key of your organization, starting with `trk_`, sent as
        `Authorization: Bearer <key>`.
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.