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

# Get one experiment

> One experiment with its windows, per-engine figures and the market-wide moves inside them.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{projectId}/experiments/{experimentId}
openapi: 3.1.0
info:
  title: Citino API
  version: v1
  description: >-
    Read how AI engines answer your market's questions, and keep your prompts,
    competitors, segments and engines in step from code. Every number carries
    its band and sample size.
servers:
  - url: https://api.citino.ai/v1
security:
  - bearerAuth: []
tags:
  - name: Brand and competitors
  - name: Definitions
  - name: Engines
  - name: Projects
  - name: Alerts
  - name: Attribution
  - name: Claims
  - name: Crawlability
  - name: Crawler activity
  - name: Metrics
  - name: Experiments
  - name: Prompts
  - name: Objections
  - name: Monthly reports
  - name: Reports
  - name: Runs
  - name: Searches
  - name: Sources
  - name: Work items
  - name: Settings
paths:
  /projects/{projectId}/experiments/{experimentId}:
    get:
      tags:
        - Experiments
      summary: Get one experiment
      description: >-
        One experiment with its windows, per-engine figures and the market-wide
        moves inside them.
      operationId: getProjectsByProjectIdExperimentsByExperimentId
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: experimentId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  title:
                    type: string
                  url:
                    type:
                      - string
                      - 'null'
                  published_on:
                    type: string
                    pattern: ^\d{4}-\d{2}-\d{2}$
                  first_retrieved_on:
                    anyOf:
                      - type: string
                        pattern: ^\d{4}-\d{2}-\d{2}$
                      - type: 'null'
                  read_back_note:
                    type: string
                  segment_id:
                    type:
                      - string
                      - 'null'
                  prompts:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  own_before:
                    type: object
                    properties:
                      value:
                        type:
                          - number
                          - 'null'
                      unit:
                        type: string
                        enum:
                          - percent
                          - points
                          - count
                          - score
                          - rank
                          - ratio
                      band:
                        type:
                          - number
                          - 'null'
                      'n':
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      delta:
                        type:
                          - number
                          - 'null'
                      within_noise:
                        type: boolean
                      low_sample:
                        type: boolean
                      state:
                        type: string
                        enum:
                          - measured
                          - no_data
                          - never_named
                      note:
                        type: string
                    required:
                      - value
                      - unit
                      - band
                      - 'n'
                      - delta
                      - within_noise
                      - low_sample
                      - state
                    additionalProperties: false
                    description: >-
                      A measured number with its uncertainty. value is null with
                      n = 0 (no answers yet); within_noise true means a delta is
                      not a move.
                  own_after:
                    type: object
                    properties:
                      value:
                        type:
                          - number
                          - 'null'
                      unit:
                        type: string
                        enum:
                          - percent
                          - points
                          - count
                          - score
                          - rank
                          - ratio
                      band:
                        type:
                          - number
                          - 'null'
                      'n':
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      delta:
                        type:
                          - number
                          - 'null'
                      within_noise:
                        type: boolean
                      low_sample:
                        type: boolean
                      state:
                        type: string
                        enum:
                          - measured
                          - no_data
                          - never_named
                      note:
                        type: string
                    required:
                      - value
                      - unit
                      - band
                      - 'n'
                      - delta
                      - within_noise
                      - low_sample
                      - state
                    additionalProperties: false
                    description: >-
                      A measured number with its uncertainty. value is null with
                      n = 0 (no answers yet); within_noise true means a delta is
                      not a move.
                  own_change_points:
                    type:
                      - number
                      - 'null'
                  baseline_change_points:
                    type:
                      - number
                      - 'null'
                  net_effect:
                    type: object
                    properties:
                      value:
                        type:
                          - number
                          - 'null'
                      unit:
                        type: string
                        enum:
                          - percent
                          - points
                          - count
                          - score
                          - rank
                          - ratio
                      band:
                        type:
                          - number
                          - 'null'
                      'n':
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      delta:
                        type:
                          - number
                          - 'null'
                      within_noise:
                        type: boolean
                      low_sample:
                        type: boolean
                      state:
                        type: string
                        enum:
                          - measured
                          - no_data
                          - never_named
                      note:
                        type: string
                    required:
                      - value
                      - unit
                      - band
                      - 'n'
                      - delta
                      - within_noise
                      - low_sample
                      - state
                    additionalProperties: false
                    description: >-
                      Your change less the market's. No value until the after
                      window is long enough.
                  verdict:
                    type: string
                    enum:
                      - measuring
                      - confirmed
                      - inconclusive
                      - negative
                  next_read_on:
                    type: string
                    pattern: ^\d{4}-\d{2}-\d{2}$
                  verdict_line:
                    type: string
                  inconclusive_reason:
                    type:
                      - string
                      - 'null'
                  mde:
                    description: The smallest effect this segment can show, in points.
                    type:
                      - number
                      - 'null'
                  windows:
                    type: object
                    properties:
                      before:
                        type: object
                        properties:
                          from:
                            type: string
                            pattern: ^\d{4}-\d{2}-\d{2}$
                          to:
                            type: string
                            pattern: ^\d{4}-\d{2}-\d{2}$
                        required:
                          - from
                          - to
                        additionalProperties: false
                      after:
                        anyOf:
                          - type: object
                            properties:
                              from:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              to:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                            required:
                              - from
                              - to
                            additionalProperties: false
                          - type: 'null'
                      gap_days:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - before
                      - after
                      - gap_days
                    additionalProperties: false
                  after_days:
                    anyOf:
                      - type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      - type: 'null'
                  min_after_days:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  cohort:
                    type: array
                    items:
                      type: string
                  read_number:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  note:
                    type:
                      - string
                      - 'null'
                  closed_at:
                    type:
                      - string
                      - 'null'
                  by_engine:
                    type: array
                    items:
                      type: object
                      properties:
                        engine:
                          type: string
                        before:
                          type: object
                          properties:
                            value:
                              type:
                                - number
                                - 'null'
                            unit:
                              type: string
                              enum:
                                - percent
                                - points
                                - count
                                - score
                                - rank
                                - ratio
                            band:
                              type:
                                - number
                                - 'null'
                            'n':
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            delta:
                              type:
                                - number
                                - 'null'
                            within_noise:
                              type: boolean
                            low_sample:
                              type: boolean
                            state:
                              type: string
                              enum:
                                - measured
                                - no_data
                                - never_named
                            note:
                              type: string
                          required:
                            - value
                            - unit
                            - band
                            - 'n'
                            - delta
                            - within_noise
                            - low_sample
                            - state
                          additionalProperties: false
                          description: >-
                            A measured number with its uncertainty. value is
                            null with n = 0 (no answers yet); within_noise true
                            means a delta is not a move.
                        after:
                          type: object
                          properties:
                            value:
                              type:
                                - number
                                - 'null'
                            unit:
                              type: string
                              enum:
                                - percent
                                - points
                                - count
                                - score
                                - rank
                                - ratio
                            band:
                              type:
                                - number
                                - 'null'
                            'n':
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            delta:
                              type:
                                - number
                                - 'null'
                            within_noise:
                              type: boolean
                            low_sample:
                              type: boolean
                            state:
                              type: string
                              enum:
                                - measured
                                - no_data
                                - never_named
                            note:
                              type: string
                          required:
                            - value
                            - unit
                            - band
                            - 'n'
                            - delta
                            - within_noise
                            - low_sample
                            - state
                          additionalProperties: false
                          description: >-
                            A measured number with its uncertainty. value is
                            null with n = 0 (no answers yet); within_noise true
                            means a delta is not a move.
                      required:
                        - engine
                        - before
                        - after
                      additionalProperties: false
                  drift:
                    type: array
                    items:
                      type: object
                      properties:
                        occurred_on:
                          type: string
                          pattern: ^\d{4}-\d{2}-\d{2}$
                        engine:
                          type: string
                        severity:
                          type: string
                        brands_moved:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        brands_named:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        window:
                          type: string
                          enum:
                            - before
                            - gap
                            - after
                      required:
                        - occurred_on
                        - engine
                        - severity
                        - brands_moved
                        - brands_named
                        - window
                      additionalProperties: false
                    description: >-
                      Market-wide moves inside the windows: labelled, never
                      removed from the figures.
                required:
                  - id
                  - title
                  - url
                  - published_on
                  - first_retrieved_on
                  - read_back_note
                  - segment_id
                  - prompts
                  - own_before
                  - own_after
                  - own_change_points
                  - baseline_change_points
                  - net_effect
                  - verdict
                  - next_read_on
                  - verdict_line
                  - inconclusive_reason
                  - mde
                  - windows
                  - after_days
                  - min_after_days
                  - cohort
                  - read_number
                  - note
                  - closed_at
                  - by_engine
                  - drift
                additionalProperties: false
        '400':
          description: The request is invalid; `error.field` names the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'No live API key in an `Authorization: Bearer` header.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The key lacks the scope named in the message, or cannot write.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such resource in this key's projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Over the key's or the workspace's rate limit; see `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Busy or timed out; retry after `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codeSamples:
        - lang: bash
          label: curl
          source: >-
            curl
            "https://api.citino.ai/v1/projects/{projectId}/experiments/{experimentId}"
            \
              -H "Authorization: Bearer $CITINO_API_KEY"
        - lang: python
          label: Python
          source: |-
            import os
            import requests

            res = requests.get(
                "https://api.citino.ai/v1/projects/{projectId}/experiments/{experimentId}",
                headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
            )
            print(res.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const res = await
            fetch("https://api.citino.ai/v1/projects/{projectId}/experiments/{experimentId}",
            {
              headers: {
                Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
              },
            });

            console.log(await res.json());
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: >-
                validation, unauthorized, forbidden, not_found, conflict,
                plan_limit, rate_limited, busy, query_timeout
            message:
              type: string
            field:
              type: string
            detail:
              type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An API key from Workspace settings → API keys, sent as `Authorization:
        Bearer <key>`.

````

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