Catchpoint Systems TestPerformance API

The TestPerformance API from Catchpoint Systems — 11 operation(s) for testperformance.

Operations 11

GET /v2/tests/records/waterfall/{testId} Returns waterfall tokens based on test IDs.
GET /v2/tests/records/waterfall/data/{waterfallToken} Returns the test waterfall data for a waterfall token.
GET /v2/tests/records/waterfall/screenshot/{waterfallToken} Returns the test records waterfall screenshot based on the waterfall token.
GET /v2/tests/records/waterfall/filmstrip/{waterfallToken} Returns the test records waterfall filmstrip based on the waterfall token.
GET /v2/tests/explorer/favoritechart Returns the list of favorite charts from a client or a division.
GET /v2/tests/explorer/favoritechart/{favoriteChartId} Returns the favorite chart details based on the favorite chart ID.
GET /v2/tests/explorer/favoritechart/data/{favoriteChartId} Returns favorite chart data based on the ID and parameters provided.
GET /v2/tests/explorer/raw Returns raw performance data for the provided Test IDs.
GET /v2/tests/explorer/aggregated Returns aggregated performance data for the provided Test IDs.
GET /v2/tests/explorer/enumeration Returns the test raw enumeration details for automation.
GET /v2/tests/explorer/favoritechart/defaultdata/{favoriteChartId} Returns favorite chart default data set by the user when the favorite chart was created based on the ID.

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/catchpoint-systems-testperformance-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 email required.

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

OpenAPI Specification

catchpoint-systems-testperformance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Catchpoint REST API v2.0 Account Test Performance API
  version: '2.0'
