How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OWASP ZAP core API

The core API from OWASP ZAP — 97 operation(s) for core.

OWASP ZAP core API is one of 49 APIs that OWASP ZAP publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Core. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and a GitHub repository.

This API exposes 97 operations across 97 paths, and defines 1 schema. It is described by OpenAPI 3.0.3, at version 2.16.1.

Requests are made against 2 base URLs: http://zap, http://{address}:{port}.

97 operations 97 paths 1 schemas 97 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
2.16.1
Base URL
http://zap
Authentication
API Key, API Key
License
Resource Areas
1

Authentication & Security 2

OWASP ZAP core API declares 2 security schemes for authenticating requests. An API key is passed in the header as X-ZAP-API-Key (apiKeyHeader). An API key is passed in the query as apikey (apiKeyQuery). By default, every request must be authenticated, though some operations may also be called without credentials.

Paths & Operations 97

Across 97 paths, the API surfaces 97 operations — 97 GET. Each is listed below with its method, path, parameters, and response codes.

core 97
GET
/JSON/core/action/accessUrl/
Convenient and simple action to access a URL, optionally following redirections. Returns the request sent and response received and followed redirections, if any. Other actions are available which of…
coreActionAccessUrl 2 params → default
GET
/JSON/core/action/addProxyChainExcludedDomain/deprecated
Use the API endpoints in the 'network' component instead.
coreActionAddProxyChainExcludedDomain 3 params → default
GET
/JSON/core/action/clearExcludedFromProxy/
Clears the regexes of URLs excluded from the local proxies.
coreActionClearExcludedFromProxy → default
GET
/JSON/core/action/createSbomZip/
Create a zip file of the ZAP core and add-on SBOMs
coreActionCreateSbomZip 1 param → default
GET
/JSON/core/action/deleteAlert/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreActionDeleteAlert 1 param → default
GET
/JSON/core/action/deleteAllAlerts/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreActionDeleteAllAlerts → default
GET
/JSON/core/action/deleteSiteNode/
Deletes the site node found in the Sites Tree on the basis of the URL, HTTP method, and post data (if applicable and specified).
coreActionDeleteSiteNode 3 params → default
GET
/JSON/core/action/disableAllProxyChainExcludedDomains/deprecated
Use the API endpoints in the 'network' component instead.
coreActionDisableAllProxyChainExcludedDomains → default
GET
/JSON/core/action/disableClientCertificate/deprecated
Use the API endpoints in the 'network' component instead.
coreActionDisableClientCertificate → default
GET
/JSON/core/action/enableAllProxyChainExcludedDomains/deprecated
Use the API endpoints in the 'network' component instead.
coreActionEnableAllProxyChainExcludedDomains → default
GET
/JSON/core/action/enablePKCS12ClientCertificate/deprecated
Use the API endpoints in the 'network' component instead.
coreActionEnablePKCS12ClientCertificate 3 params → default
GET
/JSON/core/action/excludeFromProxy/
Adds a regex of URLs that should be excluded from the local proxies.
coreActionExcludeFromProxy 1 param → default
GET
/JSON/core/action/generateRootCA/deprecated
Use the API endpoints in the 'network' component instead.
coreActionGenerateRootCA → default
GET
/JSON/core/action/loadSession/
Loads the session with the given name. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
coreActionLoadSession 1 param → default
GET
/JSON/core/action/modifyProxyChainExcludedDomain/deprecated
Use the API endpoints in the 'network' component instead.
coreActionModifyProxyChainExcludedDomain 4 params → default
GET
/JSON/core/action/newSession/
Creates a new session, optionally overwriting existing files. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
coreActionNewSession 2 params → default
GET
/JSON/core/action/removeProxyChainExcludedDomain/deprecated
Use the API endpoints in the 'network' component instead.
coreActionRemoveProxyChainExcludedDomain 1 param → default
GET
/JSON/core/action/runGarbageCollection/
coreActionRunGarbageCollection → default
GET
/JSON/core/action/saveSession/
Saves the session.
coreActionSaveSession 2 params → default
GET
/JSON/core/action/sendRequest/
Sends the HTTP request, optionally following redirections. Returns the request sent and response received and followed redirections, if any. The Mode is enforced when sending the request (and followi…
coreActionSendRequest 2 params → default
GET
/JSON/core/action/setHomeDirectory/
coreActionSetHomeDirectory 1 param → default
GET
/JSON/core/action/setLogLevel/
Sets the logging level for a given logger name.
coreActionSetLogLevel 2 params → default
GET
/JSON/core/action/setMode/
Sets the mode, which may be one of [safe, protect, standard, attack]
coreActionSetMode 1 param → default
GET
/JSON/core/action/setOptionAlertOverridesFilePath/
Sets (or clears, if empty) the path to the file with alert overrides.
coreActionSetOptionAlertOverridesFilePath 1 param → default
GET
/JSON/core/action/setOptionDefaultUserAgent/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionDefaultUserAgent 1 param → default
GET
/JSON/core/action/setOptionDnsTtlSuccessfulQueries/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionDnsTtlSuccessfulQueries 1 param → default
GET
/JSON/core/action/setOptionHttpStateEnabled/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionHttpStateEnabled 1 param → default
GET
/JSON/core/action/setOptionMaximumAlertInstances/
Sets the maximum number of alert instances to include in a report. A value of zero is treated as unlimited.
coreActionSetOptionMaximumAlertInstances 1 param → default
GET
/JSON/core/action/setOptionMergeRelatedAlerts/
Sets whether or not related alerts will be merged in any reports generated.
coreActionSetOptionMergeRelatedAlerts 1 param → default
GET
/JSON/core/action/setOptionProxyChainName/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainName 1 param → default
GET
/JSON/core/action/setOptionProxyChainPassword/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainPassword 1 param → default
GET
/JSON/core/action/setOptionProxyChainPort/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainPort 1 param → default
GET
/JSON/core/action/setOptionProxyChainPrompt/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainPrompt 1 param → default
GET
/JSON/core/action/setOptionProxyChainRealm/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainRealm 1 param → default
GET
/JSON/core/action/setOptionProxyChainSkipName/deprecated
Option no longer in effective use.
coreActionSetOptionProxyChainSkipName 1 param → default
GET
/JSON/core/action/setOptionProxyChainUserName/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionProxyChainUserName 1 param → default
GET
/JSON/core/action/setOptionSingleCookieRequestHeader/deprecated
Option no longer in effective use.
coreActionSetOptionSingleCookieRequestHeader 1 param → default
GET
/JSON/core/action/setOptionTimeoutInSecs/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionTimeoutInSecs 1 param → default
GET
/JSON/core/action/setOptionUseProxyChain/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionUseProxyChain 1 param → default
GET
/JSON/core/action/setOptionUseProxyChainAuth/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionUseProxyChainAuth 1 param → default
GET
/JSON/core/action/setOptionUseSocksProxy/deprecated
Use the API endpoints in the 'network' component instead.
coreActionSetOptionUseSocksProxy 1 param → default
GET
/JSON/core/action/shutdown/
Shuts down ZAP
coreActionShutdown → default
GET
/JSON/core/action/snapshotSession/
Snapshots the session, optionally with the given name, and overwriting existing files. If no name is specified the name of the current session with a timestamp appended is used. If a relative path is…
coreActionSnapshotSession 2 params → default
GET
/OTHER/core/other/fileDownload/
Download a file from the transfer directory
coreOtherFileDownload 1 param → default
GET
/OTHER/core/other/fileUpload/
Upload a file to the transfer directory. Only POST requests accepted with encodings of "multipart/form-data" or "application/x-www-form-urlencoded".
coreOtherFileUpload 2 params → default
GET
/OTHER/core/other/htmlreport/deprecated
Use the 'generate' API endpoint the 'reports' component instead.
coreOtherHtmlreport → default
GET
/OTHER/core/other/jsonreport/deprecated
Use the 'generate' API endpoint the 'reports' component instead.
coreOtherJsonreport → default
GET
/OTHER/core/other/mdreport/deprecated
Use the 'generate' API endpoint the 'reports' component instead.
coreOtherMdreport → default
GET
/OTHER/core/other/messageHar/deprecated
Use the API endpoints in the 'exim' add-on instead.
coreOtherMessageHar 1 param → default
GET
/OTHER/core/other/messagesHar/deprecated
Use the API endpoints in the 'exim' add-on instead.
coreOtherMessagesHar 3 params → default
GET
/OTHER/core/other/messagesHarById/deprecated
Use the API endpoints in the 'exim' add-on instead.
coreOtherMessagesHarById 1 param → default
GET
/OTHER/core/other/proxy.pac/deprecated
Use the API endpoints in the 'network' component instead.
coreOtherProxy.pac → default
GET
/OTHER/core/other/rootcert/deprecated
Use the API endpoints in the 'network' component instead.
coreOtherRootcert → default
GET
/OTHER/core/other/sendHarRequest/deprecated
Use the API endpoints in the 'exim' add-on instead.
coreOtherSendHarRequest 2 params → default
GET
/OTHER/core/other/setproxy/deprecated
Use the API endpoints in the 'network' component instead.
coreOtherSetproxy 1 param → default
GET
/OTHER/core/other/xmlreport/deprecated
Use the 'generate' API endpoint the 'reports' component instead.
coreOtherXmlreport → default
GET
/JSON/core/view/alert/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreViewAlert 1 param → default
GET
/JSON/core/view/alerts/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreViewAlerts 4 params → default
GET
/JSON/core/view/alertsSummary/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreViewAlertsSummary 1 param → default
GET
/JSON/core/view/childNodes/
Gets the child nodes underneath the specified URL in the Sites tree
coreViewChildNodes 1 param → default
GET
/JSON/core/view/excludedFromProxy/
Gets the regular expressions, applied to URLs, to exclude from the local proxies.
coreViewExcludedFromProxy → default
GET
/JSON/core/view/getLogLevel/
The detailed logging config, optionally filtered based on a name (ex: starts with).
coreViewGetLogLevel 1 param → default
GET
/JSON/core/view/homeDirectory/deprecated
coreViewHomeDirectory → default
GET
/JSON/core/view/hosts/
Gets the name of the hosts accessed through/by ZAP
coreViewHosts → default
GET
/JSON/core/view/message/
Gets the HTTP message with the given ID. Returns the ID, request/response headers and bodies, cookies, note, type, RTT, and timestamp.
coreViewMessage 1 param → default
GET
/JSON/core/view/messages/
Gets the HTTP messages sent by ZAP, request and response, optionally filtered by URL and paginated with 'start' position and 'count' of messages
coreViewMessages 3 params → default
GET
/JSON/core/view/messagesById/
Gets the HTTP messages with the given IDs.
coreViewMessagesById 1 param → default
GET
/JSON/core/view/mode/
Gets the mode
coreViewMode → default
GET
/JSON/core/view/numberOfAlerts/deprecated
Use the API endpoint with the same name in the 'alert' component instead.
coreViewNumberOfAlerts 2 params → default
GET
/JSON/core/view/numberOfMessages/
Gets the number of messages, optionally filtering by URL
coreViewNumberOfMessages 1 param → default
GET
/JSON/core/view/optionAlertOverridesFilePath/
Gets the path to the file with alert overrides.
coreViewOptionAlertOverridesFilePath → default
GET
/JSON/core/view/optionDefaultUserAgent/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionDefaultUserAgent → default
GET
/JSON/core/view/optionDnsTtlSuccessfulQueries/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionDnsTtlSuccessfulQueries → default
GET
/JSON/core/view/optionHttpState/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionHttpState → default
GET
/JSON/core/view/optionHttpStateEnabled/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionHttpStateEnabled → default
GET
/JSON/core/view/optionMaximumAlertInstances/
Gets the maximum number of alert instances to include in a report.
coreViewOptionMaximumAlertInstances → default
GET
/JSON/core/view/optionMergeRelatedAlerts/
Gets whether or not related alerts will be merged in any reports generated.
coreViewOptionMergeRelatedAlerts → default
GET
/JSON/core/view/optionProxyChainName/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainName → default
GET
/JSON/core/view/optionProxyChainPassword/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainPassword → default
GET
/JSON/core/view/optionProxyChainPort/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainPort → default
GET
/JSON/core/view/optionProxyChainPrompt/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainPrompt → default
GET
/JSON/core/view/optionProxyChainRealm/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainRealm → default
GET
/JSON/core/view/optionProxyChainSkipName/deprecated
Use view proxyChainExcludedDomains instead.
coreViewOptionProxyChainSkipName → default
GET
/JSON/core/view/optionProxyChainUserName/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionProxyChainUserName → default
GET
/JSON/core/view/optionProxyExcludedDomains/deprecated
Use view proxyChainExcludedDomains instead.
coreViewOptionProxyExcludedDomains → default
GET
/JSON/core/view/optionProxyExcludedDomainsEnabled/deprecated
Use view proxyChainExcludedDomains instead.
coreViewOptionProxyExcludedDomainsEnabled → default
GET
/JSON/core/view/optionSingleCookieRequestHeader/deprecated
Option no longer in effective use.
coreViewOptionSingleCookieRequestHeader → default
GET
/JSON/core/view/optionTimeoutInSecs/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionTimeoutInSecs → default
GET
/JSON/core/view/optionUseProxyChain/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionUseProxyChain → default
GET
/JSON/core/view/optionUseProxyChainAuth/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionUseProxyChainAuth → default
GET
/JSON/core/view/optionUseSocksProxy/deprecated
Use the API endpoints in the 'network' component instead.
coreViewOptionUseSocksProxy → default
GET
/JSON/core/view/proxyChainExcludedDomains/deprecated
Use the API endpoints in the 'network' component instead.
coreViewProxyChainExcludedDomains → default
GET
/JSON/core/view/sessionLocation/
Gets the location of the current session file
coreViewSessionLocation → default
GET
/JSON/core/view/sites/
Gets the sites accessed through/by ZAP (scheme and domain)
coreViewSites → default
GET
/JSON/core/view/urls/
Gets the URLs accessed through/by ZAP, optionally filtering by (base) URL.
coreViewUrls 1 param → default
GET
/JSON/core/view/version/
Gets ZAP version
coreViewVersion → default
GET
/JSON/core/view/zapHomePath/
Gets the path to ZAP's home directory.
coreViewZapHomePath → default

Schemas 1

The contract defines 1 schema that model the data the API accepts and returns. The most detailed is ErrorJson (3 properties). Each schema is shown below with its type and property counts.

ErrorJson
object
3 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

owasp-zap-core-api-openapi.yml Raw ↑

Other APIs OWASP ZAP publishes across the network.

OWASP ZAP accessControl API
OWASP ZAP acsrf API
OWASP ZAP ajaxSpider API
OWASP ZAP alert API
OWASP ZAP alertFilter API
OWASP ZAP ascan API
OWASP ZAP authentication API
OWASP ZAP authorization API
OWASP ZAP automation API
OWASP ZAP autoupdate API
OWASP ZAP break API
OWASP ZAP client API
Where this information came from

This is an independent, third-party profile of OWASP ZAP core API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.