Cortex Eng Intel: 3-Trace API

The Eng Intel: 3-Trace API from Cortex — 1 operation(s) for eng intel: 3-trace.

Operations 1

POST /api/v1/eng-intel/trace Query raw trace events from engineering data sources #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cortex-idp:cortex-idp-eng-intel-3-trace-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cortex-idp-eng-intel-3-trace-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Cortex REST API provides programmatic access to the data in the catalog, Scorecards, and more.
  title: 'Cortex Eng Intel: 3-Trace API'
  version: v1
servers:
- url: https://api.getcortexapp.com
  description: Cortex Cloud API host
security:
- bearerAuth: []
tags:
- name: 'Eng Intel: 3-Trace'
paths:
  /api/v1/eng-intel/trace:
    post:
      description: Retrieve individual event records with flexible filtering, ordering, and pagination. Supports any engineering data source registered in the registry.
      operationId: queryTraceEvents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TraceEventsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceEventsResponse'
          description: Successfully executed trace query
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceEventsResponse'
          description: Invalid source, date range exceeds 6 months, limit exceeds 500, or validation errors
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceEventsResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Query raw trace events from engineering data sources
      tags:
      - 'Eng Intel: 3-Trace'
      x-cortex-mcp-description: 'Query raw trace events from engineering data sources.


        Returns individual event records (pull requests, deployments, CI runs, etc.) with flexible filtering, ordering, and pagination. Time range (startDate/endDate) cannot exceed 6 months (180 days). Maximum 5000 results per request.


        PREREQUISITES - Follow this workflow:

        1. Discover available sources and attributes: Call listMetricDefinitions (view=''full'') to see available data sources

        2. Use source names and attribute keys from the registry response to construct your trace query

        3. Do NOT guess attribute names - always use exact values from listMetricDefinitions responses


        IMPORTANT: Use exact attribute names from the registry. Filters use the same AttributeFilter format as the metrics API.


        LINKING: Most sources have a URL attribute (e.g., ''pull_requests.url'', ''deployments.url''). Always include URL attributes in your query so you can hyperlink results in Slack using <URL|display text> format.'
      x-cortex-mcp-enabled: 'true'
