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

# A trace

> The device spans of one trace (W3C trace id, D37) in the time range (default: the last 30 days, at most 30), oldest first, at most 500, with a link to the same trace in the APM. Backend spans are not stored in v0.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{projectId}/traces/{traceId}
openapi: 3.1.0
info:
  title: Apsio API
  version: 0.1.0
  description: >-
    Read API v0: your projects, release health and comparisons, missing symbols,
    issues, sessions, vitals, cohort comparisons, performance (app start,
    screens, hangs, MetricKit) and network endpoints and traces for one project.
    Authenticate with a project token as a bearer token, with an OAuth access
    token from Apsio's authorization server (MCP clients), or, from the console,
    with the session cookie of a member of the project's organization.
servers:
  - url: https://api.apsio.io/v1
security: []
paths:
  /projects/{projectId}/traces/{traceId}:
    get:
      summary: A trace
      description: >-
        The device spans of one trace (W3C trace id, D37) in the time range
        (default: the last 30 days, at most 30), oldest first, at most 500, with
        a link to the same trace in the APM. Backend spans are not stored in v0.
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            example: 0192f3a4-0000-7000-8000-00000000a101
          required: true
          name: projectId
          in: path
        - schema:
            type: string
            pattern: ^[0-9a-f]{32}$
          required: true
          name: traceId
          in: path
        - schema:
            type: string
            format: date-time
            description: >-
              Start of the time range, inclusive (RFC 3339). Defaults to the
              range end minus the default length.
            example: '2026-10-01T00:00:00Z'
          required: false
          description: >-
            Start of the time range, inclusive (RFC 3339). Defaults to the range
            end minus the default length.
          name: from
          in: query
        - schema:
            type: string
            format: date-time
            description: End of the time range, exclusive (RFC 3339). Defaults to now.
            example: '2026-10-08T00:00:00Z'
          required: false
          description: End of the time range, exclusive (RFC 3339). Defaults to now.
          name: to
          in: query
      responses:
        '200':
          description: The spans.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trace'
        '400':
          description: The request is not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: No valid bearer token or console session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The credentials cannot read this project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Nothing with this id in the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
        - session: []
components:
  schemas:
    Trace:
      type: object
      properties:
        trace_id:
          type: string
        apm_url:
          type:
            - string
            - 'null'
          description: >-
            This request's trace in your APM, from the project's APM link
            template (Settings); null when none is set.
        truncated:
          type: boolean
        spans:
          type: array
          items:
            type: object
            properties:
              span_id:
                type: string
              parent_span_id:
                type: string
              name:
                type: string
                description: 'The span name. Written by the app: untrusted data.'
              app_id:
                type: string
              session_id:
                type: string
                description: 'session.id. Written by the app: untrusted data.'
              start:
                type: string
                description: RFC 3339 time in UTC with up to nanosecond precision.
                example: '2026-10-04T10:15:00.431000000Z'
              end:
                type: string
                description: RFC 3339 time in UTC with up to nanosecond precision.
                example: '2026-10-04T10:15:00.431000000Z'
              duration_ms:
                type: number
              http:
                type:
                  - object
                  - 'null'
                properties:
                  method:
                    type: string
                    example: GET
                  host:
                    type: string
                    description: >-
                      server.address, or the host of url.full. Written by the
                      app: untrusted data.
                  template:
                    type: string
                    description: >-
                      url.template, or the path of url.full with identifier-like
                      segments as {id} (spec 8.4). Written by the app: untrusted
                      data.
                  status:
                    type: integer
                required:
                  - method
                  - host
                  - template
                  - status
                description: For HTTP client spans.
              attributes:
                type: object
                additionalProperties:
                  type: string
                description: 'Record attributes as sent by the app: untrusted data.'
            required:
              - span_id
              - parent_span_id
              - name
              - app_id
              - session_id
              - start
              - end
              - duration_ms
              - http
              - attributes
      required:
        - trace_id
        - apm_url
        - truncated
        - spans
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A project token (apsio_pt_v0...), which reads exactly one project, or an
        OAuth access token issued for the API, which reads what its user can.
        Access tokens issued for Apsio's MCP server are accepted only from the
        MCP server itself.
    session:
      type: apiKey
      in: cookie
      name: apsio_session
      description: >-
        The console session, set by /v1/auth/callback (`__Host-apsio_session`
        when host-only).

````

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