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

# Get time-bucketed span metrics

> Compute time-bucketed span metrics over the requested window and filters.

``metrics`` optionally selects count, errors, or latency (p50/p75/p95);
omitting it preserves the all-metrics response. ``bucket_minutes`` sets the
requested bucket size, but the effective
size is enlarged automatically so the response never exceeds 100 buckets (the
value actually used is returned in ``bucket_minutes``). Both ``from_ts`` and
``to_ts`` are required. A reversed time window (``from_ts`` after ``to_ts``) is
rejected with 422. The underlying scan is capped at 50,000 matching spans,
so metrics over a very large window may be based on a truncated set. Results
are narrowed to traces the caller is authorized to read.



## OpenAPI

````yaml https://api.sgp.scale.com/openapi-versions/v5/openapi.json post /v5/spans/metrics
openapi: 3.1.0
info:
  title: EGP API V5
  description: >-
    This is the parent API for all EGP APIs. If you are looking for the EGP API,
    please go to https://api.egp.scale.com/docs.
  contact:
    name: Scale Generative AI Platform
    url: https://scale.com/genai-platform
  version: 0.1.0
servers:
  - url: https://api.egp.scale.com
security: []
paths:
  /v5/spans/metrics:
    post:
      tags:
        - Spans
      summary: Get time-bucketed span metrics
      description: >-
        Compute time-bucketed span metrics over the requested window and
        filters.


        ``metrics`` optionally selects count, errors, or latency (p50/p75/p95);

        omitting it preserves the all-metrics response. ``bucket_minutes`` sets
        the

        requested bucket size, but the effective

        size is enlarged automatically so the response never exceeds 100 buckets
        (the

        value actually used is returned in ``bucket_minutes``). Both ``from_ts``
        and

        ``to_ts`` are required. A reversed time window (``from_ts`` after
        ``to_ts``) is

        rejected with 422. The underlying scan is capped at 50,000 matching
        spans,

        so metrics over a very large window may be based on a truncated set.
        Results

        are narrowed to traces the caller is authorized to read.
      operationId: POST-V5-/v5/spans/metrics
      parameters:
        - name: from_ts
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: The starting (oldest) timestamp in ISO format.
            title: From Ts
          description: The starting (oldest) timestamp in ISO format.
        - name: to_ts
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: The ending (most recent) timestamp in ISO format.
            title: To Ts
          description: The ending (most recent) timestamp in ISO format.
        - name: x-selected-account-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Account ID Header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpansMetricsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpansMetricsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    SpansMetricsRequest:
      properties:
        parents_only:
          title: Parents Only
          description: Only fetch spans that are the top-level (ie. have no parent_id)
          type: boolean
        span_ids:
          title: Span Ids
          description: Filter by span IDs
          items:
            type: string
          type: array
        trace_ids:
          title: Trace Ids
          description: >-
            Filter by trace IDs. The combined count of trace_ids, span_ids,
            excluded_span_ids, excluded_trace_ids, and parent_ids may not exceed
            10000. A request over that returns 422.
          items:
            type: string
          type: array
        excluded_span_ids:
          title: Excluded Span Ids
          description: List of span IDs to exclude from results
          items:
            type: string
          type: array
        excluded_trace_ids:
          title: Excluded Trace Ids
          description: List of trace IDs to exclude from results
          items:
            type: string
          type: array
        group_id:
          title: Group Id
          description: Filter by group ID
          type: string
        parent_ids:
          title: Parent Ids
          description: Filter to the direct children of any of these parent span IDs
          items:
            type: string
          type: array
        names:
          title: Names
          description: Filter by trace/span name
          items:
            type: string
          type: array
        statuses:
          title: Statuses
          description: Filter on span status
          items:
            $ref: '#/components/schemas/ApplicationOperationStatus'
          type: array
        types:
          title: Types
          items:
            $ref: '#/components/schemas/ApplicationOperationType'
          type: array
        search_texts:
          title: Search Texts
          description: >-
            Case-insensitive substring search across span name, input, output,
            and metadata (no tokenization or stemming). Multiple terms are
            ANDed, and UUID-shaped terms match trace IDs instead. Substring
            means mid-word fragments match, while an inflected form such as a
            plural matches only where it appears literally. A span must match
            every non-UUID term, and each term may match any of the searched
            fields. UUID matches are ORed onto the text match. Each term must be
            at least 2 characters. For exact trace ID lookup, use the
            `trace_ids` filter. Accounts still served by the legacy trace store
            match differently until migrated: terms match as stemmed whole words
            rather than substrings, only input and output are searched, the
            2-character minimum is not enforced, and characters like `:`, `|`,
            or `!` inside a term may be interpreted as query operators or cause
            an error.
          items:
            type: string
          type: array
        extra_metadata:
          title: Extra Metadata
          description: Filter on custom metadata key-value pairs
          additionalProperties: true
          type: object
        application_variant_ids:
          title: Application Variant Ids
          description: Filter by application variant IDs
          items:
            type: string
          type: array
        assessment_types:
          title: Assessment Types
          description: Filter to spans that have at least one assessment of these types
          items:
            type: string
          type: array
        acp_types:
          title: Acp Types
          description: Filter by ACP types
          items:
            type: string
          type: array
        agentex_agent_names:
          title: Agentex Agent Names
          description: Filter by Agentex agent names
          items:
            type: string
          type: array
        agentex_agent_ids:
          title: Agentex Agent Ids
          description: Filter by Agentex agent IDs
          items:
            type: string
          type: array
        min_duration_ms:
          title: Min Duration Ms
          description: >-
            Minimum span duration in milliseconds (inclusive). An in-flight span
            with no end time has no known duration and is treated as unbounded,
            so it matches every minimum.
          type: integer
        max_duration_ms:
          title: Max Duration Ms
          description: >-
            Maximum span duration in milliseconds (inclusive). An in-flight span
            with no end time has no known duration and is treated as unbounded,
            so it never falls within a maximum and is excluded.
          type: integer
        bucket_minutes:
          type: integer
          title: Bucket Minutes
          description: Size of each time bucket in minutes
          default: 30
        metrics:
          items:
            $ref: '#/components/schemas/SpanMetric'
          type: array
          title: Metrics
          description: >-
            Metric groups to compute. Omit or pass an empty list to compute all
            groups.
      type: object
      title: SpansMetricsRequest
    SpansMetricsResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/SpansMetricsBucket'
          type: array
          title: Items
        bucket_minutes:
          type: integer
          title: Bucket Minutes
          description: Effective bucket size in minutes
          default: 30
      type: object
      required:
        - items
      title: SpansMetricsResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ApplicationOperationStatus:
      type: string
      enum:
        - SUCCESS
        - ERROR
        - CANCELED
      title: ApplicationOperationStatus
    ApplicationOperationType:
      type: string
      enum:
        - TEXT_INPUT
        - TEXT_OUTPUT
        - COMPLETION_INPUT
        - COMPLETION
        - KB_RETRIEVAL
        - KB_INPUT
        - RERANKING
        - EXTERNAL_ENDPOINT
        - PROMPT_ENGINEERING
        - DOCUMENT_INPUT
        - MAP_REDUCE
        - DOCUMENT_SEARCH
        - DOCUMENT_PROMPT
        - CUSTOM
        - CODE_EXECUTION
        - DATA_MANIPULATION
        - EVALUATION
        - FILE_RETRIEVAL
        - KB_ADD_CHUNK
        - KB_MANAGEMENT
        - GUARDRAIL
        - OUTPUT_GUARDRAIL
        - TRACER
        - AGENT_TRACER
        - AGENT_WORKFLOW
        - STANDALONE
      title: ApplicationOperationType
    SpanMetric:
      type: string
      enum:
        - count
        - errors
        - latency
      title: SpanMetric
      description: An independently loadable metric group for the traces chart.
    SpansMetricsBucket:
      properties:
        bucket_start:
          type: string
          format: date-time
          title: Bucket Start
        count:
          title: Count
          type: integer
        error_count:
          title: Error Count
          type: integer
        p50_ms:
          title: P50 Ms
          type: number
        p75_ms:
          title: P75 Ms
          type: number
        p95_ms:
          title: P95 Ms
          type: number
      type: object
      required:
        - bucket_start
      title: SpansMetricsBucket
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          title: Error Type
          type: string
        input:
          title: Input
        ctx:
          type: object
          title: Context
          additionalProperties: true
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key

````