Catchpoint Test API

The Test API from Catchpoint — 7 operation(s) for test.

OpenAPI Specification

catchpoint-test-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Catchpoint REST API v2.0 Account Test API
  version: '2.0'
servers:
- url: /api
tags:
- name: Test
paths:
  /v2/tests/{testIds}:
    get:
      tags:
      - Test
      summary: Returns properties of one or more tests based on test IDs.
      description: 'Multiple test IDs may be included in a comma-separated list. Results include properties from all sections available in Catchpoint Portal: Test Properties, More Settings, Thresholds, Advanced Settings, Request, Insights, Targeting & Scheduling, and Alerts.'
      parameters:
      - name: testIds
        in: path
        description: Comma-separated list of test IDs to return properties for. Pass “0” against the testId value to get the PostData for a new test creation.
        required: true
        schema:
          type: string
      - name: showInheritedProperties
        in: query
        description: Flag to set to see inherited properties as part of the test properties returned
        schema:
          type: boolean
          default: false
      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.TestGetResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestGetResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestGetResponse]'
      security:
      - bearer: []
      order: 2
    delete:
      tags:
      - Test
      summary: Delete tests based on the specified list of IDs.
      description: The IDs need to be separated by commas. This endpoint allows partial deletion; if you provide a list of five IDs and only three of them are valid, then it will delete those three tests. The response will indicate the three that were deleted, and the two invalid IDs will be listed as errors.
      parameters:
      - name: testIds
        in: path
        description: Comma-separated list of test IDs to delete
        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.TestDeleteResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestDeleteResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestDeleteResponse]'
      security:
      - bearer: []
      order: 5
  /v2/tests:
    post:
      tags:
      - Test
      summary: Create a new test per the request body.
      description: "The request body may contain only the required properties, or it may contain all test properties.\r\n            \r\nNote: For SSL test type we do not support certificate upload when creating a test.\r\n            \r\n**Request:**\r\n            \r\nTo create a test, the required properties need to be passed in the request body. If no details are provided for sections like targeting and scheduling, alerts, etc. then those properties will be set as inherited.\r\n            \r\nTo get a sample payload refer InternalLink[Test Details by ID Endpoint,operations-tag-Test,operations-Test-get_v2_tests__testIds_]."
      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:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Test.TestAPIModel'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Test.TestAPIModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Test.TestAPIModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Test.TestAPIModel'
      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.TestPostResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestPostResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestPostResponse]'
      security:
      - bearer: []
      order: 1
    get:
      tags:
      - Test
      summary: Returns tests that match all included parameters.
      description: "All parameters are optional, and if no parameters are provided then details for all active and inactive tests are returned. Results include properties from all sections available in the UI: Test Properties, More Settings, Thresholds, Advanced Settings, Request, Insights, Targeting & Scheduling, and Alerts. The query returns 100 records per page, if there are more than 100 records then the response will have “hasMore” property set to “true”.\r\n            \r\n**Request:**\r\n            \r\nAll parameters are optional. If no parameters are provided, then details for all active tests are returned. Use the ampersand symbol (&) to separate multiple parameters in the query."
      parameters:
      - name: productIds
        in: query
        description: Comma-separated list of product IDs
        schema:
          type: string
      - name: parentFolderIds
        in: query
        description: Comma-separated list of folder IDs. The response will only include tests contained immediately with a specified folder
        schema:
          type: string
      - name: statusId
        in: query
        description: Test status ID. “0” for Active or “1” for Inactive.
        schema:
          type: integer
          format: int32
      - name: name
        in: query
        description: Test name
        schema:
          type: string
      - name: url
        in: query
        description: Test URLs. The request will only return Web tests with test URLs matching the specified value
        schema:
          type: string
      - name: alertsPaused
        in: query
        description: “true” for Tests with alerts paused and “false” for tests with alerts unpaused.
        schema:
          type: boolean
      - name: typeIds
        in: query
        description: Comma-separated list of test type IDs (refer InternalLink[Test Enumeration Endpoint,operations-tag-Test,operations-Test-get_v2_tests_enumeration])
        schema:
          type: string
      - name: monitorIds
        in: query
        description: Comma-separated list of monitor IDs (refer InternalLink[Test Enumeration Endpoint,operations-tag-Test,operations-Test-get_v2_tests_enumeration])
        schema:
          type: string
      - name: labelKeyIds
        in: query
        description: Comma-separated list of label key IDs
        schema:
          type: string
      - name: labelValueIds
        in: query
        description: Comma-separated list of label value IDs
        schema:
          type: string
      - 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 per page. Maximum value is 100.
        schema:
          type: integer
          format: int32
          default: 100
      - name: includeAdvanceSettings
        in: query
        description: Include advanced settings
        schema:
          type: boolean
          default: false
      - name: includeRequest
        in: query
        description: Include request settings
        schema:
          type: boolean
          default: false
      - name: includeInsight
        in: query
        description: Include insights
        schema:
          type: boolean
          default: false
      - name: includeTargeting
        in: query
        description: Include target and scheduling
        schema:
          type: boolean
          default: false
      - name: includeAlerts
        in: query
        description: Include alerts
        schema:
          type: boolean
          default: false
      - name: showInheritedProperties
        in: query
        description: Set to true if inherited properties are to be included in the response
        schema:
          type: boolean
          default: false
      - name: maximumFrequencyMinutes
        in: query
        description: The maximum frequency in minutes that the test runs at
        schema:
          type: integer
          format: int32
      - name: credentialIds
        in: query
        description: Comma-separated list of Credential IDs
        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.TestGetResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestGetResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestGetResponse]'
      security:
      - bearer: []
      order: 3
  /v2/tests/alert/state/{testIds}:
    get:
      tags:
      - Test
      summary: Return the alert state of one or more tests based on test IDs.
      description: "Multiple test IDs may be included in a comma-separated list.\r\n            \r\nResults include the alert state for each of the test ID provided.\r\n            \r\n**Response:**\r\n            \r\nThe alert state has status ID and status Name.\r\n            \r\n* Status ID – 0 for Paused, 1 for Unpaused\r\n            \r\n* Status Name – Paused, Unpaused"
      parameters:
      - name: testIds
        in: path
        description: Comma-separated list of test IDs to get alert state for
        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.Alert.AlertStatusResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse]'
      security:
      - bearer: []
      order: 6
  /v2/tests/alert/state:
    patch:
      tags:
      - Test
      summary: Pause or unpause alerts for the specified test IDs.
      description: "There can be multiple tests in the payload, each with its own desired state specified. An alert can be paused for a specific time by passing it in the payload.\r\n            \r\n**Request:**\r\n            \r\nSet “pauseExpiration” with < HH >:< MM > as the value.\r\n            \r\nUse alert state status id “0” to pause and “1” to unpause.\r\n            \r\nTo get a sample payload to pass along with the request, refer InternalLink[Test Alert State Endpoint,operations-tag-Test,operations-Test-get_v2_tests_alert_state__testIds_]."
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse'
          text/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse'
      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.Alert.AlertStatusResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertStatusResponse]'
      security:
      - bearer: []
      order: 7
  /v2/tests/{testId}:
    patch:
      tags:
      - Test
      summary: Update a property of an existing test.
      description: "Only the property that needs to be updated should be passed in the request body, rather than the whole object.\r\n            \r\nNote: Test Type, Test ID, and Division ID cannot be updated. If the Product ID or Folder ID are modified, the test will be moved to that Product or Folder.\r\n            \r\n**Request:**\r\n            \r\nThe request body requires three keys to be filled with appropriate value as listed below.\r\n* **value** – The value property provides the new value.\r\n            \r\n* **path** – The path property indicates the element to update. The entire path with slashes needs to be provided here. Example: /status/id\r\n            \r\n* **op** – The op property indicates the type of operation; we support the following three operations.\r\n            \r\n    * **add** - Add a property or array element. For existing property: set value.\r\n            \r\n    * **Remove** - Remove a property or array element.\r\n            \r\n    * **replace** - Same as remove, followed by add at same location.\r\n            \r\n* **from** - [Not Used]\r\n            \r\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: testId
        in: path
        description: Test Id of the test to update
        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.TestPostResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestPostResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.TestPostResponse]'
      security:
      - bearer: []
      order: 4
  /v2/tests/enumeration:
    get:
      tags:
      - Test
      summary: Returns the enumeration to help automate test creation.
      description: Use parameters to specify which enumeration to pull. If no parameter is passed then it returns all the enumerations. The details returned include the name and the ID to be used for test creation for each section.
      parameters:
      - name: displayTestType
        in: query
        description: ''
        schema:
          type: boolean
      - name: analyticsMetric
        in: query
        description: ''
        schema:
          type: boolean
      - name: domainStatus
        in: query
        description: ''
        schema:
          type: boolean
      - name: displayMonitorType
        in: query
        description: ''
        schema:
          type: boolean
      - name: winHttpMethod
        in: query
        description: ''
        schema:
          type: boolean
      - name: webRequestPostDataFormat
        in: query
        description: ''
        schema:
          type: boolean
      - name: userAgentType
        in: query
        description: ''
        schema:
          type: boolean
      - name: apiTransactionScriptType
        in: query
        description: ''
        schema:
          type: boolean
      - name: dnsQueryType
        in: query
        description: ''
        schema:
          type: boolean
      - name: testAction
        in: query
        description: ''
        schema:
          type: boolean
      - name: settingsType
        in: query
        description: ''
        schema:
          type: boolean
      - name: authenticationMethodType
        in: query
        description: ''
        schema:
          type: boolean
      - name: passwordStatusType
        in: query
        description: ''
        schema:
          type: boolean
      - name: webRequestHeaderType
        in: query
        description: ''
        schema:
          type: boolean
      - name: recipientType
        in: query
        description: ''
        schema:
          type: boolean
      - name: alertInstructionType
        in: query
        description: ''
        schema:
          type: boolean
      - name: nodeThresholdType
        in: query
        description: ''
        schema:
          type: boolean
      - name: breakdownDimension
        in: query
        description: ''
        schema:
          type: boolean
      - name: reminderFrequency
        in: query
        description: ''
        schema:
          type: boolean
      - name: alertTriggerType
        in: query
        description: ''
        schema:
          type: boolean
      - name: operatorType
        in: query
        description: ''
        schema:
          type: boolean
      - name: testReportMetricDataType
        in: query
        description: ''
        schema:
          type: boolean
      - name: alertGroupItemFilterType
        in: query
        description: ''
        schema:
          type: boolean
      - name: dnsTraceType
        in: query
        description: ''
        schema:
          type: boolean
      - name: alertHistoricalTimeThreshold
        in: query
        description: ''
        schema:
          type: boolean
      - name: alertTimeThresholdInterval
        in: query
        description: ''
        schema:
          type: boolean
      - name: notificationType
        in: query
        description: ''
        schema:
          type: boolean
      - name: reportAlertType
        in: query
        description: ''
        schema:
          type: boolean
      - name: reportAlertSubtype
        in: query
        description: ''
        schema:
          type: boolean
      - name: insightType
        in: query
        description: ''
        schema:
          type: boolean
      - name: insightSourceType
        in: query
        description: ''
        schema:
          type: boolean
      - name: insightContentType
        in: query
        description: ''
        schema:
          type: boolean
      - name: displayTestFrequency
        in: query
        description: ''
        schema:
          type: boolean
      - name: nodeDistribution
        in: query
        description: ''
        schema:
          type: boolean
      - name: syntheticNetworkType
        in: query
        description: ''
        schema:
          type: boolean
      - name: networkType
        in: query
        description: ''
        schema:
          type: boolean
      - name: domainSchedule
        in: query
        description: ''
        schema:
          type: boolean
      - name: testFlag
        in: query
        description: ''
        schema:
          type: boolean
      - name: bandwidthThrottling
        in: query
        description: ''
        schema:
          type: boolean
      - name: selfZoneMatchingOptions
        in: query
        description: ''
        schema:
          type: boolean
      - name: objectType
        in: query
        description: ''
        schema:
          type: boolean
      - name: applicationVersionType
        in: query
        description: ''
        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: 8
  /v2/tests/scriptconvert:
    post:
      tags:
      - Test
      summary: Convert a script to a specified language. Only Selenium (1) to Playwright (3) is currently supported.
      description: "* scriptLanguage – ApiTransactionScriptType Enum value of the original script format.\r\n            \r\n* languageScriptShouldConvertTo – ApiTransactionScriptType Enum value of the target script format."
      parameters:
      - name: scriptLanguage
        in: query
        description: ApiTransactionScriptType Enum value of the original script format
        schema:
          type: integer
          format: int32
          default: 1
      - name: languageScriptShouldConvertTo
        in: query
        description: ApiTransactionScriptType Enum value of the target script format
        schema:
          type: integer
          format: int32
          default: 3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Requests.v2_0.ScriptConvertRestRequest'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Requests.v2_0.ScriptConvertRestRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Requests.v2_0.ScriptConvertRestRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Requests.v2_0.ScriptConvertRestRequest'
      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.ScriptConvertResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.ScriptConvertResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.ScriptConvertResponse]'
      security:
      - bearer: []
      order: 9
