OWASP ZAP spider API

The spider API from OWASP ZAP — 71 operation(s) for spider.

OpenAPI Specification

owasp-zap-spider-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ZAP accessControl spider API
  description: The HTTP API for controlling and accessing ZAP.
  contact:
    name: ZAP User Group
    url: https://groups.google.com/group/zaproxy-users
    email: zaproxy-users@googlegroups.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 2.16.1
servers:
- url: http://zap
  description: The URL while proxying through ZAP.
- url: http://{address}:{port}
  description: The URL of a Local Proxy of ZAP.
  variables:
    address:
      description: The address ZAP is listening on.
      default: 127.0.0.1
    port:
      description: The port ZAP is bound to.
      default: '8080'
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: spider
paths:
  /JSON/spider/action/addDomainAlwaysInScope/:
    parameters:
    - name: value
      in: query
      required: true
      description: ''
      schema:
        type: string
    - name: isRegex
      in: query
      description: ''
      schema:
        type: string
    - name: isEnabled
      in: query
      description: ''
      schema:
        type: string
    get:
      description: Adds a new domain that's always in scope, using the specified value. Optionally sets if the new entry is enabled (default, true) and whether or not the new value is specified as a regex (default, false).
      operationId: spiderActionAddDomainAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/clearExcludedFromScan/:
    get:
      description: Clears the regexes of URLs excluded from the spider scans.
      operationId: spiderActionClearExcludedFromScan
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/disableAllDomainsAlwaysInScope/:
    get:
      description: Disables all domains that are always in scope.
      operationId: spiderActionDisableAllDomainsAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/enableAllDomainsAlwaysInScope/:
    get:
      description: Enables all domains that are always in scope.
      operationId: spiderActionEnableAllDomainsAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/excludeFromScan/:
    parameters:
    - name: regex
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: Adds a regex of URLs that should be excluded from the spider scans.
      operationId: spiderActionExcludeFromScan
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/modifyDomainAlwaysInScope/:
    parameters:
    - name: idx
      in: query
      required: true
      description: ''
      schema:
        type: string
    - name: value
      in: query
      description: ''
      schema:
        type: string
    - name: isRegex
      in: query
      description: ''
      schema:
        type: string
    - name: isEnabled
      in: query
      description: ''
      schema:
        type: string
    get:
      description: Modifies a domain that's always in scope. Allows to modify the value, if enabled or if a regex. The domain is selected with its index, which can be obtained with the view domainsAlwaysInScope.
      operationId: spiderActionModifyDomainAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/pause/:
    parameters:
    - name: scanId
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionPause
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/pauseAllScans/:
    get:
      description: ''
      operationId: spiderActionPauseAllScans
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/removeAllScans/:
    get:
      description: ''
      operationId: spiderActionRemoveAllScans
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/removeDomainAlwaysInScope/:
    parameters:
    - name: idx
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: Removes a domain that's always in scope, with the given index. The index can be obtained with the view domainsAlwaysInScope.
      operationId: spiderActionRemoveDomainAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/removeScan/:
    parameters:
    - name: scanId
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionRemoveScan
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/resume/:
    parameters:
    - name: scanId
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionResume
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/resumeAllScans/:
    get:
      description: ''
      operationId: spiderActionResumeAllScans
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/scan/:
    parameters:
    - name: url
      in: query
      description: ''
      schema:
        type: string
    - name: maxChildren
      in: query
      description: ''
      schema:
        type: string
    - name: recurse
      in: query
      description: ''
      schema:
        type: string
    - name: contextName
      in: query
      description: ''
      schema:
        type: string
    - name: subtreeOnly
      in: query
      description: ''
      schema:
        type: string
    get:
      description: Runs the spider against the given URL (or context). Optionally, the 'maxChildren' parameter can be set to limit the number of children scanned, the 'recurse' parameter can be used to prevent the spider from seeding recursively, the parameter 'contextName' can be used to constrain the scan to a Context and the parameter 'subtreeOnly' allows to restrict the spider under a site's subtree (using the specified 'url').
      operationId: spiderActionScan
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/scanAsUser/:
    parameters:
    - name: contextId
      in: query
      required: true
      description: ''
      schema:
        type: string
    - name: userId
      in: query
      required: true
      description: ''
      schema:
        type: string
    - name: url
      in: query
      description: ''
      schema:
        type: string
    - name: maxChildren
      in: query
      description: ''
      schema:
        type: string
    - name: recurse
      in: query
      description: ''
      schema:
        type: string
    - name: subtreeOnly
      in: query
      description: ''
      schema:
        type: string
    get:
      description: Runs the spider from the perspective of a User, obtained using the given Context ID and User ID. See 'scan' action for more details.
      operationId: spiderActionScanAsUser
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionAcceptCookies/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: Sets whether or not a spider process should accept cookies while spidering.
      operationId: spiderActionSetOptionAcceptCookies
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionHandleODataParametersVisited/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionHandleODataParametersVisited
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionHandleParameters/:
    parameters:
    - name: String
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionSetOptionHandleParameters
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionLogoutAvoidance/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: A boolean (true/false) indicating if seeming logout paths/functionality should be avoided (default is false).
      schema:
        type: boolean
    get:
      description: Sets whether or not the Spider should attempt to avoid logout related paths/functionality.
      operationId: spiderActionSetOptionLogoutAvoidance
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionMaxChildren/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: ''
      schema:
        type: integer
    get:
      description: Sets the maximum number of child nodes (per node) that can be crawled, 0 means no limit.
      operationId: spiderActionSetOptionMaxChildren
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionMaxDepth/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: ''
      schema:
        type: integer
    get:
      description: Sets the maximum depth the spider can crawl, 0 for unlimited depth.
      operationId: spiderActionSetOptionMaxDepth
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionMaxDuration/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: ''
      schema:
        type: integer
    get:
      description: ''
      operationId: spiderActionSetOptionMaxDuration
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionMaxParseSizeBytes/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: The maximum size or 0 for unlimited.
      schema:
        type: integer
    get:
      description: Sets the maximum size, in bytes, that a response might have to be parsed. This allows the spider to skip big responses/files.
      operationId: spiderActionSetOptionMaxParseSizeBytes
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionMaxScansInUI/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: ''
      schema:
        type: integer
    get:
      description: ''
      operationId: spiderActionSetOptionMaxScansInUI
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseComments/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseComments
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseDsStore/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseDsStore
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseGit/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseGit
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseRobotsTxt/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseRobotsTxt
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseSVNEntries/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseSVNEntries
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionParseSitemapXml/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionParseSitemapXml
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionPostForm/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionPostForm
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionProcessForm/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionProcessForm
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionSendRefererHeader/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: Sets whether or not the 'Referer' header should be sent while spidering.
      operationId: spiderActionSetOptionSendRefererHeader
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionShowAdvancedDialog/:
    parameters:
    - name: Boolean
      in: query
      required: true
      description: ''
      schema:
        type: boolean
    get:
      description: ''
      operationId: spiderActionSetOptionShowAdvancedDialog
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionSkipURLString/:
    parameters:
    - name: String
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionSetOptionSkipURLString
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionThreadCount/:
    parameters:
    - name: Integer
      in: query
      required: true
      description: ''
      schema:
        type: integer
    get:
      description: ''
      operationId: spiderActionSetOptionThreadCount
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/setOptionUserAgent/:
    parameters:
    - name: String
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionSetOptionUserAgent
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/stop/:
    parameters:
    - name: scanId
      in: query
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderActionStop
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/action/stopAllScans/:
    get:
      description: ''
      operationId: spiderActionStopAllScans
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/addedNodes/:
    parameters:
    - name: scanId
      in: query
      description: ''
      schema:
        type: string
    get:
      description: Returns a list of the names of the nodes added to the Sites tree by the specified scan.
      operationId: spiderViewAddedNodes
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/allUrls/:
    get:
      description: Returns a list of unique URLs from the history table based on HTTP messages added by the Spider.
      operationId: spiderViewAllUrls
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/domainsAlwaysInScope/:
    get:
      description: 'Gets all the domains that are always in scope. For each domain the following are shown: the index, the value (domain), if enabled, and if specified as a regex.'
      operationId: spiderViewDomainsAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/excludedFromScan/:
    get:
      description: Gets the regexes of URLs excluded from the spider scans.
      operationId: spiderViewExcludedFromScan
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/fullResults/:
    parameters:
    - name: scanId
      in: query
      required: true
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderViewFullResults
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionAcceptCookies/:
    get:
      description: Gets whether or not a spider process should accept cookies while spidering.
      operationId: spiderViewOptionAcceptCookies
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionDomainsAlwaysInScope/:
    get:
      description: Use view domainsAlwaysInScope instead.
      deprecated: true
      operationId: spiderViewOptionDomainsAlwaysInScope
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionDomainsAlwaysInScopeEnabled/:
    get:
      description: Use view domainsAlwaysInScope instead.
      deprecated: true
      operationId: spiderViewOptionDomainsAlwaysInScopeEnabled
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionHandleODataParametersVisited/:
    get:
      description: ''
      operationId: spiderViewOptionHandleODataParametersVisited
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionHandleParameters/:
    get:
      description: ''
      operationId: spiderViewOptionHandleParameters
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionLogoutAvoidance/:
    get:
      description: Gets whether or not the spider should attempt to avoid logout related paths/functionality.
      operationId: spiderViewOptionLogoutAvoidance
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionMaxChildren/:
    get:
      description: Gets the maximum number of child nodes (per node) that can be crawled, 0 means no limit.
      operationId: spiderViewOptionMaxChildren
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionMaxDepth/:
    get:
      description: Gets the maximum depth the spider can crawl, 0 if unlimited.
      operationId: spiderViewOptionMaxDepth
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionMaxDuration/:
    get:
      description: ''
      operationId: spiderViewOptionMaxDuration
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionMaxParseSizeBytes/:
    get:
      description: Gets the maximum size, in bytes, that a response might have to be parsed, or 0 for unlimited.
      operationId: spiderViewOptionMaxParseSizeBytes
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionMaxScansInUI/:
    get:
      description: ''
      operationId: spiderViewOptionMaxScansInUI
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseComments/:
    get:
      description: ''
      operationId: spiderViewOptionParseComments
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseDsStore/:
    get:
      description: ''
      operationId: spiderViewOptionParseDsStore
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseGit/:
    get:
      description: ''
      operationId: spiderViewOptionParseGit
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseRobotsTxt/:
    get:
      description: ''
      operationId: spiderViewOptionParseRobotsTxt
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseSVNEntries/:
    get:
      description: ''
      operationId: spiderViewOptionParseSVNEntries
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionParseSitemapXml/:
    get:
      description: ''
      operationId: spiderViewOptionParseSitemapXml
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionPostForm/:
    get:
      description: ''
      operationId: spiderViewOptionPostForm
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionProcessForm/:
    get:
      description: ''
      operationId: spiderViewOptionProcessForm
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionSendRefererHeader/:
    get:
      description: Gets whether or not the 'Referer' header should be sent while spidering.
      operationId: spiderViewOptionSendRefererHeader
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionShowAdvancedDialog/:
    get:
      description: ''
      operationId: spiderViewOptionShowAdvancedDialog
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionSkipURLString/:
    get:
      description: ''
      operationId: spiderViewOptionSkipURLString
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionThreadCount/:
    get:
      description: ''
      operationId: spiderViewOptionThreadCount
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/optionUserAgent/:
    get:
      description: ''
      operationId: spiderViewOptionUserAgent
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/results/:
    parameters:
    - name: scanId
      in: query
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderViewResults
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/scans/:
    get:
      description: ''
      operationId: spiderViewScans
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
  /JSON/spider/view/status/:
    parameters:
    - name: scanId
      in: query
      description: ''
      schema:
        type: string
    get:
      description: ''
      operationId: spiderViewStatus
      tags:
      - spider
      responses:
        default:
          $ref: '#/components/responses/ErrorJson'
components:
  responses:
    ErrorJson:
      description: Error of JSON endpoints.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorJson'
  schemas:
    ErrorJson:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
        message:
          type: string
        detail:
          type: string
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: X-ZAP-API-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: apikey
      in: query