> ## 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 a request

> One request with everything recorded about it: the row of the log, the span tree of each trace it produced (and of the scorer runs that scored it), and its scores. The id can be the request id or any of its trace ids, as shown on the Studio traces page. Only requests of your organization are served; any other id is a 404. Per-user tool credentials carried by the request context are redacted from every span.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/requests/{id}
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/requests/{id}:
    get:
      tags:
        - Observability
      summary: Get a request
      description: >-
        One request with everything recorded about it: the row of the log, the
        span tree of each trace it produced (and of the scorer runs that scored
        it), and its scores. The id can be the request id or any of its trace
        ids, as shown on the Studio traces page. Only requests of your
        organization are served; any other id is a 404. Per-user tool
        credentials carried by the request context are redacted from every span.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            example: 8f2c1d4e6a7b4c9d
          description: A request id, or one of its trace ids.
      responses:
        '200':
          description: The request
          content:
            application/json:
              schema:
                type: object
                properties:
                  request:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The request id: one per inbound request or run, shared
                          by everything it did.
                      kind:
                        type: string
                        enum:
                          - chat
                          - workflow
                          - experiment
                          - score
                        description: >-
                          What ran: a chat turn, a workflow run, an experiment
                          item, or a scorer run.
                      status:
                        type: string
                        enum:
                          - success
                          - error
                      error:
                        type: object
                        nullable: true
                        description: The error that ended the turn or run, when it failed.
                      started_at:
                        type: string
                        format: date-time
                      ended_at:
                        type: string
                        format: date-time
                        nullable: true
                      latency_ms:
                        type: integer
                        nullable: true
                        description: Start to end of the turn or run.
                      environment:
                        type: string
                        nullable: true
                        description: >-
                          `dev`, `staging` or `prod` for chat; `production` or
                          `preview` for workflow runs; `experiment` for
                          experiment items.
                      source:
                        type: string
                        nullable: true
                        description: >-
                          What the client declared (`X-Source`), or the run
                          trigger for workflows.
                      group:
                        type: object
                        properties:
                          id:
                            type: string
                            nullable: true
                            description: >-
                              Your id for the billing group (null for groups
                              created before stable ids existed).
                          name:
                            type: string
                            nullable: true
                        nullable: true
                        description: The billing group the request was attributed to.
                      user_id:
                        type: string
                        nullable: true
                        description: >-
                          The end user the request ran for (your id for them, as
                          sent on the session mint or `X-User-Id`).
                      thread_id:
                        type: string
                        nullable: true
                      message_id:
                        type: string
                        nullable: true
                        description: The assistant message this turn produced.
                      prompt:
                        type: object
                        properties:
                          message_id:
                            type: string
                            description: The user message that started the turn.
                          text:
                            type: string
                            description: >-
                              Its text. The list clips it to 1 000 characters;
                              `GET /v1/requests/{id}` returns it whole.
                          truncated:
                            type: boolean
                            description: True when `text` was clipped.
                        nullable: true
                        description: >-
                          What the user asked: the user message saved just
                          before the assistant message in its thread. Null for
                          runs, experiment items and turns whose user message is
                          not in the thread.
                      trace_ids:
                        type: array
                        items:
                          type: string
                        description: >-
                          The traces the request produced (a routed chat turn
                          has two: the classifier and the answer).
                      agent:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                            nullable: true
                          version_id:
                            type: string
                          version:
                            type: integer
                            nullable: true
                        nullable: true
                        description: The agent version that answered, when one did.
                      workflow:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                            nullable: true
                          version_id:
                            type: string
                          version:
                            type: integer
                            nullable: true
                        nullable: true
                        description: The workflow version that ran, when one did.
                      copilot:
                        type: object
                        properties:
                          id:
                            type: string
                          environment:
                            type: string
                            nullable: true
                          network:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                                nullable: true
                            nullable: true
                        nullable: true
                        description: The copilot the request came through, for routed chat.
                      experiment_id:
                        type: string
                        nullable: true
                      target:
                        type: string
                        nullable: true
                        description: >-
                          For built-in targets without a version:
                          `Clarification`, `Dashboard`, `Score: <scorerId>`.
                      model:
                        type: string
                        nullable: true
                        description: >-
                          The model that actually served the main answer (after
                          any routing policy).
                      model_profile:
                        type: string
                        nullable: true
                        description: >-
                          The model profile the copilot's model classifier chose
                          for the turn (`default` included), which is what put
                          the turn on `model` when it differs from the agent's
                          own. Null when no classifier ran.
                      cost:
                        type: number
                        nullable: true
                        description: USD spend of the request, every participant included.
                      usage:
                        type: object
                        properties:
                          input_tokens:
                            type: number
                            nullable: true
                          output_tokens:
                            type: number
                            nullable: true
                          total_tokens:
                            type: number
                            nullable: true
                        nullable: true
                      cost_breakdown:
                        type: object
                        description: >-
                          Per participant (`main`, `handoff-agent`,
                          `followup-agent`, `step:<stepId>`…): `{ cost, usage,
                          model }`.
                        additionalProperties: true
                      participants:
                        type: array
                        nullable: true
                        items:
                          type: object
                          additionalProperties: true
                        description: >-
                          The agents and tools that ran, each with a success
                          flag.
                      feedback:
                        type: object
                        properties:
                          rating:
                            type: number
                            nullable: true
                          comment:
                            type: string
                            nullable: true
                        nullable: true
                        description: The user's vote on the answer, when they gave one.
                      scores:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            scorer_id:
                              type: string
                            name:
                              type: string
                              nullable: true
                            score:
                              type: number
                        description: The scores recorded on the request's traces.
                      scoring:
                        type: object
                        properties:
                          runs:
                            type: integer
                          cost:
                            type: number
                        description: >-
                          The scorer runs that scored this request and what they
                          cost.
                  traces:
                    type: array
                    items:
                      type: object
                      properties:
                        trace_id:
                          type: string
                        spans:
                          type: array
                          items:
                            type: object
                            additionalProperties: true
                            description: >-
                              A span as the observability store records it, plus
                              `duration_ms`.
                    description: >-
                      The request's own traces first, then the scorer runs that
                      scored it.
                  scores:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
              example:
                request:
                  id: 8f2c1d4e6a7b4c9d
                  kind: chat
                  status: success
                  error: null
                  started_at: '2026-10-27T10:00:00.000Z'
                  ended_at: '2026-10-27T10:00:04.210Z'
                  latency_ms: 4210
                  environment: prod
                  source: SDK-v2
                  group:
                    id: grp_84f20c19
                    name: Acme
                  user_id: user_4821
                  thread_id: thread_2f81c04a
                  message_id: msg_9c41b0e7
                  prompt:
                    message_id: 3b9e1c7a-5d2f-4e8b-9a6c-1f0d2e3a4b5c
                    text: Where is my order 4821?
                    truncated: false
                  trace_ids:
                    - 0af7651916cd43dd8448eb211c80319c
                    - 5c1e9a2b7d3f4e6a8b9c0d1e2f3a4b5c
                  agent:
                    id: 6f1c0f4e-2b7a-4a51-9a2f-0c9d1b3e5a10
                    name: Support
                    version_id: b3f7a2c8-5d19-4e6b-8f02-1a4c9e7d3b55
                    version: 4
                  workflow: null
                  copilot:
                    id: cccccccc-0000-4000-8000-000000000001
                    environment: prod
                    network:
                      id: '12'
                      name: Acme network
                  experiment_id: null
                  target: null
                  model: openai/gpt-4o
                  model_profile: default
                  cost: 0.0123
                  usage:
                    input_tokens: 1210
                    output_tokens: 188
                    total_tokens: 1398
                  cost_breakdown:
                    main:
                      cost: 0.0118
                      usage:
                        inputTokens: 1180
                        outputTokens: 184
                      model: openai/gpt-4o
                    handoff-agent:
                      cost: 0.0005
                      usage:
                        inputTokens: 30
                        outputTokens: 4
                      model: openai/gpt-4o-mini
                  participants:
                    - type: agent
                      id: support-agent
                      name: Support
                    - type: tool
                      id: Acme_CRM_get_customer
                      name: Acme_CRM_get_customer
                      success: true
                  feedback:
                    rating: 1
                    comment: null
                  scores:
                    - id: f2c1a7e4-6b3d-4a95-8e10-c7d2b9f4a301
                      scorer_id: answer-relevancy
                      name: Answer Relevancy
                      score: 0.85
                  scoring:
                    runs: 1
                    cost: 0.0021
                traces:
                  - trace_id: 0af7651916cd43dd8448eb211c80319c
                    spans:
                      - spanId: b7ad6b7169203331
                        parentSpanId: null
                        traceId: 0af7651916cd43dd8448eb211c80319c
                        name: 'agent run: ''support-agent'''
                        spanType: agent_run
                        startedAt: '2026-10-27T10:00:00.000Z'
                        endedAt: '2026-10-27T10:00:04.210Z'
                        duration_ms: 4210
                        entityType: agent
                        entityId: support-agent
                        input: …
                        output: …
                        attributes: {}
                        metadata: {}
                scores:
                  - id: f2c1a7e4-6b3d-4a95-8e10-c7d2b9f4a301
                    scorer_id: answer-relevancy
                    name: Answer Relevancy
                    score: 0.85
                    trace_id: 0af7651916cd43dd8448eb211c80319c
                    span_id: null
                    reason: null
                    source: TEST
                    created_at: '2026-10-27T10:05:00.000Z'
        '404':
          description: No such request 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.
              example:
                error: Not found
                details: 'Request not found: 8f2c1d4e6a7b4c9d'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Organization API key, generated in studio.sidenet.ai. Backend only —
        never in a browser.

````

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