components:
  schemas:
    Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertInstructionsAPIModel:
      type: object
      properties:
        instructions:
          type: string
          nullable: true
        id:
          type: integer
          format: int32
        instructionType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.AlertInstructionType'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertTriggerAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int64
          readOnly: true
        expression:
          type: string
          nullable: true
        fileName:
          type: string
          nullable: true
        filterItems:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertGroupItemFilterAPIModel'
          nullable: true
        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
          nullable: true
        warningTrigger:
          type: number
          format: float
          nullable: true
        criticalTrigger:
          type: number
          format: float
          nullable: true
        filterValue:
          type: string
          nullable: true
        dnsTTL:
          type: integer
          format: int64
          nullable: true
        dnsResolvedName:
          type: string
          nullable: true
        scheduleId:
          type: integer
          format: int32
          nullable: true
        monitorTypeBitFlags:
          type: integer
          format: int64
        monitor:
          type: string
          nullable: true
          readOnly: true
        customDataId:
          type: integer
          format: int32
          nullable: true
        useIntervalRollingWindow:
          type: boolean
          nullable: true
      additionalProperties: false
    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
          nullable: true
        url:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.Enums.Test.WebRequestPostDataFormat:
      enum:
      - id: 0
        name: PlainText
      - id: 1
        name: HEX
      - id: 2
        name: Base64
      type: integer
      format: int32
    Catchpoint.Symphony.ViewModels.CertificateContactModel:
      required:
      - certificateDataId
      - contactId
      type: object
      properties:
        certificateDataId:
          type: integer
          format: int32
        contactId:
          type: integer
          format: int32
        contactFullName:
          type: string
          nullable: true
        createContactId:
          type: integer
          format: int32
          nullable: true
        createDate:
          type: string
          format: date-time
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
          readOnly: true
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
      additionalProperties: false
    TestFlag:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Cache TLD Query Levels
      - id: 2
        name: Verify Test on Failure
      - id: 3
        name: Debug Primary Host on Failure
      - id: 4
        name: Enable HTTP/2
      - id: 5
        name: PauseAlerts
      - id: 6
        name: CustomReports
      - id: 7
        name: Enable Cookie Collection
      - id: 8
        name: Debug Referenced Hosts on Failure
      - id: 9
        name: Capture HTTP Headers
      - id: 10
        name: Capture HTTP headers on error
      - id: 11
        name: Capture Response Content
      - id: 12
        name: Capture Response Content
      - id: 13
        name: Capture Filmstrip
      - id: 14
        name: Capture Screenshot at Test End
      - id: 16
        name: Calculate Page Speed Score
      - id: 17
        name: Ignore SSL Failures
      - id: 18
        name: Capture Screenshot on Error
      - id: 19
        name: Dns Host Name lookup method; BIND.HOSTNAME
      - id: 20
        name: Protocol
      - id: 21
        name: Dns Host Name lookup method; NSID
      - id: 22
        name: Disable Recursive Resolution
      - id: 23
        name: Host Data Collection Enabled
      - id: 24
        name: Zone Data Collection Enabled
      - id: 25
        name: Stop Test on Document Complete
      - id: 26
        name: On NS server failure retry next NS server on the same level
      - id: 27
        name: Treat 40X or 50X HTTP Response as successful test run
      - id: 28
        name: Capture HTTP headers on error page
      - id: 29
        name: Response Content or Metadata Capture on Error Page
      - id: 30
        name: Capture Screenshot on Error Page
      - id: 31
        

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