Catchpoint Systems Product API

The Product API from Catchpoint Systems — 3 operation(s) for product.

Operations 4

GET /v2/products/{productIds} Returns properties of one or more products based on product ID(s).
POST /v2/products Create a new product per the request body.
GET /v2/products Return products that match all provided parameters.
PATCH /v2/products/{productId} Update a property of an existing product.

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-product-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

catchpoint-systems-product-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Catchpoint REST API v2.0 Account Product API
  version: '2.0'
servers:
- url: /api
tags:
- name: Product
paths:
  /v2/products/{productIds}:
    get:
      tags:
      - Product
      summary: Returns properties of one or more products based on product ID(s).
      description: 'Results include properties from all sections available in the UI: Product Properties, Advanced Settings, Requests, Insights, Targeting & Scheduling, and Alerts.


        Assigning “0” to Product ID would return the payload to create a new product.'
      parameters:
      - name: productIds
        in: path
        description: Comma-separated list of product IDs to look up
        required: true
        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.Product.ProductGetResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductGetResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductGetResponse'
      security:
      - bearer: []
      order: 1
  /v2/products:
    post:
      tags:
      - Product
      summary: Create a new product per the request body.
      description: The request body must include all required product properties and may include any optional properties as well. To get a sample payload to pass along with the request, refer InternalLink[Product Details by ID Endpoint,operations-tag-Product,operations-Product-get_v2_products__productIds_]. Assign “0” to product ID when creating a new product.
      parameters:
      - name: objectDetails
        in: query
        description: Set to true to return the created object in the response body. Otherwise the response body will only return the created object ID.
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel'
      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.Product.ProductPostResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse'
      security:
      - bearer: []
      order: 3
    get:
      tags:
      - Product
      summary: Return products that match all provided parameters.
      description: 'All parameters are optional, and you may include any of them to customize the query. To pass multiple values for a parameter, provide a comma-separated list. If no parameters are passed, then details for all active products are returned. Results include properties from all sections available in the UI: Product Properties, Advanced Settings, Requests, Insights, Targeting & Scheduling, and Alerts. The query returns 100 records per page; if there are more than 100 records then the response will have the “hasMore” property set to “true”.'
      parameters:
      - name: statusId
        in: query
        description: Product status ID. “0” for active and “1” for inactive
        schema:
          type: integer
          format: int32
      - name: name
        in: query
        description: Product name
        schema:
          type: string
      - name: credentialIds
        in: query
        description: Comma-separated list of Credential IDs
        schema:
          type: string
      - name: includeAdvanceSettings
        in: query
        description: Include Advance settings section in the response
        schema:
          type: boolean
          default: false
      - name: includeRequest
        in: query
        description: Include Request settings section in the response
        schema:
          type: boolean
          default: false
      - name: includeInsight
        in: query
        description: Include insights section in the response
        schema:
          type: boolean
          default: false
      - name: includeTargeting
        in: query
        description: Include Target and Scheduling section in the response
        schema:
          type: boolean
          default: false
      - name: includeAlerts
        in: query
        description: Include alerts section in the response
        schema:
          type: boolean
          default: false
      - name: pageNumber
        in: query
        description: Page number to return records from when the number of records exceeds pageSize
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of results that is returned per page. Maximum value is 100.
        schema:
          type: integer
          format: int32
          default: 100
      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.Product.ProductGetResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductGetResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductGetResponse'
      security:
      - bearer: []
      order: 2
  /v2/products/{productId}:
    patch:
      tags:
      - Product
      summary: Update a property of an existing product.
      description: "Only the property to be updated can be passed in the request body (do not pass the whole object.) The update request body requires a total of three keys to be filled with appropriate value as listed below:\n* **value** – The value property provides the new value.\n\n* **path** – The path property indicates the element to update. The entire path with slashes needs to be provided here. Example: /status/id\n\n* **op** – The op property indicates the type of operation we support the following three operations:\n\n    * **add** - Add a property or array element. For existing property: set value.\n    \n    * **Remove** - Remove a property or array element.\n    \n    * **replace** - Same as remove, followed by add at same location.\n   \n* **from** - [Not Used]\n\n    * **Explanation** - The \"from\" parameter represents the starting or current value of the resource that the operation intends to modify. The from parameter is included in the example value schema but is not utilized in this endpoint's functionality. It is reserved for potential future use or could be used in specific scenarios not covered by the current implementation."
      parameters:
      - name: productId
        in: path
        description: Product ID to update a product.
        required: true
        schema:
          type: integer
          format: int32
      - name: objectDetails
        in: query
        description: Set to true to return the updated object in the response body, otherwise the response body will only return the updated object ID.
        schema:
          type: boolean
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
      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.Product.ProductPostResponse'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse'
      security:
      - bearer: []
      order: 4