servers:
- url: /api
tags:
- name: TestPerformance
paths:
  /v2/tests/records/waterfall/{testId}:
    get:
      tags:
      - TestPerformance
      summary: Returns waterfall tokens based on test IDs.
      description: "*[Analytics Endpoint]*\n            \nReturns the waterfall tokens for last three hours of a specified test if no time range is specified. The tokens returned include “verify on failure” test runs too."
      parameters:
      - name: testId
        in: path
        description: Test ID to get waterfall tokens for
        required: true
        schema:
          type: integer
          format: int64
      - name: nodeIds
        in: query
        description: Comma-separated list of Node IDs
        schema:
          type: string
      - name: startTimeUtc
        in: query
        description: Start time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
      - name: endTimeUtc
        in: query
        description: End time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallTokenResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallTokenResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallTokenResponse'
      security:
      - bearer: []
      order: 1
  /v2/tests/records/waterfall/data/{waterfallToken}:
    get:
      tags:
      - TestPerformance
      summary: Returns the test waterfall data for a waterfall token.
      description: "*[Analytics Endpoint]*\n            \nFor tests with multiple steps, each step data needs to be pulled separately."
      parameters:
      - name: waterfallToken
        in: path
        description: Test waterfall token
        required: true
        schema:
          type: string
      - name: step
        in: query
        description: Step number to pull data for
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
      security:
      - bearer: []
      order: 2
  /v2/tests/records/waterfall/screenshot/{waterfallToken}:
    get:
      tags:
      - TestPerformance
      summary: Returns the test records waterfall screenshot based on the waterfall token.
      description: "*[Analytics Endpoint]*\n            \nFor tests with multiple steps, each screenshot needs to be pulled separately.\n            \nThe screenshot details are returned in Base64."
      parameters:
      - name: waterfallToken
        in: path
        description: Test waterfall token
        required: true
        schema:
          type: string
      - name: step
        in: query
        description: Step number to pull data for
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
      security:
      - bearer: []
      order: 3
  /v2/tests/records/waterfall/filmstrip/{waterfallToken}:
    get:
      tags:
      - TestPerformance
      summary: Returns the test records waterfall filmstrip based on the waterfall token.
      description: "*[Analytics Endpoint]*\n            \nFor tests with multiple steps, each filmstrip needs to be pulled separately.\n            \nThe filmstrip details are returned in Base64."
      parameters:
      - name: waterfallToken
        in: path
        description: Test waterfall token
        required: true
        schema:
          type: string
      - name: step
        in: query
        description: Step number to pull data for
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.TestWaterfallDataResponse'
      security:
      - bearer: []
      order: 4
  /v2/tests/explorer/favoritechart:
    get:
      tags:
      - TestPerformance
      summary: Returns the list of favorite charts from a client or a division.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartResponse'
      security:
      - bearer: []
      order: 5
  /v2/tests/explorer/favoritechart/{favoriteChartId}:
    get:
      tags:
      - TestPerformance
      summary: Returns the favorite chart details based on the favorite chart ID.
      parameters:
      - name: favoriteChartId
        in: path
        description: Favorite chart ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
      security:
      - bearer: []
      order: 6
  /v2/tests/explorer/favoritechart/data/{favoriteChartId}:
    get:
      tags:
      - TestPerformance
      summary: Returns favorite chart data based on the ID and parameters provided.
      description: "*[Analytics Endpoint]*\n            \nThe favorite chart data returned is in UTC time."
      parameters:
      - name: favoriteChartId
        in: path
        description: Favorite chart ID
        required: true
        schema:
          type: integer
          format: int32
      - name: startTimeUtc
        in: query
        description: Start Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
      - name: endTimeUtc
        in: query
        description: End Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
      - name: timeInterval
        in: query
        description: Time interval window to aggregate data (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration])
        schema:
          type: integer
          format: int32
      - name: tests
        in: query
        description: Comma-separated list of test IDs to get favorite chart data for
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
      security:
      - bearer: []
      order: 7
  /v2/tests/explorer/raw:
    get:
      tags:
      - TestPerformance
      summary: Returns raw performance data for the provided Test IDs.
      description: "*[Analytics Endpoint]*\n            \nThe raw data returned is in UTC. If no time is specified, the last 1-hour raw data is returned. Use parameters to query specific dimensions."
      parameters:
      - name: testIds
        in: query
        description: Comma-separated list of Test IDs
        required: true
        schema:
          type: string
      - name: startTimeUtc
        in: query
        description: Start Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
          format: date-time
      - name: endTimeUtc
        in: query
        description: End Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
          format: date-time
      - name: subSourceTypeId
        in: query
        description: Sub source type ID (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration])
        schema:
          type: integer
          format: int32
      - name: dimensionIds
        in: query
        description: Comma-separated list of dimensions (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration]). The data will be grouped and broken down based on these dimensions
        schema:
          type: string
      - name: metricIds
        in: query
        description: Comma-separated list of metric IDs (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration]). All metrics are returned if no value is passed.
        schema:
          type: string
      - name: tracepointIds
        in: query
        description: Comma-separated list of Tracepoint IDs
        schema:
          type: string
      - name: zoneTypeIds
        in: query
        description: Comma-separated list of Zone Type IDs. ”-2” for Self Zone and “-3” for Third Party Zone.
        schema:
          type: string
      - name: availabilityFilter
        in: query
        description: Comma-separated list of Availability Filter IDs. (OnlyFailures = 0, OnlySuccesses = 1, All = 2, OnlyContentFailures = 3, OnlyJavascriptFailures = 4, SLA = 5, SLAAcceptedRuns = 6, SLAPurgedRuns = 7, RealTimePushApiFailures = 8)
        schema:
          type: string
      - name: verifyOnError
        in: query
        description: Include Verify on Error Run. Default is false.
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseRaw'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseRaw'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseRaw'
      security:
      - bearer: []
      order: 8
  /v2/tests/explorer/aggregated:
    get:
      tags:
      - TestPerformance
      summary: Returns aggregated performance data for the provided Test IDs.
      description: "*[Analytics Endpoint]*\n            \nThe aggregated performance data returned is in UTC. If no time is specified, the last 24-hour data aggregated by 15 minutes is returned. Use parameters to query specific dimensions."
      parameters:
      - name: testIds
        in: query
        description: Comma-separated list of Test IDs
        required: true
        schema:
          type: string
      - name: startTimeUtc
        in: query
        description: Start Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
          format: date-time
      - name: endTimeUtc
        in: query
        description: End Time in UTC (YYYY-MM-DDThh:mm:ss)
        schema:
          type: string
          format: date-time
      - name: subSourceTypeId
        in: query
        description: Sub source type ID (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration])
        schema:
          type: integer
          format: int32
      - name: timeInterval
        in: query
        description: Time interval window to aggregate data (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration])
        schema:
          type: integer
          format: int32
      - name: dimensionIds
        in: query
        description: Comma-separated list of dimensions (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration]). The data will be grouped and broken down based on these dimensions
        schema:
          type: string
      - name: metricIds
        in: query
        description: Comma-separated list of metric IDs (refer InternalLink[Test Raw Enumeration Endpoint,operations-tag-TestPerformance,operations-TestPerformance-get_v2_tests_explorer_enumeration]). All metrics are returned if no value is passed.
        schema:
          type: string
      - name: tracepointIds
        in: query
        description: Comma-separated list of Tracepoint IDs
        schema:
          type: string
      - name: zoneTypeIds
        in: query
        description: Comma-separated list of Zone Type IDs. ”-2” for Self Zone and “-3” for Third Party Zone.
        schema:
          type: string
      - name: availabilityFilter
        in: query
        description: Comma-separated list of Availability Filter IDs. (OnlyFailures = 0, OnlySuccesses = 1, All = 2, OnlyContentFailures = 3, OnlyJavascriptFailures = 4, SLA = 5, SLAAcceptedRuns = 6, SLAPurgedRuns = 7, RealTimePushApiFailures = 8)
        schema:
          type: string
      - name: verifyOnError
        in: query
        description: Include Verify on Error Run. Default is false.
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseAggregated'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseAggregated'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseAggregated'
      security:
      - bearer: []
      order: 9
  /v2/tests/explorer/enumeration:
    get:
      tags:
      - TestPerformance
      summary: Returns the test raw enumeration details for automation.
      description: Use parameters to specify which enumeration to pull, if no parameter is passed then it returns all the enumerations. Returns the enumeration based on the parameters.
      parameters:
      - name: subSourceId
        in: query
        description: Sub source type ID
        schema:
          type: integer
          format: int32
      - name: includeDimensions
        in: query
        description: Set to “true” to return enumerations of dimensions
        schema:
          type: boolean
      - name: includeMetrics
        in: query
        description: Set to “true” to return enumerations of metrics
        schema:
          type: boolean
      - name: includeSubSourceTypes
        in: query
        description: Set to “true” to return enumerations of sub sources
        schema:
          type: boolean
      - name: includeTimeIntervals
        in: query
        description: Set to “true” to return enumerations of time intervals
        schema:
          type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.EnumerationResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.EnumerationResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.EnumerationResponse'
      security:
      - bearer: []
      order: 10
  /v2/tests/explorer/favoritechart/defaultdata/{favoriteChartId}:
    get:
      tags:
      - TestPerformance
      summary: Returns favorite chart default data set by the user when the favorite chart was created based on the ID.
      description: "*[Analytics Endpoint]*\n            \nThe favorite chart data returned is in UTC time."
      parameters:
      - name: favoriteChartId
        in: path
        description: Favorite chart ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.FavoriteChart.FavoriteChartDetailsResponse'
      security:
      - bearer: []
      order: 11