components:
  schemas:
    AttributeFilterObject:
      required:
      - attribute
      - operator
      - predicate
      type: object
      properties:
        attribute:
          type: string
        operator:
          type: string
          enum:
          - ANY
          - BETWEEN
          - CONTAINS
          - EQUAL
          - GREATER_THAN
          - GREATER_THAN_OR_EQUAL
          - IN
          - IS_NOT_NULL
          - IS_NULL
          - LESS_THAN
          - LESS_THAN_OR_EQUAL
          - LIKE
          - NOT_EQUAL
          - NOT_IN
          - NOT_LIKE
        predicate:
          description: 'The value or values of the attribute to filter by.


            The specific predicate value should match the type of the attribute column and is either a scalar value or array of values depending on the operator.


            A single, scalar value for EQUAL, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, CONTAINS, LIKE, NOT_LIKE.


            LIKE and NOT_LIKE perform case insensitive matches on a string and use % wildcards to perform partial matching.


            An array of values for IN, NOT_IN, ANY, BETWEEN.


            BETWEEN takes an array of two arguments, the inclusive lower and upper bounds.


            The predicate is ignored for IS_NULL, IS_NOT_NULL, which accept null or empty object as arguments.'
          anyOf:
          - type: string
          - type: number
          - type: boolean
          - type: array
            items:
              anyOf:
              - type: string
              - type: number
              - type: boolean
      description: Filters to apply to the query
    AttributeColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - attributeName
        - ordinal
        type: object
        properties:
          attributeName:
            type: string
            description: Name of the attribute field this column represents
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
    TraceEventsResponse:
      required:
      - metadata
      - rows
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/QueryMetadata'
        rows:
          type: array
          description: 'Result rows, one array per event. Cells are positional: the value at index i corresponds to `metadata.columns[i]`, and its JSON type follows that column''s type (string, number, boolean, or null). Rows are not keyed by column name.'
          example:
          - - cortexapps/brain-backend
            - 42
            - '2026-01-15T09:30:00'
          - - cortexapps/brain-app
            - 7
            - null
          items:
            type: array
            description: 'Result rows, one array per event. Cells are positional: the value at index i corresponds to `metadata.columns[i]`, and its JSON type follows that column''s type (string, number, boolean, or null). Rows are not keyed by column name.'
            example:
            - - cortexapps/brain-backend
              - 42
              - '2026-01-15T09:30:00'
            - - cortexapps/brain-app
              - 7
              - null
            items:
              type: object
              description: 'Result rows, one array per event. Cells are positional: the value at index i corresponds to `metadata.columns[i]`, and its JSON type follows that column''s type (string, number, boolean, or null). Rows are not keyed by column name.'
              example:
              - - cortexapps/brain-backend
                - 42
                - '2026-01-15T09:30:00'
              - - cortexapps/brain-app
                - 7
                - null
    MetricAggregateColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - aggregationFunction
        - metricKey
        - ordinal
        type: object
        properties:
          aggregationFunction:
            type: string
            description: Type of aggregation function applied to the metric
            enum:
            - SUM
            - AVG
            - COUNT
            - RATIO
            - MIN
            - MAX
            - P50
            - P95
            - RANKING
            - COLLECT
            - COLLECT_UNIQUE
            - COUNT_UNIQUE
            - LATEST
          metricKey:
            type: string
            description: Unique identifier of the metric being aggregated
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
    EntityReferenceColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - attributeName
        - entityType
        - factScope
        - ordinal
        type: object
        properties:
          attributeName:
            type: string
            description: Name of the attribute that references the entity
          entityType:
            type: string
            description: Type of entity being referenced (e.g., 'user', 'team', 'service')
          factScope:
            type: string
            description: Whether sibling rows under this grouping hold disjoint or overlapping facts. SHARED_ACROSS_ROWS means the grouping fans out (e.g. a repo maps to many entities), so the grouped values share underlying records and do not sum to the total; UNIQUE_PER_ROW means each row's values are its own and are additive.
            enum:
            - UNIQUE_PER_ROW
            - SHARED_ACROSS_ROWS
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
    TraceEventsRequest:
      required:
      - attributes
      - endDate
      - filters
      - limit
      - orderBy
      - source
      - startDate
      type: object
      properties:
        attributes:
          type: array
          description: List of attribute names to include in results. Empty returns all attributes.
          items:
            type: string
            description: List of attribute names to include in results. Empty returns all attributes.
        daysOfWeek:
          uniqueItems: true
          type: array
          description: 'Optional day-of-week restriction (ISO: Monday=1..Sunday=7). When set, only events whose time attribute falls on one of these days are returned (e.g. [1,2,3,4,5] excludes weekends).'
          items:
            type: integer
            description: 'Optional day-of-week restriction (ISO: Monday=1..Sunday=7). When set, only events whose time attribute falls on one of these days are returned (e.g. [1,2,3,4,5] excludes weekends).'
            format: int32
        endDate:
          type: string
          description: End of the time range to query
          format: date-time
        filters:
          type: array
          description: Filters to apply to the query
          items:
            $ref: '#/components/schemas/AttributeFilterObject'
        limit:
          type: integer
          description: Maximum number of results to return (max 500)
          format: int32
        nextPage:
          type: string
          description: Pagination cursor from a previous response
        orderBy:
          type: array
          description: Ordering specification for results
          items:
            $ref: '#/components/schemas/OrderBy'
        source:
          type: string
          description: Data source to query (e.g., 'pull_requests', 'deployments')
        startDate:
          type: string
          description: Start of the time range to query
          format: date-time
        timeAttribute:
          type: string
          description: Override the default time attribute for time-based filtering
    QueryMetadata:
      required:
      - columns
      type: object
      properties:
        columns:
          type: array
          description: List of column definitions describing each field in the result rows
          items:
            oneOf:
            - $ref: '#/components/schemas/AggregatedAttributeColumn'
            - $ref: '#/components/schemas/AttributeColumn'
            - $ref: '#/components/schemas/EntityReferenceColumn'
            - $ref: '#/components/schemas/MetricAggregateColumn'
            - $ref: '#/components/schemas/MetricValueColumn'
            - $ref: '#/components/schemas/TimeWindowColumn'
            - $ref: '#/components/schemas/UrlColumn'
        nextPage:
          type: string
          description: Cursor for the next page, or null when this is the last page. Pass it back as the request's nextPage.
      description: Query metadata describing the structure of returned columns
    UrlColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - attributeName
        - ordinal
        type: object
        properties:
          attributeName:
            type: string
            description: Name of the attribute containing the URL
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
    AggregatedAttributeColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - aggregationFunction
        - attributeName
        - ordinal
        - resultType
        type: object
        properties:
          aggregationFunction:
            type: string
            description: Type of aggregation function applied to the attribute
            enum:
            - SUM
            - AVG
            - COUNT
            - RATIO
            - MIN
            - MAX
            - P50
            - P95
            - RANKING
            - COLLECT
            - COLLECT_UNIQUE
            - COUNT_UNIQUE
            - LATEST
          attributeName:
            type: string
            description: Name of the attribute field this column aggregates
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
          resultType:
            type: string
            description: Type of the produced cell rather than of the underlying attribute
            enum:
            - STRING
            - BOOLEAN
            - INTEGER
            - DECIMAL
            - DOUBLE
            - DATE
            - TREE
            - DATETIME
            - JSON
            - ARRAY
            - ENUM
            - UNSUPPORTED
    OrderBy:
      required:
      - attribute
      - direction
      type: object
      properties:
        attribute:
          type: string
        direction:
          type: string
          enum:
          - ASC
          - DESC
      description: Ordering specification for results
    MetricValueColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - metricKey
        - ordinal
        type: object
        properties:
          metricKey:
            type: string
            description: Unique identifier of the metric this column represents
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
    Column:
      required:
      - alias
      - name
      - ordinal
      - type
      type: object
      properties:
        alias:
          type: string
        category:
          type: string
        description:
          type: string
        name:
          type: string
        ordinal:
          type: integer
          format: int32
        type:
          type: string
      description: List of column definitions describing each field in the result rows
      discriminator:
        propertyName: type
    TooManyRequestsProblemDetail:
      required:
      - type
      - title
      - status
      type: object
      properties:
        detail:
          type: string
        instance:
          type: string
          format: uri-reference
        retryAfter:
          minimum: 0
          type: integer
          description: The number of seconds until the rate limiting resets.
          format: int32
        status:
          maximum: 599
          minimum: 100
          type: integer
          format: int32
          enum:
          - 429
        title:
          type: string
        type:
          type: string
          format: uri-reference
    TimeWindowColumn:
      type: object
      allOf:
      - $ref: '#/components/schemas/Column'
      - required:
        - ordinal
        - windowSize
        type: object
        properties:
          ordinal:
            type: integer
            description: Zero-based column position in the result data rows - use this to map column metadata to actual row data values
            format: int32
          windowSize:
            type: object
            properties:
              nano:
                type: integer
                format: int32
              negative:
                type: boolean
              positive:
                type: boolean
              seconds:
                type: integer
                format: int64
              units:
                type: array
                items:
                  type: object
                  properties:
                    dateBased:
                      type: boolean
                    duration:
                      type: object
                      properties:
                        nano:
                          type: integer
                          format: int32
                        negative:
                          type: boolean
                        positive:
                          type: boolean
                        seconds:
                          type: integer
                          format: int64
                        zero:
                          type: boolean
                    durationEstimated:
                      type: boolean
                    timeBased:
                      type: boolean
              zero:
                type: boolean
            description: Duration of the time window represented by this column
  responses:
    TooManyRequests:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsProblemDetail'
      description: The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
      headers:
        Retry-After:
          description: The number of seconds until the rate limiting resets.
          schema:
            minimum: 0
            type: integer
            format: int32
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: 'All requests to the Cortex API need to provide an `Authorization: Bearer <token>` header, where `<token>` is an API key created in the Settings page of your workspace.'
      scheme: bearer
      type: http
x-provenance:
  method: harvested
  publisher: Cortex
  source: https://docs.cortex.io/openapi/cortex_swagger.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)