Catchpoint Systems Product API

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

OpenAPI Specification

catchpoint-systems-product-api-openapi.yml Raw ↑
openapi: 3.0.1
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.\r\n\r\nAssigning “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:\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: 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.Enums.SyntheticLocation.SyntheticNetworkType:
      enum:
      - id: 0
        name: Backbone
      - id: 1
        name: LastMile
      - id: 2
        name: Wireless
      - id: 3
        name: Private
      - id: 4
        name: Enterprise
      - id: 5
        name: PublicCloud
      - id: 6
        name: Any
      - id: 7
        name: Bgp
      - id: 8
        name: WebPageTest
      - id: 9
        name: Enterprise Branch
      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
          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.Api.DivisionUsageStatistics:
      type: object
      properties:
        divisionId:
          type: integer
          format: int32
        consumerStatistics:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ConsumerStatistics'
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.LabelValueModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        labelKeyId:
          type: integer
          format: int32
        associatedLabelValues:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.AssociatedLabelValueModel'
          nullable: true
        labelName:
          type: string
          nullable: true
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.AdvancedSettingsAPIModel:
      type: object
      properties:
        advancedSettingType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SettingsType'
        id:
          type: integer
          format: int64
          nullable: true
        appliedTestFlags:
          type: array
          items:
            $ref: '#/components/schemas/TestFlag'
          nullable: true
        filmstripFrequency:
          type: integer
          format: int32
          nullable: true
        waitForNoActivity:
          type: integer
          format: int32
          nullable: true
        maxStepRuntimeSecOverride:
          type: integer
          format: int32
          nullable: true
        testBandwidthThrottling:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.BandwidthThrottling'
        viewportHeight:
          type: integer
          format: int32
          nullable: true
        viewportWidth:
          type: integer
          format: int32
          nullable: true
        ednsSubnet:
          type: string
          nullable: true
        clientId:
          type: string
          nullable: true
        matchSelfZoneBy:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.SelfZoneMatchingOptions'
        matchSelfZoneCriteria:
          type: string
          nullable: true
        additionalMonitor:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.DisplayMonitorType'
        failureHopCount:
          type: integer
          format: int32
          nullable: true
        pingCount:
          type: integer
          format: int32
          nullable: true
      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
          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
    Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel:
      required:
      - divisionId
      - name
      type: object
      properties:
        id:
          type: integer
          format: int32
        divisionId:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
        name:
          maxLength: 128
          minLength: 0
          type: string
        status:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus'
        alertGroupId:
          type: integer
          format: int32
          nullable: true
        testDataWebhookId:
          type: integer
          format: int32
          nullable: true
        advancedSettingsModel:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.AdvancedSettingsAPIModel'
        requestSettings:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.RequestSettingsAPIModel'
        scheduleSettings:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.ScheduleSettingsAPIModel'
        alertGroup:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertGroupAPIModel'
        insightsData:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightsAPIModel'
      additionalProperties: false
    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.ViewModels.MessageModel:
      type: object
      properties:
        id:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.Enums.Test.InsightContentType:
      enum:
      - id: 0
        name: Number
      - id: 2
        name: Counter
      - id: 4
        name: Second
      - id: 5
        name: MicroSecond
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.Alerts.ReminderFrequency:
      enum:
      - id: 0
        name: None
      - id: 1
        name: 1 Min
      - id: 5
        name: 5 Min
      - id: 10
        name: 10 Min
      - id: 15
        name: 15 Min
      - id: 30
        name: 30 Min
      - id: 60
        name: 1 Hour
      - id: 1440
        name: Daily
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.ObjectType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Language String
      - id: 2
        name: User Access
      - id: 3
        name: Machine
      - id: 4
        name: Partition
      - id: 5
        name: System
      - id: 6
        name: Application Parameter
      - id: 7
        name: ApplicationMachine
      - id: 8
        name: ApplicationMachineParameter
      - id: 9
        name: UserRole
      - id: 10
        name: UserRolePermission
      - id: 11
        name: Contact
      - id: 12
        name: Contact Group
      - id: 13
        name: ContactGroupItem
      - id: 14
        name: UserFilter
      - id: 15
        name: RestrictedIPAccess
      - id: 16
        name: Reseller
      - id: 17
        name: Client
      - id: 18
        name: Division
      - id: 19
        name: Schedule
      - id: 20
        name: Schedule Item
      - id: 21
        name: Test Location
      - id: 22
        name: Test Location Group
      - id: 23
        name: SyntheticLocationGroupItem
      - id: 24
        name: AlertTemplate
      - id: 25
        name: AlertTemplateMessage
      - id: 26
        name: Alert Group
      - id: 27
        name: Alert Group Item
      - id: 28
        name: Product
      - id: 29
        name: ProductSubDomain
      - id: 30
        name: Folder
      - id: 31
        name: Category
      - id: 32
        name: Test
      - id: 33
        name: TestTransactionStep
      - id: 34
        name: TestCategory
      - id: 35
        name: Notification Group
      - id: 36
        name: Associated Request Header
      - id: 37
        name: Alert Type
      - id: 38
        name: Alert Subtype
      - id: 39
        name: NotificationGroupEmail
      - id: 40
        name: Country
      - id: 41
        name: CountryState
      - id: 42
        name: Permission
      - id: 43
        name: ChartTemplate
      - id: 44
        name: SyntheticPopulation
      - id: 45
        name: InstantTest
      - id: 46
        name: InstantTestItem
      - id: 47
        name: Incident
      - id: 48
        name: IncidentAlertNotification
      - id: 49
        name: DivisionInsight
      - id: 50
        name: Indicator
      - id: 51
        name: Tracepoint
      - id: 52
        name: CustomReportRequest
      - id: 53
        name: InvalidTestReportDataInterval
      - id: 54
        name: Apdex Threshold
      - id: 55
        name: DivisionHost
      - id: 56
        name: FreeUser
      - id: 57
        name: OutclipWebsite
      - id: 58
        name: OutclipSnippet
      - id: 59
        name: WaterfallTemplate
      - id: 60
        name: FreeTest
      - id: 61
        name: LightCustomReportTemplate
      - id: 62
        name: LightCustomReportTemplateField
      - id: 63
        name: LightCustomReportRequest
      - id: 64
        name: LightCustomReportRequestFilter
      - id: 65
        name: DivisionApi
      - id: 66
        name: BusinessContract
      - id: 67
        name: Zone
      - id: 68
        name: HostCollectionBlacklist
      - id: 69
        name: Zone Rule
      - id: 70
        name: TestMiniHar
      - id: 71
        name: SavedChart
      - id: 72
        name: SavedChartFilter
      - id: 73
        name: ApdexFrustrationRatio
      - id: 74
        name: GlimpseSitePackage
      - id: 75
        name: GlimpseSite
      - id: 76
        name: Page Group
      - id: 77
        name: Variation
      - id: 78
        name: BusinessLicenseContract
      - id: 79
        name: AssociatedGlimpseLicense
      - id: 80
        name: DivisionLicenses
      - id: 81
        name: PullApiConsumer
      - id: 82
        name: RouterHostPattern
      - id: 83
        name: RouterHost
      - id: 84
        name: ApiPushTemplate
      - id: 85
        name: Dashboard
      - id: 86
        name: Widget
      - id: 87
        name: DashboardWidget
      - id: 88
        name: DashboardPublicLink
      - id: 89
        name: Benchmark Index
      - id: 90
        name: Browser
      - id: 91
        name: DomainGlobal
      - id: 92
        name: OrganizationGlobal
      - id: 93
        name: InternetServiceProviderGlobal
      - id: 94
        name: Continent
      - id: 95
        name: CountryStateCity
      - id: 96
        name: NetworkSpeed
      - id: 97
        name: Os
      - id: 98
        name: MobileDevice
      - id: 99
        name: Certificate
      - id: 100
        name: Alert Webhook
      - id: 101
        name: SyntheticMonitorSet
      - id: 102
        name: SyntheticMonitorPackage
      - id: 103
        name: SavedChartField
      - id: 104
        name: GlobalVariable
      - id: 105
        name: PullApiUsage
      - id: 106
        name: File
      - id: 107
        name: MachineHardwareType
      - id: 108
        name: MachineOperatingSystemFlavor
      - id: 109
        name: MachineVirtualizationType
      - id: 110
        name: InternetServiceProvider
      - id: 111
        name: City
      - id: 112
        name: ContactTestAccessRestriction
      - id: 113
        name: PricingModel
      - id: 114
        name: Visualization
      - id: 115
        name: Facility
      - id: 116
        name: Storage
      - id: 117
        name: DataView
      - id: 118
        name: IdentityProvider
      - id: 119
        name: Assertions
      - id: 120
        name: Alert Group Item Filter
      - id: 121
        name: DataViewDimension
      - id: 122
        name: DataViewMetric
      - id: 123
        name: AssociatedApplicationVersion
      - id: 124
        name: CaptureServerSyntheticPopulation
      - id: 125
        name: BandwidthThrottleSettings
      - id: 126
        name: AlertInstruction
      - id: 127
        name: AssociatedModel
      - id: 128
        name: Model
      - id: 129
        name: GlimpseProvider
      - id: 130
        name: Integration
      - id: 131
        name: IntegrationType
      - id: 132
        name: SLAPurgeItem
      - id: 133
        name: IntegrationGroup
      - id: 134
        name: Associated Advanced Settings
      - id: 135
        name: EnterpriseInstanceLicense
      - id: 136
        name: InstanceDnsRecord
      - id: 137
        name: VisualizationScript
      - id: 138
        name: GlimpseEvent
      - id: 139
        name: SyntheticInstanceRejected
      - id: 140
        name: PointsAllocation
      - id: 141
        name: GlimpseProviderType
      - id: 142
        name: ApplicationVersion
      - id: 143
        name: ApplicationType
      - id: 144
        name: ApplicationCheck
      - id: 145
        name: PerformanceReport
      - id: 146
        name: Regex Association
      - id: 147
        name: GlimpseSonarEntity
      - id: 148
        name: GlimpseSonarGroup
      - id: 149
        name: TestTemplateStatusType
      - id: 150
        name: TestTypeSchema
      - id: 151
        name: TestTemplate
      - id: 152
        name: Template Field
      - id: 153
        name: Associated Test Template Parameter
      - id: 154
        name: TestTemplateApplicationGroup
      - id: 155
        name: Associated Restricted Test Template
      - id: 156
        name: Label
      - id: 157
        name: LabelValue
      - id: 158
        name: Associated Label Value
      - id: 159
        name: Endpoint Location
      - id: 160
        name: Endpoint Device
      - id: 161
        name: SonarBusinessContract
      - id: 162
        name: TestModuleDisplayPreferences
      - id: 163
        name: Smartboard
      - id: 164
        name: Component
      - id: 165
        name: SmartboardComponent
      - id: 166
        name: AssociatedBenchmarkIndex
      - id: 167
        name: BgpPeer
      - id: 168
        name: SmartboardFolder
      - id: 169
        name: EndpointInstantTest
      - id: 170
        name: Endpoint Scheduled Test
      - id: 171
        name: GlimpseSonarNetworkDevice
      - id: 172
        name: GeographyIpAddressLocationOverride
      - id: 173
        name: Favorite Chart
      - id: 174
        name: WptApiKey
      - id: 175
        name: QuickChart
      - id: 176
        name: Custom Visualization
      - id: 177
        name: EndpointInstantTestItem
      - id: 178
        name: WptBusinessContract
      - id: 179
        name: WptFolder
      - id: 180
        name: WptScheduleInterval
      - id: 181
        name: WptDeviceType
      - id: 182
        name: WptBrowserType
      - id: 183
        name: WptConnectionType
      - id: 184
        name: WptDevice
      - id: 185
        name: Authentication
      - id: 186
        name: AuthenticationContact
      - id: 187
        name: Spotlight
      - id: 188
        name: EndpointEmployeeApp
      - id: 189
        name: Service Level Objective
      - id: 190
        name: ASN
      - id: 191
        name: Associated Service Level Objective
      - id: 192
        name: System Service
      - id: 193
        name: InternetWeatherConfig
      - id: 194
        name: InternetServiceOverride
      - id: 195
        name: InternetWeatherContract
      - id: 196
        name: InternetWeatherAlert
      - id: 197
        name: WptInstantTest
      - id: 198
        name: Custom Service
      - id: 199
        name: Mapped Service
      - id: 200
        name: Test Suite
      - id: 201
        name: LocationFromRtt
      - id: 202
        name: IsDownIncident
      - id: 203
        name: Tracing Contract
      - id: 204
        name: InternetServiceRegion
      - id: 205
        name: TracingSystem
      - id: 206
        name: TracingService
      - id: 207
        name: RumMobileApp
      - id: 208
        name: Associated Benchmark Test
      - id: 209
        name: BgpPrivatePeer
      - id: 210
        name: AssociatedInternetWeatherServicePoint
      - id: 211
        name: BenchmarkApp
      - id: 212
        name: InternetSonarPointPricing
      - id: 213
        name: Benchmark Test
      - id: 214
        name: ClickHouseCluster
      - id: 215
        name: Destination Url
      - id: 216
        name: StackMap
      - id: 217
        name: EarthView
      - id: 218
        name: HeartbeatProduct
      - id: 219
        name: HeartbeatTest
      - id: 220
        name: EndpointAlertGroupItem
      - id: 221
        name: ProxyConfig
      - id: 222
        name: CompositeAlertGroup
      - id: 223
        name: Scope
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.ScheduleApiModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        divisionId:
          type: integer
          format: int32
          nullable: true
        divisionName:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        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
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.OneTimeScheduleItemApiModel'
          nullable: true
        recurringScheduleItems:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.RecurringScheduleItemApiModel'
          nullable: true
      additionalProperties: false
    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.Api.ConsumerStatistics:
      type: object
      properties:
        consumerId:
          type: integer
          format: int32
        requestCount:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit'
        maxPerDay:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.RequestAuthenticationAPIModel:
      type: object
      properties:
        authenticat

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