> ## Documentation Index
> Fetch the complete documentation index at: https://altostrat.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Start On-Demand Single-IP Scan

> Initiates an immediate, on-demand scan for a single IP address. This uses the configuration of an existing scan schedule but targets only the specified IP within a particular site.



## OpenAPI

````yaml /api/en/cve-scans.yaml post /scans/cve/scheduled/single-ip
openapi: 3.0.3
info:
  title: Altostrat CVE Scans API
  version: 1.0.0
  description: >-
    The Altostrat CVE Scans API is the microservice responsible for scheduling,
    executing, and reporting on network vulnerability scans.


    It is a core component of the Altostrat SDX platform's security posture
    management, providing deep insights into potential vulnerabilities across
    MikroTik networks to complement the platform's automation and AI
    capabilities.


    This API allows you to programmatically manage:

    - **Scan Schedules:** Define recurring vulnerability scans for specific
    network sites, including frequency, timing, and vulnerability thresholds.

    - **Scan Results:** Access detailed historical and in-progress scan reports,
    including discovered CVEs, affected hosts, and severity scores.

    - **Vulnerability Management:** Query specific CVEs by device (MAC address)
    and manage their lifecycle by marking them as accepted or mitigated.


    Developers use this API to integrate automated vulnerability scanning and
    reporting into their network management workflows and security dashboards.
servers:
  - url: https://v1.api.altostrat.io
    description: Altostrat Production API Server
security:
  - bearerAuth: []
tags:
  - name: Scan Schedules
    description: Manage the configuration and scheduling of recurring vulnerability scans.
  - name: Scan Execution
    description: Manually trigger and terminate scan jobs.
  - name: Scan Results
    description: Retrieve historical and in-progress scan reports and data.
  - name: Vulnerability Intelligence
    description: Query for specific vulnerability data and mitigation advice.
  - name: Vulnerability Management
    description: Manage the lifecycle and status of discovered vulnerabilities.
paths:
  /scans/cve/scheduled/single-ip:
    post:
      tags:
        - Scan Execution
      summary: Start On-Demand Single-IP Scan
      description: >-
        Initiates an immediate, on-demand scan for a single IP address. This
        uses the configuration of an existing scan schedule but targets only the
        specified IP within a particular site.
      operationId: startSingleIpScan
      requestBody:
        required: true
        description: Details of the scan to initiate.
        content:
          application/json:
            schema:
              type: object
              required:
                - schedule_id
                - site_id
                - ip_address
              properties:
                schedule_id:
                  type: string
                  format: uuid
                  description: >-
                    The ID of the schedule whose configuration will be used for
                    the scan.
                  example: 9c43cc95-f313-49a3-b632-524f7a24503b
                site_id:
                  type: string
                  format: uuid
                  description: The ID of the site where the target IP address is located.
                  example: 9c3c1392-7f36-4240-85f2-273573c0384a
                ip_address:
                  type: string
                  format: ipv4
                  description: The specific IPv4 address to scan.
                  example: 192.168.1.55
      responses:
        '202':
          description: The single-IP scan has been accepted and is pending execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnDemandScanResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    OnDemandScanResponse:
      type: object
      properties:
        scan_id:
          type: string
          format: uuid
          description: The unique identifier for the newly created parent scan object.
          example: 9c46a6f1-a8d8-4f5a-9b2f-7d1b3e9c5a1d
        status:
          type: string
          description: The initial status of the scan request.
          example: pending
        ip_address:
          type: string
          format: ipv4
          description: The IP address that was targeted.
          example: 192.168.1.55
        site_id:
          type: string
          format: uuid
          description: The site ID that was targeted.
          example: 9c3c1392-7f36-4240-85f2-273573c0384a
        created_at:
          type: string
          format: date-time
          description: Timestamp of when the scan was initiated.
          example: '2025-10-29T14:00:00Z'
        message:
          type: string
          description: A confirmation message.
          example: Scan initiated. Check back for results.
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          description: A broad category for the error (e.g., 'invalid_request_error').
          example: invalid_request_error
        code:
          type: string
          description: A short, unique string identifying the specific error.
          example: parameter_missing
        message:
          type: string
          description: A human-readable description of what went wrong.
          example: The 'description' parameter is required for this request.
        doc_url:
          type: string
          description: >-
            A direct link to the documentation page for this specific error
            code.
          example: https://docs.altostrat.io/errors/parameter_missing
  responses:
    BadRequestError:
      description: Bad Request - The request was malformed or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnauthorizedError:
      description: >-
        Unauthorized - The request requires authentication, but none was
        provided or it was invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFoundError:
      description: Not Found - The requested resource could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ValidationError:
      description: >-
        Unprocessable Entity - The request was well-formed but was unable to be
        followed due to semantic errors.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal Server Error - An unexpected error occurred on the server.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Enter your bearer token in the format: Bearer {token}'

````