Catchpoint Product API

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

OpenAPI Specification

catchpoint-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.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.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
        name: Favor NS Servers with lower Round Trip Time (RTT)
      - id: 32
        name: Disable "Paris" Traceroute Mode
      - id: 33
        name: 30x Redirects Do Not Follow
      - id: 34
        name: Enable Adblock Extension
      - id: 35
        name: StoreCaptureDataInCloud
      - id: 36
        name: Enable Self Versus Third Party Zones
      - id: 37
        name: Allow Test Download Limit Override
      - id: 38
        name: Disable cross-origin Iframe access
      - id: 39
        name: Stop Test on Dom Content Load
      - id: 40
        name: InitiatedFromApi
      - id: 41
        name: InstantTestCharged
      - id: 42
        name: Certificate Revocation Disabled
      - id: 43
        name: Enforce Certificate Pinning
      - id: 44
        name: Enforce Public Key Pinning
      - id: 48
        name: Enable DNSSEC
      - id: 50
        name: Enable Path MTU Discovery
      - id: 51
        name: Tracing
      - id: 52
        name: Is Continous
      - id: 53
        name: Enable ECN
      - id: 54
        name: Enable DSCP
      - id: 55
        name: Is Accurate ECN
      - id: 56
        name: Enable query limits
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.Test.BandwidthThrottling:
      enum:
      - id: 1
        name: GPRS
      - id: 2
        name: Regular2G
      - id: 3
        name: Good2G
      - id: 4
        name: Regular3G
      - id: 5
        name: Good3G
      - id: 6
        name: Regular4G
      - id: 7
        name: DSL
      - id: 8
        name: WiFi
      - id: 9
        name: Regular5G
      - id: 10
        name: Fiber
      - id: 11
        name: Cable
      - id: 12
        name: LTE
      - id: 13
        name: MobileEdge
      - id: 14
        name: Dialup56K
      type: integer
      format: int32
    Catchpoint.Symphony.ViewModels.AssociatedCertificateModel:
      type: object
      properties:
        certificateDataId:
          type: integer
          format: int32
        divisionId:
          type: integer
          format: int32
        id:
          type: integer
          format: int32
        objectId:
          type: integer
          format: int64
          nullable: true
        objectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
        createDate:
          type: string
          format: date-time
        createContactId:
          type: integer
          format: int32
          nullable: true
        objectName:
          type: string
          nullable: true
        objectStatus:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus'
        name:
          type: string
          nullable: true
          readOnly: true
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
      additionalProperties: false
    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.Utility.IdNameModel`1[System.Int32]:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath:
      type: object
      properties:
        ops:
          type: string
          nullable: true
        path:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.Enums.Test.InsightSourceType:
      enum:
      - id: 0
        name: HttpHeader
      - id: 1
        name: HttpContent
      - id: 2
        name: PerformanceMark
      type: integer
      format: int32
    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.Enums.Alerts.AlertHistoricalTimeThreshold:
      enum:
      - id: 5
        name: Minutes5
      - id: 10
        name: Minutes10
      - id: 15
        name: Minutes15
      - id: 30
        name: Minutes30
      - id: 60
        name: Hour1
      - id: 120
        name: Hour2
      - id: 360
        name: Hour6
      - id: 1440
        name: Day1
      - id: 10080
        name: Week1
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.DateTimes.WeekOfMonth:
      enum:
      - id: 0
        name: First
      - id: 1
        name: Second
      - id: 2
        name: Third
      - id: 3
        name: Fourth
      - id: 4
        name: Fifth
      type: integer
      format: int32
    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
    Microsoft.AspNetCore.JsonPatch.Operations.Operation:
      type: object
      properties:
        value:
          nullable: true
        path:
          type: string
          nullable: true
        op:
          type: string
          nullable: true
        from:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.RequestSettingsAPIModel:
      type: object
      properties:
        requestSettingType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SettingsType'
        nonLibraryCertificate:
          $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.CertificateModel'
        libraryCertificateIds:
          type: array
          items:
            type: integer
            format: int32
          nullable: true
        tokenIds:
          type: array
          items:
            type: integer
            format: int32
          nullable: true
        authentication:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.RequestAuthenticationAPIModel'
        httpHeaderRequests:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.HttpRequestHeaderAPIModel'
          nullable: true
      additionalProperties: false
    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.Models.InfoMessage:
      type: object
      properties:
        information:
          type: string
          nullable: true
        ignoredPath:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath'
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.ScheduleIntervalApiModel:
      type: object
      properties:
        start:
          type: string
          nullable: true
        end:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.RecurringScheduleItemApiModel:
      type: object
      properties:
        scheduleIntervals:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Schedules.ScheduleIntervalApiModel'
          nullable: true
        id:
          type: integer
          format: int32
        scheduleId:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        days:
          type: array
          items:
            $ref: '#/components/schemas/System.DayOfWeek'
          nullable: true
        weeks:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DateTimes.WeekOfMonth'
          nullable: true
      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.REST.Common.Response.v2_0.Product.ProductGetResponse:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Product.ProductAPIModel'
          nullable: true
        hasMore:
          type: boolean
          nullable: true
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
      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
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage'
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel'
          nullable: true
        completed:
          type: boolean
          readOnly: true
        traceId:
          type: string
          nullable: true
        usageLimits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.CertificateModel:
      required:
      - givenName
      - id
      type: object
      properties:
        id:
          type: integer
          format: int32
        changeDate:
          type: string
          format: date-time
        description:
          type: string
          nullable: true
        divisionId:
          type: integer
          format: int32
        objectId:
          type: integer
          format: int64
          nullable: true
        objectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
        name:
          type: string
          nullable: true
        statusType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus'
        passphrase:
          type: string
          nullable: true
        passwordStatus:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.PasswordStatusType'
        file:
          type: string
          nullable: true
        base64File:
          type: string
          nullable: true
        givenName:
          minLength: 1
          type: string
        isLibraryCertificate:
          type: boolean
        changeLogObjectType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ObjectType'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.CertificateContactModel'
          nullable: true
        contactGroups:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.CertificateContactGroupModel'
          nullable: true
        associatedCertificates:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.AssociatedCertificateModel'
          nullable: true
        restrictContactAccess:
          type: boolean
        access:
          type: string
          nullable: true
          readOnly: true
        passphraseUpdated:
          type: string
          nullable: true
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.LabelKeyModel'
          nullable: true
        labelsForChangeLog:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertGroupItemAPIModel:
      required:
      - alertType
      - nodeThreshold
      - trigger
      type: object
      properties:
        instruction:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertInstructionsAPIModel'
        nodeThreshold:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertNodeThresholdAPIModel'
        notificationGroups:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.NotificationGroupAPIModel'
          nullable: true
        trigger:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Alert.AlertTriggerAPIModel'
        id:
          type: integer
          format: int32
        alertGroupId:
          type: integer
          format: int32
        notificationType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.NotificationType'
        alertType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.ReportAlertType'
        alertSubType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.ReportAlertSubtype'
        syntheticMetric:
          type: integer
          format: int32
          nullable: true
        enforceTestFailure:
          type: boolean
          nullable: true
        omitScatterplot:
          type: boolean
          nullable: true
        matchAllRecords:
          type: boolean
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.ScheduleSettingsAPIModel:
      type: object
      properties

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