Nuclei automations API

The automations API from Nuclei — 2 operation(s) for automations.

OpenAPI Specification

nuclei-automations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: PDCP agents automations API
  version: '1.0'
  summary: ProjectDiscovery Cloud Platform
  description: For more details, checkout https://docs.projectdiscovery.io/api-reference/editor/scan
servers:
- url: https://api.projectdiscovery.io
  description: Production
- url: https://api.dev.projectdiscovery.io
  description: Development
- url: http://localhost:8085
  description: Localhost
security:
- X-API-Key: []
tags:
- name: automations
paths:
  /v1/automations:
    get:
      summary: Get Automations
      tags:
      - automations
      responses:
        '200':
          $ref: '#/components/responses/GetAutomationsListResponse'
        '400':
          $ref: '#/components/responses/MessageResponse'
        '401':
          $ref: '#/components/responses/MessageResponse'
        '500':
          $ref: '#/components/responses/MessageResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      operationId: get-v1-automations
      security:
      - X-API-Key: []
      parameters:
      - schema:
          type: integer
        in: query
        name: offset
      - schema:
          type: integer
        in: query
        name: limit
      - schema:
          type: string
        in: header
        name: X-Team-Id
        description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    post:
      summary: Create Automation
      tags:
      - automations
      responses:
        '200':
          $ref: '#/components/responses/MessageResponse'
        '201':
          $ref: '#/components/responses/MessageResponse'
        '400':
          $ref: '#/components/responses/MessageResponse'
        '401':
          $ref: '#/components/responses/MessageResponse'
        '500':
          $ref: '#/components/responses/ErrorResponse'
      operationId: post-v1-automations
      security:
      - X-API-Key: []
      requestBody:
        $ref: '#/components/requestBodies/AddAutomation'
      parameters:
      - schema:
          type: string
        in: header
        name: X-Team-Id
        description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
  /v1/automations/{event}:
    parameters:
    - schema:
        type: string
      name: event
      in: path
      required: true
    get:
      summary: Get Automation
      tags:
      - automations
      responses:
        '200':
          $ref: '#/components/responses/GetAutomationIdResponse'
        '400':
          $ref: '#/components/responses/MessageResponse'
        '401':
          $ref: '#/components/responses/MessageResponse'
        '404':
          $ref: '#/components/responses/MessageResponse'
        '500':
          $ref: '#/components/responses/MessageResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      operationId: get-v1-automations-event
      parameters:
      - schema:
          type: string
        in: header
        name: X-Team-Id
        description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    patch:
      summary: Update Automation
      tags:
      - automations
      responses:
        '200':
          $ref: '#/components/responses/MessageResponse'
        '400':
          $ref: '#/components/responses/MessageResponse'
        '401':
          $ref: '#/components/responses/MessageResponse'
        '404':
          $ref: '#/components/responses/MessageResponse'
        '500':
          $ref: '#/components/responses/MessageResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      operationId: patch-v1-automations-event
      requestBody:
        $ref: '#/components/requestBodies/UpdateAutomationRequest'
      parameters:
      - schema:
          type: string
        in: header
        name: X-Team-Id
        description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
    delete:
      summary: Delete Automation
      tags:
      - automations
      responses:
        '200':
          $ref: '#/components/responses/MessageResponse'
        '400':
          $ref: '#/components/responses/MessageResponse'
        '401':
          $ref: '#/components/responses/MessageResponse'
        '404':
          $ref: '#/components/responses/MessageResponse'
        '500':
          $ref: '#/components/responses/MessageResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      operationId: delete-v1-automations-event
      parameters:
      - schema:
          type: string
        in: header
        name: X-Team-Id
        description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
components:
  schemas:
    EnumerationIds:
      title: EnumerationIds
      type: object
      required:
      - id
      properties:
        id:
          type: string
    GetAutomationsListItem:
      title: GetAutomationsListItem
      type: object
      required:
      - name
      - event
      - status
      - created_at
      - updated_at
      properties:
        name:
          type: string
        event:
          type: string
        status:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
    AutomationScanData:
      title: AutomationScanData
      type: object
      properties:
        targets:
          type: array
          items:
            type: string
        templates:
          type: array
          items:
            type: string
        name:
          type: string
        alerting_config_ids:
          type: array
          items:
            type: string
        scan_config_ids:
          type: array
          items:
            type: string
        reporting_config_ids:
          type: array
          items:
            type: string
        early_templates:
          type: array
          items:
            type: string
        exclude_targets:
          type: array
          items:
            type: string
        enumeration_ids:
          type: array
          items:
            $ref: '#/components/schemas/EnumerationIds'
        disable_global_alert_config:
          type: boolean
        disable_global_report_config:
          type: boolean
        disable_global_scan_config:
          type: boolean
        socks5_proxy:
          type: string
        agent_id:
          type: string
        agent_tags:
          type: array
          items:
            type: string
        agent_networks:
          type: array
          items:
            type: string
        agent_auto_discover:
          type: boolean
        agent_behavior:
          type: string
          enum:
          - distribute
          - mirror
          default: distribute
        scan_id:
          type: string
        update_existing_scan:
          type: boolean
        scan_all_assets:
          type: boolean
    GetAutomationItem:
      title: GetAutomationItem
      type: object
      required:
      - id
      - name
      - event
      - status
      - created_at
      - updated_at
      - data
      properties:
        id:
          type: integer
        name:
          type: string
        event:
          type: string
        status:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        data:
          $ref: '#/components/schemas/AutomationScanData'
  responses:
    GetAutomationIdResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            required:
            - message
            properties:
              message:
                type: string
              automation:
                $ref: '#/components/schemas/GetAutomationItem'
    ErrorResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            required:
            - message
            properties:
              message:
                type: string
              kind:
                type: string
              code:
                type: string
              error:
                type: string
              error_id:
                type: string
              param:
                type: string
              status:
                type: integer
    MessageResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            required:
            - message
            properties:
              message:
                type: string
    GetAutomationsListResponse:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            required:
            - message
            - automations
            properties:
              message:
                type: string
              automations:
                type: array
                items:
                  $ref: '#/components/schemas/GetAutomationsListItem'
  requestBodies:
    UpdateAutomationRequest:
      content:
        application/json:
          schema:
            type: object
            properties:
              name:
                type: string
              status:
                type: string
              scan_data:
                $ref: '#/components/schemas/AutomationScanData'
    AddAutomation:
      content:
        application/json:
          schema:
            type: object
            required:
            - name
            - status
            - event
            - scan_data
            properties:
              name:
                type: string
              status:
                type: string
              event:
                type: string
              scan_data:
                $ref: '#/components/schemas/AutomationScanData'
              enumeration_id:
                type: string
  securitySchemes:
    X-API-Key:
      name: X-API-Key
      type: apiKey
      in: header
x-internal: false