openapi: 3.0.1 info: title: Catchpoint REST API v2.0 Account Insights API version: '2.0' servers: - url: /api tags: - name: Insights paths: /v2/insights/{insightTokens}: get: tags: - Insights summary: Returns the insight details from tracepoints and indicators for tokens passed. parameters: - name: insightTokens in: path description: Comma-separated list of Insight Tokens. Tokens can be Tracepoint or Indicator tokens. 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.Insight.InsightResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' security: - bearer: [] order: 1 /v2/insights/insights: get: tags: - Insights summary: Returns the insight details from tracepoints and indicators for parameters passed. parameters: - name: insightName in: query description: Insight name schema: type: string - name: insightStatus in: query description: Insight Status. “0” for Active and “1” for Inactive schema: type: integer format: int32 - name: insightType in: query description: Insight Type. “0” for Tracepoint and “1” for Indicator (refer InternalLink[Test Enumeration Endpoint,operations-tag-Test,operations-Test-get_v2_tests_enumeration]) schema: type: integer format: int32 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.Insight.InsightResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' security: - bearer: [] order: 2 /v2/insights: post: tags: - Insights summary: Create a new insight based on the PostData. description: To get payload for creating a new insight and to get the created insight details refer InternalLink[Insight Details with Tokens Endpoint,operations-tag-Insights,operations-Insights-get_v2_insights__insightTokens_]. Pass “0” for Insight ID to create a new insight. 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 created object ID. schema: type: boolean requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel' application/json-patch+json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel' application/*+json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel' 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.Insight.InsightResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' security: - bearer: [] order: 3 /v2/insights/{insightType}/{insightToken}: patch: tags: - Insights summary: Update an existing insight based on the request body. description: "**Request:**\r\n\r\nOnly the property to be updated can be passed in the request body instead of 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: insightType in: path description: Insight Type. “0” for Tracepoint and “1” for Indicator (refer InternalLink[Test Enumeration Endpoint,operations-tag-Test,operations-Test-get_v2_tests_enumeration]) required: true schema: type: integer format: int32 - name: insightToken in: path description: Insight Token required: true schema: type: string - 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.Insight.InsightResponseModel]' text/plain: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' text/json: schema: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel]' security: - bearer: [] order: 4 components: schemas: Catchpoint.Symphony.Enums.DomainStatus: enum: - id: 0 name: Active - id: 1 name: Inactive - id: 2 name: Archived - id: 3 name: Suspended - id: 4 name: SuspendedByAdmin - id: 5 name: Open - id: 6 name: Resolved - id: 7 name: Deleted - id: 8 name: OverSubscribed - id: 9 name: Published - id: 10 name: Draft - id: 11 name: NeedsApproval type: integer format: int32 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.REST.Api.ApiUsageStatistics: type: object properties: clientId: type: integer format: int64 lastRequestTimestamp: type: string format: date-time limits: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit' runs: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit' exceededMessage: type: string nullable: true readOnly: true divisionUsageStatistics: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.DivisionUsageStatistics' nullable: true additionalProperties: false Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel: type: object properties: id: type: integer format: int32 nullable: true name: type: string nullable: true statusType: $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus' insightType: $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.APIInsightType' token: type: string nullable: true httpSection: $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.InsightSourceType' matchHeaderKey: type: boolean nullable: true format: type: string nullable: true includeChildren: type: boolean nullable: true isJsonFormat: type: boolean nullable: true contentType: $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Test.InsightContentType' glimpseSiteId: type: integer format: int32 nullable: true additionalProperties: false ? Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel] : type: object properties: data: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightResponseModel' 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.Enums.Test.APIInsightType: enum: - id: 0 name: Tracepoint - id: 1 name: Indicator 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.Api.Limit: type: object properties: minute: type: integer format: int32 hour: type: integer format: int32 day: type: integer format: int32 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.Enums.Test.InsightSourceType: enum: - id: 0 name: HttpHeader - id: 1 name: HttpContent - id: 2 name: PerformanceMark type: integer format: int32 Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath: type: object properties: ops: type: string nullable: true path: type: string nullable: true additionalProperties: false Catchpoint.Symphony.ViewModels.MessageModel: type: object properties: id: type: string nullable: true message: type: string nullable: true additionalProperties: false 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.Insight.InsightResponseModel: type: object properties: insights: type: array items: $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Insight.InsightAPIModel' nullable: true hasMore: type: boolean nullable: true next: type: string nullable: true previous: type: string 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 securitySchemes: bearer: type: http scheme: bearer bearerFormat: JWT