AWS X-Ray Traces API

Upload and retrieve trace data

OpenAPI Specification

aws-x-ray-traces-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS X-Ray Encryption Traces API
  description: AWS X-Ray provides APIs for managing trace data, sampling rules, groups, and encryption configuration. X-Ray helps developers analyze and debug distributed applications by collecting trace data as requests travel through application components.
  version: '2016-04-12'
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/xray/
servers:
- url: https://xray.{region}.amazonaws.com
  description: AWS X-Ray regional endpoint
  variables:
    region:
      default: us-east-1
      description: AWS region
security:
- aws_sig_v4: []
tags:
- name: Traces
  description: Upload and retrieve trace data
paths:
  /Traces:
    post:
      operationId: PutTraceSegments
      summary: AWS X-Ray Upload Trace Segments
      description: Uploads segment documents to AWS X-Ray. A segment document can be a completed segment, an in-progress segment, or a subsegment.
      tags:
      - Traces
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - TraceSegmentDocuments
              properties:
                TraceSegmentDocuments:
                  type: array
                  items:
                    type: string
                  description: A string containing a JSON document defining one or more segments or subsegments.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  UnprocessedTraceSegments:
                    type: array
                    items:
                      type: object
                      properties:
                        Id:
                          type: string
                        ErrorCode:
                          type: string
                        Message:
                          type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TraceGraph:
    post:
      operationId: BatchGetTraces
      summary: AWS X-Ray Get a List of Traces by ID
      description: Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request.
      tags:
      - Traces
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - TraceIds
              properties:
                TraceIds:
                  type: array
                  items:
                    type: string
                  description: Specify the trace IDs of requests to retrieve.
                NextToken:
                  type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchGetTracesResult'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TraceSummaries:
    post:
      operationId: GetTraceSummaries
      summary: AWS X-Ray Get Trace Summaries
      description: Retrieves IDs and annotations for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.
      tags:
      - Traces
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - StartTime
              - EndTime
              properties:
                StartTime:
                  type: string
                  format: date-time
                  description: Start of the time frame for trace retrieval.
                EndTime:
                  type: string
                  format: date-time
                  description: End of the time frame for trace retrieval.
                TimeRangeType:
                  type: string
                  enum:
                  - TraceId
                  - Event
                  description: Value to use for filtering based on time range type.
                Sampling:
                  type: boolean
                  description: Set to true to get a sampled subset of trace summaries.
                SamplingStrategy:
                  type: object
                  properties:
                    Name:
                      type: string
                      enum:
                      - PartialScan
                      - FixedRate
                    Value:
                      type: number
                FilterExpression:
                  type: string
                  description: Filter expression to narrow results.
                NextToken:
                  type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTraceSummariesResult'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    BatchGetTracesResult:
      type: object
      properties:
        Traces:
          type: array
          items:
            $ref: '#/components/schemas/Trace'
        UnprocessedTraceIds:
          type: array
          items:
            type: string
        NextToken:
          type: string
    GetTraceSummariesResult:
      type: object
      properties:
        TraceSummaries:
          type: array
          items:
            $ref: '#/components/schemas/TraceSummary'
        ApproximateTime:
          type: string
          format: date-time
        TracesProcessedCount:
          type: integer
          format: int64
        NextToken:
          type: string
    Trace:
      type: object
      properties:
        Id:
          type: string
          description: The unique identifier for the request that generated the trace.
        Duration:
          type: number
          description: The length of time in seconds between the start and end times.
        LimitExceeded:
          type: boolean
        Segments:
          type: array
          items:
            type: object
            properties:
              Id:
                type: string
              Document:
                type: string
    ServiceId:
      type: object
      properties:
        Name:
          type: string
        Names:
          type: array
          items:
            type: string
        AccountId:
          type: string
        Type:
          type: string
    TraceSummary:
      type: object
      properties:
        Id:
          type: string
        Duration:
          type: number
        ResponseTime:
          type: number
        HasFault:
          type: boolean
        HasError:
          type: boolean
        HasThrottle:
          type: boolean
        IsPartial:
          type: boolean
        Http:
          type: object
          properties:
            HttpURL:
              type: string
            HttpStatus:
              type: integer
            HttpMethod:
              type: string
            UserAgent:
              type: string
            ClientIp:
              type: string
        Annotations:
          type: object
          additionalProperties:
            type: array
            items:
              type: object
        Users:
          type: array
          items:
            type: object
            properties:
              UserName:
                type: string
        ServiceIds:
          type: array
          items:
            $ref: '#/components/schemas/ServiceId'
        EntryPoint:
          $ref: '#/components/schemas/ServiceId'
        MatchedEventTime:
          type: string
          format: date-time
  securitySchemes:
    aws_sig_v4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4