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

# Get experiment

> One experiment with its per-item results and scores. Poll this after an async run: `experiment.status` moves from `pending` through `running` to `completed` (or `failed`), and results appear as items finish. `scores` averages every score in the run per scorer, across all pages.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/experiments/{experimentId}
openapi: 3.1.0
info:
  title: Sidenet API
  version: 1.0.0
  description: >-
    Sidenet HTTP endpoints exposed by the Sidenet Studio. All routes require an
    api key that can be generated through the studio in studio.sidenet.ai.
servers:
  - url: https://api.sidenet.ai
security:
  - bearerAuth: []
paths:
  /v1/experiments/{experimentId}:
    get:
      tags:
        - Experiments
      summary: Get experiment
      description: >-
        One experiment with its per-item results and scores. Poll this after an
        async run: `experiment.status` moves from `pending` through `running` to
        `completed` (or `failed`), and results appear as items finish. `scores`
        averages every score in the run per scorer, across all pages.
      parameters:
        - name: experimentId
          in: path
          required: true
          schema:
            type: string
            example: exp_7f31a9c2
          description: Experiment id, as returned by POST /v1/experiments.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: 0-based page.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
            maximum: 500
      responses:
        '200':
          description: The experiment, its results, and per-scorer averages
          content:
            application/json:
              schema:
                type: object
                properties:
                  experiment:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      status:
                        type: string
                        enum:
                          - pending
                          - running
                          - completed
                          - failed
                      datasetId:
                        type: string
                        nullable: true
                      datasetVersion:
                        type: integer
                        nullable: true
                        description: The dataset version the run read its items from.
                      agentVersionId:
                        type: string
                        nullable: true
                        description: The agent version that answered.
                      totalItems:
                        type: integer
                      succeededCount:
                        type: integer
                      failedCount:
                        type: integer
                      skippedCount:
                        type: integer
                      metadata:
                        type: object
                        additionalProperties: true
                        description: What you sent as `metadata` on the run.
                      startedAt:
                        type: string
                        format: date-time
                        nullable: true
                      completedAt:
                        type: string
                        format: date-time
                        nullable: true
                      createdAt:
                        type: string
                        format: date-time
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        itemId:
                          type: string
                        input:
                          description: The dataset item's input.
                        output:
                          description: >-
                            The agent's answer: `text`, plus `toolCalls`,
                            `usage` and friends. Null when the item failed.
                        groundTruth:
                          nullable: true
                        error:
                          type: object
                          nullable: true
                          properties:
                            message:
                              type: string
                        status:
                          type: string
                          nullable: true
                        traceId:
                          type: string
                          nullable: true
                          description: The trace of this item's run.
                        retryCount:
                          type: integer
                        startedAt:
                          type: string
                          format: date-time
                        completedAt:
                          type: string
                          format: date-time
                        scores:
                          type: array
                          items:
                            type: object
                            properties:
                              scorerId:
                                type: string
                              scorerName:
                                type: string
                                nullable: true
                              score:
                                type: number
                                nullable: true
                              reason:
                                type: string
                                nullable: true
                  scores:
                    type: object
                    description: >-
                      Per scorer id: the mean score and how many items it
                      scored.
                    additionalProperties:
                      type: object
                      properties:
                        mean:
                          type: number
                        count:
                          type: integer
                  pagination:
                    type: object
                    properties:
                      total:
                        type: integer
                      page:
                        type: integer
                      limit:
                        type: integer
                      hasMore:
                        type: boolean
              example:
                experiment:
                  id: exp_7f31a9c2
                  name: Refund tone — August
                  description: null
                  status: completed
                  datasetId: ds_orders_v3
                  datasetVersion: 2
                  agentVersionId: b3f7a2c8-5d19-4e6b-8f02-1a4c9e7d3b55
                  totalItems: 12
                  succeededCount: 12
                  failedCount: 0
                  skippedCount: 0
                  metadata:
                    ticket: ENG-412
                  startedAt: '2026-08-04T11:02:11.000Z'
                  completedAt: '2026-08-04T11:04:37.000Z'
                  createdAt: '2026-08-04T11:02:10.512Z'
                results:
                  - id: res_3a91c0e7
                    itemId: dsi_2c7e91b4
                    input: Can I get a refund on an order I placed yesterday?
                    output:
                      text: >-
                        Yes — you can. Orders can be refunded within 14 days;
                        what is the order number?
                    groundTruth: >-
                      Yes — orders can be refunded within 14 days. Ask for the
                      order number.
                    error: null
                    status: null
                    traceId: 7a1c3e5d9b2f4a6c8e0d1b3f5a7c9e2d
                    retryCount: 0
                    startedAt: '2026-08-04T11:02:12.000Z'
                    completedAt: '2026-08-04T11:02:19.000Z'
                    scores:
                      - scorerId: tone-scorer
                        scorerName: Tone Scorer
                        score: 0.92
                        reason: null
                scores:
                  tone-scorer:
                    mean: 0.88
                    count: 12
                pagination:
                  total: 12
                  page: 0
                  limit: 50
                  hasMore: false
        '404':
          description: No such experiment in this organization
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: The class of failure.
                  details:
                    type: string
                    description: What specifically went wrong.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Organization API key, generated in studio.sidenet.ai. Backend only —
        never in a browser.

````