Skip to main content
PATCH
Change a pentest that has not started. Changing its repositories clears the estimate.
Updates a draft pentest. Fields in the request replace their saved values. Omitted fields keep their current values. You can’t change a pentest after it starts.
Scope required: write. Role: member or above.
  • repos replaces the saved repository list and must contain at least one entry. Changing it clears the estimate.
  • login_targets replaces the full list. Send [] to remove all login targets. Sending the same site and login instructions preserves a successful login check. Changing either resets login_check to unverified until you check again.
  • To fix a login that failed its check, send the site again with new login_instructions, then run Check pentest logins.
  • To switch a draft from signed-in testing to testing without a login (or back), clear the other list in the same request, for example "login_targets": [] with your target_urls.
Run the estimate again after changing the draft. Start pentest rejects a credit total that doesn’t match the current estimate.

Authorizations

X-Api-Key
string
header
required

Path Parameters

id
string
required

Body

application/json
target_urls
string[]

Target URLs (pentest only)

custom_context
string

Custom context (pentest only)

application_id
string

iva application this scan targets (group of repos)

login_targets
object[]

Deployed sites to test signed in, each with how to sign in. On update the list replaces the saved one, and [] removes them. A pentest tests live sites either all signed in or all without a login (target_urls). Check each login with POST /pentests/{id}/login-checks before starting.

Maximum array length: 10
repos
object[]

Repositories or uploaded archives to test, replacing the saved ones. Changing them clears the estimate, so estimate again before starting.

Minimum array length: 1

Response

200 - application/json
scan_id
string<uuid>
required

Stable pentest id; task_id changes when it starts

status
enum<string>
required
Available options:
pending,
running,
completed,
failed,
stopped,
cancelled,
skipped,
pending_verification,
pending_triage,
draft,
estimating,
estimated
repos
object[]
required
target_urls
string[]
required
login_targets
object[]
required
custom_context
string | null
required
application_id
string<uuid> | null
required
cost_estimation_id
string<uuid> | null
required
triage_enabled
boolean | null
required
credits_used
number | null
required