Picus Security Summary API

The Summary API from Picus Security — 1 operation(s) for summary.

OpenAPI Specification

picus-security-summary-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Picus Customer Summary API
  description: '<p class="body-1">You can access the simulation raw data using the Rest API. Scope of the API includes; Simulation list, Simulation Details, Threat/Objective/Action Results, Results mapped to MITRE ATTC&K and Unified Kill Chain frameworks, Detection Analysis Results, Validated Logs & Alerts with SIEM & EDR integration.</p>

    <p class="body-1">OAuth2 protocol is used to authorize Refresh/Access tokens. To obtain the API, you should generate a refresh token and then request an access token using the /v1/auth/token endpoint. The refresh token will be valid for 6 months, whereas the access token will be available for 2 hours. After getting the access token, add Authorization: Bearer {accessToken} to the header to request access to the below endpoints.</p>

    <p class="body-1">Endpoints returning data with a lot of load works with the pagination method. You can use the offset and limit parameters to get the correct page.</p>


    <i class="body-1">Your usage will be limited with your Picus license.</i>'
  version: '1.0'
servers:
- url: https://api.picussecurity.com/
security:
- Access-Token: []
tags:
- name: Summary
paths:
  /v1/summary/overall:
    post:
      security:
      - Access-Token: []
      description: This endpoint is used to get the overall summary of the account.
      tags:
      - Summary
      summary: '# Summary Overall'
      operationId: summaryOverallParams
      responses:
        '200':
          $ref: '#/components/responses/SummaryResponse'
        '422':
          $ref: '#/components/responses/validationErrorSwagger'
        default:
          $ref: '#/components/responses/genericErrorSwagger'
      servers:
      - url: https://api.picussecurity.com/
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                periodType:
                  description: period type
                  type: string
                  x-go-name: PeriodType
                  example: WEEK | MONTH | QUARTER
                simulationIds:
                  description: simulation ids
                  type: array
                  items:
                    type: integer
                    format: int64
                  x-go-name: SimulationIds
                  example:
                  - 1
                  - 2
                  - 3
components:
  schemas:
    ThreatSummary:
      type: object
      properties:
        blocked:
          $ref: '#/components/schemas/OccurenceRate'
        count:
          type: integer
          format: int64
          x-go-name: Count
        notBlocked:
          $ref: '#/components/schemas/OccurenceRate'
        notTested:
          type: integer
          format: int64
          x-go-name: NotTested
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto
    ObjectiveSummary:
      type: object
      properties:
        achieved:
          $ref: '#/components/schemas/OccurenceRate'
        count:
          type: integer
          format: int64
          x-go-name: Count
        notAchieved:
          $ref: '#/components/schemas/OccurenceRate'
        notTested:
          type: integer
          format: int64
          x-go-name: NotTested
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto
    DetectionSummary:
      type: object
      properties:
        alertedThreat:
          $ref: '#/components/schemas/OccurenceRate'
        loggedThreat:
          $ref: '#/components/schemas/OccurenceRate'
        notAlertedThreat:
          $ref: '#/components/schemas/OccurenceRate'
        notLoggedThreat:
          $ref: '#/components/schemas/OccurenceRate'
        score:
          type: integer
          format: int64
          x-go-name: Score
        threatCount:
          type: integer
          format: int64
          x-go-name: ThreatCount
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto
    PreventionSummary:
      type: object
      properties:
        objectives:
          $ref: '#/components/schemas/ObjectiveSummary'
        score:
          type: integer
          format: int64
          x-go-name: Score
        threats:
          $ref: '#/components/schemas/ThreatSummary'
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto
    SummaryOverallResponse:
      type: object
      properties:
        detection:
          $ref: '#/components/schemas/DetectionSummary'
        prevention:
          $ref: '#/components/schemas/PreventionSummary'
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/customer_api_dto
    OccurenceRate:
      type: object
      properties:
        change:
          type: integer
          format: int64
          x-go-name: Change
        count:
          type: integer
          format: int64
          x-go-name: Count
      x-go-package: github.com/picusnext/picus-digital/go/customer-api/internal_request/internal_service_dto
  responses:
    SummaryResponse:
      description: SummaryResponse
      content:
        application/json:
          schema:
            type: object
            properties:
              summary:
                $ref: '#/components/schemas/SummaryOverallResponse'
    genericErrorSwagger:
      description: genericErrorSwagger is represents the erroneous cases
      content:
        application/json:
          schema:
            type: object
            properties:
              error_code:
                description: Error Code is optional. It is using for define specific error types.
                type: integer
                format: int64
                x-go-name: ErrorCode
                example: 1001
              errors:
                description: Errors are optional. If there are multiple error, this field gives details.
                type: object
                additionalProperties:
                  type: string
                x-go-name: Errors
                example: '["error1", "error2"]'
              message:
                description: Error Message that contains information about error
                type: string
                x-go-name: Message
    validationErrorSwagger:
      description: validationErrorSwagger is represents the erroneous cases
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                description: Validation Error List
                type: object
                additionalProperties:
                  type: string
                x-go-name: Errors
                example:
                  param: tag=max, param=25, given value=1000
              message:
                description: Message will be "validation error"
                type: string
                x-go-name: Message
                example: validation error
  securitySchemes:
    Access-Token:
      description: After getting the access token, type <i>Bearer accessToken</i> to the Value input box to request access to the below endpoints For example <i>Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9</i>
      type: apiKey
      name: Authorization
      in: header