components:
  schemas:
    Catchpoint.Symphony.Response.NetworkGraphPathMtuSummaryData:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
        index:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.MtuIndexType'
        runsCount:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    Catchpoint.Symphony.Response.TraceRouteIpAddressLookup:
      type: object
      properties:
        ipAddress:
          type:
          - string
          - 'null'
        asn:
          type: integer
          format: int64
        asName:
          type:
          - string
          - 'null'
        cityName:
          type:
          - string
          - 'null'
        countryName:
          type:
          - string
          - 'null'
        hostName:
          type:
          - string
          - 'null'
        continentName:
          type:
          - string
          - 'null'
        internetServices:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.InternetServiceModel'
      additionalProperties: false
    Catchpoint.Symphony.Enums.Test.PageSpeedRuleType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: AvoidBadRequest
      - id: 2
        name: AvoidCSSImport
      - id: 3
        name: AvoidDocumentWrite
      - id: 4
        name: CombineExternalCSS
      - id: 5
        name: CombineExternalJavaScript
      - id: 6
        name: EnableGzipCompression
      - id: 7
        name: LeverageBrowserCaching
      - id: 8
        name: MinifyCSS
      - id: 9
        name: MinifyHTML
      - id: 10
        name: MinifyJavaScript
      - id: 11
        name: MinimizeDnsLookups
      - id: 12
        name: MinimizeRedirects
      - id: 13
        name: MinimizeRequestSize
      - id: 14
        name: OptimizeImages
      - id: 15
        name: OptimizeTheOrderOfStylesAndScripts
      - id: 16
        name: ParallelizeDownloadsAcrossHostnames
      - id: 17
        name: PreferAsyncResources
      - id: 18
        name: PutCssInTheDocumentHead
      - id: 19
        name: RemoveQueryStringsFromStaticResources
      - id: 20
        name: ServeResourcesFromAConsistentUrl
      - id: 21
        name: ServeScaledImages
      - id: 22
        name: ServeStaticContentFromACookielessDomain
      - id: 23
        name: SpecifyACacheValidator
      - id: 24
        name: SpecifyAVaryAcceptEncodingHeader
      - id: 25
        name: SpecifyCharsetEarly
      - id: 26
        name: SpecifyImageDimensions
      - id: 27
        name: SpriteImages
      - id: 28
        name: DeferParsingJavaScript
      - id: 29
        name: EnableKeepAlive
      - id: 30
        name: InlineSmallCSS
      - id: 31
        name: InlineSmallJavaScript
      - id: 32
        name: MakeLandingPageRedirectsCacheable
      - id: 33
        name: ServerResponseTime
      - id: 34
        name: AvoidLandingPageRedirects
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.InternetServiceCategoryType:
      enum:
      - id: 1
        name: InternetNetworkProvider
      - id: 2
        name: WebApps
      - id: 3
        name: InfrastructureProvider
      - id: 4
        name: WebService
      - id: 5
        name: BusinessServices
      - id: 6
        name: StackMapCustomService
      type: integer
      format: int32
    Catchpoint.Symphony.ViewModels.UriSlim:
      type: object
      properties:
        pathAndQuery:
          type:
          - string
          - 'null'
        scheme:
          type:
          - string
          - 'null'
        host:
          type:
          - string
          - 'null'
        absoluteUri:
          type:
          - string
          - 'null'
      additionalProperties: false
    Catchpoint.Symphony.Enums.RecordWebItemRequestType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Failed
      - id: 2
        name: Cancelled
      - id: 3
        name: Uncompressed
      - id: 4
        name: Http1Dot0
      - id: 5
        name: Http1Dot1
      - id: 6
        name: Secure
      - id: 7
        name: Unsecure
      - id: 8
        name: Closed
      - id: 9
        name: Http2Dot0
      - id: 10
        name: Http3Dot0
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.SyntheticLocation.SyntheticNodeReturnCodeGroup:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Failure
      - id: 2
        name: Warning
      - id: 4
        name: Redirect
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.RecordResponseAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int64
        node:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.NodeAPIModel'
        monitorType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.DisplayMonitorType'
        monitorVersion:
          type:
          - string
          - 'null'
        playbackType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.PlaybackSourceType'
        mobilePlaybackType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.MobilePlaybackSourceType'
        actualRuntime:
          type: string
          format: date-time
        actualRuntimeInUnixTimeMilliseconds:
          type: integer
          format: int64
        reportWindowTime:
          type: string
          format: date-time
        debugTraceInformation:
          type:
          - string
          - 'null'
        errorMessage:
          type:
          - string
          - 'null'
        primaryErrorData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Response.ErrorCode'
        publicLink:
          type:
          - string
          - 'null'
        testResult:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.RecordWebDataAPIModel'
        additionalMonitorData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordAdditionalMonitorData'
        streamingData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordStreamingData'
        ftpData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordFtpData'
        tcpData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordTcpData'
        smtpData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordSmtpData'
        ntpData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordNtpData'
        mqttData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordMqttData'
        imapData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordImapData'
        sshData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordSshData'
        sslData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordSslData'
        traceRouteData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.TraceRouteData'
        pingData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.PingData'
        dnsTraceData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordDnsTraceData'
        webSocketData:
          $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordWebSocketData'
      additionalProperties: false
    Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordTcpData:
      type: object
      properties:
        metrics:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.RecordMetricItem'
        host:
          type:
          - string
          - 'null'
        port:
          type: integer
          format: int32
        ipAddress:
          type:
          - string
          - 'null'
        errorCode:
          $ref: '#/components/schemas/Catchpoint.Symphony.Response.ErrorCode'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Performance.TestWaterfallTokenAPIModel:
      type: object
      properties:
        testId:
          type: integer
          format: int64
        startDateTime:
          type: string
          format: date-time
        endDateTime:
          type: string
          format: date-time
        timezone:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SupportedTimeZone'
        node:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.NodeAPIModel'
        waterfalls:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Performance.WaterfallTokenAPIModel'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.SonarPointsPerDay:
      type: object
      properties:
        pointsPerDay:
          type: number
          format: double
        totalPointsPercentPerDay:
          type: number
          format: double
      additionalProperties: false
    Catchpoint.Symphony.Enums.PlaybackSourceType:
      enum:
      - id: 0
        name: Har
      - id: 1
        name: IE
      - id: 2
        name: Chrome
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.RecordTransactionStepAPIModel:
      type: object
      properties:
        metrics:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.RecordMetricItemAPIModel'
        transactionSteps:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.Orchestra.Response.SyntheticRecords.RecordTransactionStep'
      additionalProperties: false
    ? Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseRaw
    : type: object
      properties:
        data:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsApiResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.AnalyticsResponseRaw'
        messages:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage'
        errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel'
        completed:
          type: boolean
          readOnly: true
        traceId:
          type:
          - string
          - 'null'
        usageLimits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics'
      additionalProperties: false
    Catch

# --- truncated at 32 KB (176 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/catchpoint-systems/refs/heads/main/openapi/catchpoint-systems-testperformance-api-openapi.yml