Skip to content
These docs describe staging.zkao.io and the @zksecurity/zkao-cli@next release. For production, see docs.zkao.io.

Publish a scan as a public artifact

POST
/projects/{projectId}/scans/{scanId}/publish
curl --request POST \
--url https://zkao.io/api/v1/projects/example/scans/example/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "withPassword": true }'

Requires scope: publish. The scan must be COMPLETED.

projectId
required
string
scanId
required
string
Media typeapplication/json
object
withPassword

Generate a password to gate access to the public artifact.

boolean
Examplegenerated
{
"withPassword": true
}

OK

Media typeapplication/json
object
artifactId
required
string
publicId
required

Slug in /public/{scans,findings}/.

string
accessPassword

The generated access password when withPassword was requested; otherwise null.

string | null
Examplegenerated
{
"artifactId": "example",
"publicId": "example",
"accessPassword": "example"
}

Invalid request

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

Missing, malformed, expired, or revoked token

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

The token lacks the required scope

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}

Resource not in this token’s project or repo allowlist

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: unauthorized forbidden not_found bad_request conflict insufficient_credits repository_initializing diff_base_required diff_base_not_allowed diff_base_invalid diff_empty rate_limited internal
message
required
string
Example
{
"error": {
"code": "unauthorized"
}
}