components:
  schemas:
    Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightsAPIModel:
      type: object
      properties:
        insightSettingType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SettingsType'
        indicators:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel'
        tracepoints:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel'
      additionalProperties: false
    Catchpoint.Symphony.Enums.Orchestra.TestReportMetricDataType:
      enum:
      - id: 0
        name: Counter
      - id: 1
        name: Average
      - id: 2
        name: Median
      - id: 3
        name: StandardDeviation
      - id: 4
        name: Min
      - id: 5
        name: Max
      - id: 6
        name: GeometricMean
      - id: 7
        name: Percentile95
      - id: 8
        name: Percentile85
      - id: 9
        name: Histogram
      - id: 10
        name: BoxPlot
      - id: 11
        name: Apdex
      - id: 12
        name: WeightedCounter
      - id: 13
        name: WeightedAverage
      - id: 14
        name: InterQuartileRange
      - id: 15
        name: Percentile75
      - id: 16
        name: Percentile99
      - id: 17
        name: GeometricStandardDeviation
      - id: 18
        name: PercentileCustom
      - id: 19
        name: Percentile25
      - id: 20
        name: RateHistogram
      - id: 21
        name: Total
      - id: 22
        name: CumulativeDistributionFunction
      - id: 23
        name: ApdexPercentileSatisfied
      - id: 24
        name: ApdexPercentileTolerating
      - id: 25
        name: ApdexPercentileFrustrated
      - id: 26
        name: ApdexPercentileNotFrustrated
      - id: 27
        name: TraceRouteGraph
      - id: 28
        name: UniqueCounter
      - id: 29
        name: ChangeDetection
      - id: 30
        name: MostRecentValue
      - id: 31
        name: Percentage
      - id: 32
        name: LeastRecentValue
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertTriggerAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int64
          readOnly: true
        expression:
          type:
          - string
          - 'null'
        fileName:
          type:
          - string
          - 'null'
        filterItems:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertGroupItemFilterAPIModel'
        warningReminderFrequency:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.ReminderFrequency'
        criticalReminderFrequency:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.ReminderFrequency'
        triggerType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.AlertTriggerType'
        operationType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.OperatorType'
        statisticalType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Orchestra.TestReportMetricDataType'
        filterType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.AlertGroupItemFilterType'
        dnsRecordType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.DnsTraceType'
        historicalInterval:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.AlertHistoricalTimeThreshold'
        thresholdInterval:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.AlertTimeThresholdInterval'
        fileHash:
          type:
          - string
          - 'null'
        warningTrigger:
          type:
          - number
          - 'null'
          format: float
        criticalTrigger:
          type:
          - number
          - 'null'
          format: float
        filterValue:
          type:
          - string
          - 'null'
        dnsTTL:
          type:
          - integer
          - 'null'
          format: int64
        dnsResolvedName:
          type:
          - string
          - 'null'
        scheduleId:
          type:
          - integer
          - 'null'
          format: int32
        monitorTypeBitFlags:
          type: integer
          format: int64
        monitor:
          type:
          - string
          - 'null'
          readOnly: true
        customDataId:
          type:
          - integer
          - 'null'
          format: int32
        useIntervalRollingWindow:
          type:
          - boolean
          - 'null'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.LabelKeyModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        labelValues:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.LabelValueModel'
        color:
          type:
          - string
          - 'null'
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
        objectId:
          type:
          - integer
          - 'null'
          format: int64
      additionalProperties: false
    Catchpoint.Symphony.Enums.Alerts.OperatorType:
      enum:
      - id: 0
        name: NotEquals
      - id: 1
        name: Equals
      - id: 2
        name: GreaterThan
      - id: 3
        name: GreaterThanOrEquals
      - id: 4
        name: LessThan
      - id: 5
        name: LessThanOrEquals
      - id: 6
        name: NotBetween
      - id: 7
        name: Between
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.OneTimeScheduleItemApiModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        scheduleId:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        startTime:
          type:
          - string
          - 'null'
          format: date-time
        endTime:
          type:
          - string
          - 'null'
          format: date-time
      additionalProperties: false
    Catchpoint.Symphony.Enums.Alerts.AlertTimeThresholdInterval:
      enum:
      - id: 0
        name: Default
      - id: 1
        name: 1 Minute
      - id: 5
        name: 5 Minutes
      - id: 10
        name: 10 Minutes
      - id: 15
        name: 15 Minutes
      - id: 20
        name: 20 Minutes
      - id: 30
        name: 30 Minutes
      - id: 45
        name: 45 Minutes
      - id: 60
        name: 60 Minutes
      - id: 120
        name: 2 Hours
      - id: 360
        name: 6 Hours
      - id: 720
        name: 12 Hours
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.Test.DisplayTestFrequency:
      enum:
      - id: 0
        name: None
      - id: 1
        name: 1 Minute
      - id: 2
        name: 5 Minutes
      - id: 3
        name: 10 Minutes
      - id: 4
        name: 15 Minutes
      - id: 5
        name: 20 Minutes
      - id: 6
        name: 30 Minutes
      - id: 7
        name: 60 Minutes
      - id: 8
        name: 2 Hours
      - id: 9
        name: 3 Hours
      - id: 10
        name: 4 Hours
      - id: 11
        name: 6 Hours
      - id: 12
        name: 8 Hours
      - id: 13
        name: 12 Hours
      - id: 14
        name: 24 Hours
      - id: 15
        name: 4 Minutes
      - id: 16
        name: 2 Minutes
      - id: 17
        name: 3 Minutes
      - id: 18
        name: Continuous
      - id: 19
        name: 5 Seconds
      - id: 20
        name: 10 Seconds
      - id: 21
        name: 20 Seconds
      - id: 22
        name: 30 Seconds
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Node.NodeGroupItemApiModel:
      type: object
      properties:
        objectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.EnumLookupModel_1_System.Int32'
        nodesCount:
          type: integer
          format: int32
        city:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel_1_System.Int32'
        country:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel_1_System.Int32'
        continent:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel_1_System.Int32'
      additionalProperties: false
    Catchpoint.Symphony.Enums.Alerts.ReportAlertType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Exits
      - id: 2
        name: ByteLength
      - id: 3
        name: ContentMatch
      - id: 4
        name: HostFailure
      - id: 5
        name: HttpHeaderMatch
      - id: 6
        name: TagFailure
      - id: 7
        name: ResponseTime
      - id: 8
        name: Traffic
      - id: 9
        name: PageFailure
      - id: 10
        name: CustomTestData
      - id: 11
        name: ScriptFailure
      - id: 12
        name: Ping
      - id: 13
        name: Requests
      - id: 14
        name: ContentZone
      - id: 15
        name: Availability
      - id: 16
        name: Address
      - id: 17
        name: Dns
      - id: 18
        name: GlimpseCounter
      - id: 19
        name: GlimpseRate
      - id: 20
        name: Path
      - id: 21
        name: Score
      - id: 22
        name: Wifi
      - id: 23
        name: Asn
      - id: 24
        name: WebPageTest
      - id: 25
        name: Endpoint
      - id: 26
        name: ExperienceScore
      - id: 27
        name: InternetWeather
      - id: 28
        name: Ecn
      - id: 29
        name: Tracing
      - id: 30
        name: DivisionWide
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.Test.APIInsightType:
      enum:
      - id: 0
        name: Tracepoint
      - id: 1
        name: Indicator
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.PasswordStatusType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Set
      - id: 2
        name: Update
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.Test.AuthenticationMethodType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Basic
      - id: 2
        name: Digest
      - id: 3
        name: Ntlm
      - id: 4
        name: Plain
      - id: 5
        name: Login
      - id: 6
        name: Cram_MD5
      - id: 7
        name: Negotiate
      - id: 8
        name: WPTScript
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.AlertWebhookAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        divisionId:
          type: integer
          format: int32
        statusType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus'
        name:
          type:
          - string
          - 'null'
        url:
          type:
          - string
          - 'null'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath:
      type: object
      properties:
        ops:
          type:
          - string
          - 'null'
        path:
          type:
          - string
          - 'null'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.MessageModel:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
        message:
          type:
          - string
          - 'null'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.ScheduleApiModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        divisionId:
          type:
          - integer
          - 'null'
          format: int32
        divisionName:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        lastUpdated:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.EnumLookupModel_1_System.Int32'
        scheduleType:
          $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.EnumLookupModel_1_System.Int32'
        oneTimeScheduleItems:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.OneTimeScheduleItemApiModel'
        recurringScheduleItems:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.RecurringScheduleItemApiModel'
      additionalProperties: false
    ? Catchpoint.Symphony.REST.Common.Response.APIResponse_1_Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse
    : type: object
      properties:
        data:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductPostResponse'
        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
    Catchpoint.Symphony.Enums.Alerts.AlertInstructionType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Custom
      - id: 2
        name: Template
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.ScheduleSettingsAPIModel:
      type: object
      properties:
        scheduleSettingType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SettingsType'
        frequency:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.DisplayTestFrequency'
        roundRobinAmount:
          type:
          - integer
          - 'null'
          format: int32
        runScheduleId:
          type:
          - integer
          - 'null'
          format: int32
        maintenanceScheduleId:
          type:
          - integer
          - 'null'
          format: int32
        testNodeDistribution:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.NodeDistribution'
        networkType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SyntheticLocation.SyntheticNetworkType'
        nodes:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.NodeAPIModel'
        nodeGroups:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.NodeGroupAPIModel'
        runScheduleInfo:
          type:
          - string
          - 'null'
        id:
          type:
          - integer
          - 'null'
          format: int64
        maintenanceScheduleInfo:
          type:
          - string
          - 'null'
        maintenanceSchedule:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.ScheduleApiModel'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.CertificateContactModel:
      required:
      - certificateDataId
      - contactId
      type: object
      properties:
        certificateDataId:
          type: integer
          format: int32
        contactId:
          type: integer
          format: int32
        contactFullName:
          type:
          - string
          - 'null'
        createContactId:
          type:
          - integer
          - 'null'
          format: int32
        createDate:
          type: string
          format: date-time
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
          readOnly: true
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
      additionalProperties: false
    Catchpoint.Symphony.Enums.Alerts.ReportAlertSubtype:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Byte Length
      - id: 2
        name: Page
      - id: 3
        name: File Size
      - id: 9
        name: Test Failure
      - id: 10
        name: Regular Expression
      - id: 11
        name: Compare to Previous
      - id: 12
        name: Compare to File
      - id: 13
        name: Response Code
      - id: 14
        name: Response Code
      - id: 15
        name: Response Headers
      - id: 16
        name: MAC Address
      - id: 20
        name: Any
      - id: 21
        name: DNS
      - id: 22
        name: Connection
      - id: 23
        name: Response
      - id: 30
        name: Connection
      - id: 31
        name: Content Type
      - id: 32
        name: Custom
      - id: 33
        name: Encoding
      - id: 34
        name: Redirect
      - id: 35
        name: Version
      - id: 40
        name: Unknown
      - id: 41
        name: Iframes
      - id: 42
        name: Images
      - id: 43
        name: Style Sheets
      - id: 44
        name: Scripts
      - id: 45
        name: XMLHttpRequest
      - id: 50
        name: DNS
      - id: 51
        name: Connect
      - id: 52
        name: Send
      - id: 53
        name: Wait
      - id: 54
        name: Load
      - id: 55
        name: TTFB
      - id: 56
        name: Page Load
      - id: 57
        name: Content Load
      - id: 58
        name: Response
      - id: 59
        name: Test Time
      - id: 60
        name: DO NOT USE
      - id: 61
        name: DOM Load
      - id: 62
        name: Perceived Page Load
      - id: 63
        name: Test Time with Suspect
      - id: 64
        name: Server Response
      - id: 65
        name: Delete
      - id: 66
        name: Document Complete
      - id: 67
        name: Redirect
      - id: 68
        name: SSL
      - id: 70
        name: Page Views
      - id: 71
        name: Unique Visits
      - id: 72
        name: Unique User
      - id: 80
        name: Any
      - id: 81
        name: DNS
      - id: 82
        name: Connection
      - id: 83
        name: Response
      - id: 84
        name: SSL
      - id: 85
        name: Other
      - id: 90
        name: Tracepoints
      - id: 91
        name: Indicators
      - id: 100
        name: Ping RTT
      - id: 101
        name: Ping Packet Loss
      - id: 102
        name: Ping Jitter
      - id: 110
        name: '# Requests'
      - id: 111
        name: '# Hosts'
      - id: 112
        name: '# Connections'
      - id: 113
        name: '# Redirects'
      - id: 114
        name: '# Other'
      - id: 115
        name: '# Images'
      - id: 116
        name: '# Scripts'
      - id: 117
        name: '# HTML'
      - id: 118
        name: '# CSS'
      - id: 119
        name: '# XML'
      - id: 120
        name: '# Flash'
      - id: 121
        name: '# Media'
      - id: 130
        name: Page Response
      - id: 131
        name: Bottleneck Time
      - id: 132
        name: '% Bottleneck'
      - id: 133
        name: '# Requests'
      - id: 134
        name: '# Failures'
      - id: 135
        name: Byte Length
      - id: 136
        name: Self Downloaded Bytes
      - id: 137
        name: '% Self Bottleneck'
      - id: 138
        name: '% Third Party Bottleneck'
      - id: 140
        name: Test
      - id: 141
        name: Content
      - id: 142
        name: '% Downtime'
      - id: 143
        name: Reachability
      - id: 150
        name: Test URL
      - id: 151
        name: Child URLs
      - id: 152
        name: Any URLs
      - id: 160
        name: DNS General
      - id: 161
        name: DNS Answer
      - id: 162
        name: DNS Authority
      - id: 163
        name: DNS Additional
      - id: 170
        name: Page Views
      - id: 171
        name: Bounces
      - id: 172
        name: DNS Additional
      - id: 173
        name: Visits
      - id: 180
        name: Bounce Rate
      - id: 181
        name: Conversion Rate
      - id: 190
        name: '# Cities'
      - id: 191
        name: '# ASNs'
      - id: 192
        name: Speed Index
      - id: 193
        name: '# Countries'
      - id: 194
        name: '# Hops'
      - id: 195
        name: Handshake Time
      - id: 196
        name: Days to Expiration
      - id: 200
        name: Signal Quality
      - id: 201
        name: Signal Strength
      - id: 210
        name: Origin AS
      - id: 211
        name: Path AS
      - id: 212
        name: Origin Neighbor
      - id: 213
        name: Prefix Mismatch
      - id: 220
        name: Endpoint Experience Score
      - id: 230
        name: Internet Sonar Benchmark Incidents
      - id: 233
        name: Internet Sonar Isp incidents
      - id: 240
        name: Tracing Response Time
      - id: 241
        name: Tracing Request
      - id: 242
        name: Tracing Errors
      - id: 243
        name: Tracing Score
      - id: 250
        name: Division Wide Node Run Rate
      - id: 251
        name: Division Wide Node Utilization Capacity
      - id: 252
        name: Division Wide Complex Alert
      - id: 254
        name: Division Wide Node Offline Status
      - id: 255
        name: Division Wide Node Utilization Cpu
      - id: 256
        name: Division Wide Node Utilization Disk
      - id: 257
        name: Division Wide Node Utilization Memory
     

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