Probely Developer Documentation (1.2.0)

Download OpenAPI specification:Download

Probely is a Web Vulnerability Scanning suite for Agile Teams. It provides continuous scanning of your Web Applications and lets you efficiently manage the lifecycle of the vulnerabilities found, in a sleek and intuitive web interface API.

Quickstart

In this quick example we will start a scan for a target from a list and get the final scan results.

To run the requests, replace <PROBELY_AUTH_TOKEN> with your authentication token.
Read more about how to obtain the authentication token in the Authentication section.

Get the list of targets

We will start with a request to get the list of targets of the account.

curl https://api.probely.com/targets/ -X GET -H "Content-Type: application/json" -H "Authorization: JWT <PROBELY_AUTH_TOKEN>"

The response returns a JSON with the list of targets in your account.

{
  "count": 32,
  "page_total": 4,
  "page": 1,
  "length": 10,
  "results": [ 
    {
      "id": "3jWDZrNpfhSK",
      "site": {
        "id": "44rhjEiKbqHP",
        "name": "My Website",
        "desc": "",
        "url": "https://www.example.com/",
        ...
      },
      ...
    },
    ...
  ]
}

Start a target scan

With a list of targets, we will start a scan for the first target (with the identifier 3jWDZrNpfhSK).

curl https://api.probely.com/targets/3jWDZrNpfhSK/scan_now/ -X POST -H "Content-Type: application/json" -H "Authorization: JWT <PROBELY_AUTH_TOKEN>"

The response returns a JSON with information about the scan, such as the scan identifier, the scan status, and the creation date.

{
  "id": "37borpHTaGDe",
  "target": {
    "id": "3jWDZrNpfhSK",
    ...
  },
  "status": "queued",
  ...
  "created": "2023-11-15T15:14:20.650073Z",
  ...
}

Get scan information

Now, we will poll Probely with the following request to get the scan information and check whether the scan is complete.
We will use the scan identifier (37borpHTaGDe) and target identifier (3jWDZrNpfhSK) from the previous steps.

curl https://api.probely.com/targets/3jWDZrNpfhSK/scans/37borpHTaGDe/ -X GET -H "Content-Type: application/json" -H "Authorization: JWT <PROBELY_AUTH_TOKEN>"

When the scan is complete, the response returns a JSON with the scan status as completed, together with the date and time of completion and the final number of vulnerabilities found (low, medium, and high).

{
  "id": "37borpHTaGDe",
  "target": {
    "id": "3jWDZrNpfhSK",
    ...
  },
  "status": "completed",
  "started": "2023-11-15T15:14:22.971155Z",
  "completed": "2023-11-15T15:57:52.888459Z",
  "scan_profile": "api_normal",
  "lows": 1,
  "mediums": 2,
  "highs": 24,
  ...
}

In this last step, we polled Probely to get the scan information and check whether it was complete.
An alternative to this is to subscribe to Probely events and get notified about changes in your account.
Learn more about the available events and how to subscribe to them in Events.

Authentication

A valid authentication token is required to make requests to the Probely API.

To obtain the authenticationtoken, generate an API Key in the Probely app and save it in a secure place.
Treat the authentication token as a password since it allows access to information in your account and possible manipulation (depending on the role associated with the API Key).

To pass the authentication token in requests, add it to the authorization header using the following format:

Authorization: JWT <PROBELY_AUTH_TOKEN>

Concepts

TL;DR: you run scans on targets, and findings are created for any issue that is found. However, there are a few more concepts that must be explained in order to get a complete picture of how Probely works. We will spend the next few sections detailing the most important concepts.

Target

A target defines the scope of a scan, what will and won't be included in the scan plan. This is done by filling a target's site and assets.

The entry point for the web application (and authentication) is setup in the target's site.

In modern web applications, you are probably loading resources from multiple domains. A single page app, for example, will usually load the page from one domain and make AJAX requests to another. This is what assets are for: they specify what domains our scanner should follow and create requests for.

A URL is probably not the only thing you will need to setup when scanning your application.
For example:

  • Does the application have an authenticated area?
  • Does it use basic auth?
  • Does it expect a certain cookie or header?

These parameters are all configured in the target's site.

We need to ensure that only allowed web applications are scanned. Therefore, we must verify that you have control of any site you wish to include. This can be done by:

  • Placing a file on a well-known location, on the site's server.
  • Creating specific DNS records.
  • Adding an HTML meta tag to the root of the site.

Scans

This is what you're here for. After configuring your target, you will want to run scans against it. You can either start a one off scan, or schedule one for later - recurring or not.

During the scan, we will crawl the site and run several modules to check for security issues, which we call findings. You can check the findings even before a scan ends. If everything goes well, the scan will complete and that is it.

With some findings, our automated processes may have difficulties determining if it is a false positive or a legitimate issue. In these instances, a scan will be marked as under review, and we will further analyze the finding before making a decision. We will only show findings that, for some degree of confidence, are true positives. A finding that we are not sure of will never be displayed.

As much as we try to prevent it, a scan (or a sub-module) can malfunction.
If this happens, a scan is marked as:

  • "failed": the problem was irrecoverable.

During a scan, we try to determine what frameworks you are using and add this information to the site and asset objects discussed previously.

Findings

The last core concept is the finding, this is a security issue that we have found during our scans. If the same issue is found in a new scan it will not open a new finding but update the previous.

A finding will have a lot of information about the issue. Namely, where it was found, URL, insertion point (e.g. cookie), parameter, and method. Evidence we gathered, and the full request and response that we used. Sugestions of how to go about fixing it. A full description of the vulnerability is also present in the definition property. We also assign a severity and calculate the CVSS score for each.

Besides all this, there are also actions that you can perform on a finding. You can assign it to one user, leave comments for your team or add labels, and reduce or increase the severity.

If you don't plan on fixing the finding and accept the risk, or you think we reported a false positive, you can mark the finding to reflect that.

Scan Profile

Scan profiles allow you perform different kinds of scans that differ in their duration, type and number of requests performed and vulnerabilities tested for:

There are several scan profiles:

id Name
lightning Security Posture
safe Safe
normal Normal
full Full
api_normal API Normal
api_full API Full

Security Posture scans usually run in under a minute and check for SSL/TLS, HTTP headers, and cookies attribute-related vulnerabilities.

The safe profile tests for all the vulnerabilities we support, but with a limited set of payloads, to reduce the possible impact on the target application. The scanner will not make POST, PUT or DELETE requests, however, our crawler will still make requests with these methods if there are actions that trigger them.

The Normal profile tests for all the vulnerabilities we support, with a larger set of payloads than the one used in the safe profile, for some tests. It also has no restrictions about which methods it uses.

The Full profile includes all the tests from the normal profile, plus an even larger set of payloads.

Specifically for API targets, there are also the API Normal/API Full that correspond to profiles normal/full for web targets.

API Users

API users are a special kind of user in a Probely account. They represent applications interacting with Probely through the API in machine-to-machine scenarios, such as standalone applications integrating with Probely.

Depending on the roles assigned, API users can have access to different features of Probely to perform their tasks. Read more on How do Roles and Permissions Work

Functionality

The endpoints under API Users provide the following functionality:

  • Create and manage API users.
  • Create, manage, and assign API user roles to API users.

Important Notes

Some relevant information when using API Users:

  • An API user has an access token that identifies it.
  • Unlike users, access tokens for API users won't have an expiration date due to the nature of machine-to-machine interactions.

Further functionality related to API Users is provided in the following tags:

  • User Management - Manage users in the account including API users.
  • User - Manage specific API user settings, like passwords or notifications.

List API User Roles

Authorizations:
JWT Authentication
query Parameters
account
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

role
Array of strings

A unique Base58 value identifying this object.

target
Array of strings
team
Array of strings
user
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create API User Role

Authorizations:
JWT Authentication
Request Body schema:
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Retrieve API User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Update API User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
id
required
string = 12 characters
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "id": "stringstring",
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Partial Update API User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
id
string = 12 characters
object (ObjectId)
object (ObjectId)
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "id": "stringstring",
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Delete API User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Bulk Create API User Roles

Add roles to multiple API users in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Bulk Delete API User Roles

Authorizations:
JWT Authentication
Request Body schema:
ids
required
Array of strings

Responses

Request samples

Content type
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

Bulk Operations on API User Roles

Add/update/delete multiple API user roles in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array of objects (UserRoleCreateRequest)
Array of objects (UserRoleUpdateRequest)
Array of objects (UserRoleDestroyRequest)

Responses

Request samples

Content type
{
  • "create": [
    ],
  • "update": [
    ],
  • "delete": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Bulk Update API User Roles

Update multiple API user roles in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array
id
required
string = 12 characters
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

List API Users

Authorizations:
JWT Authentication
query Parameters
account
boolean
active
boolean
exclude_target
Array of strings
exclude_team
Array of strings
label
Array of strings

A unique Base58 value identifying this object.

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between user labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

mfa_enabled
boolean
no_access
boolean
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

role
Array of strings or null

A unique Base58 value identifying this object.

search
string

A search term.

target
Array of strings
team
Array of strings

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create API User

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

required
Array of objects (UserLabel)
Array of objects (SimpleUserRoleRequest)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

Retrieve API User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

Update API User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

required
Array of objects (UserLabel)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

Partial Update API User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

Array of objects (UserLabel)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

Disable API User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

List API User Targets

Authorizations:
JWT Authentication
path Parameters
user_id
required
string
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
role
Array of strings
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Bulk Update API Users

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 60 characters

Name of the user.

active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

required
Array of objects (UserLabel)
Array of objects (SimpleUserRole)

Roles of the user.

Responses

Request samples

Content type
{
  • "name": "string",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "is_apiuser": true,
  • "key": "string"
}

Account

To scan targets with Probely you need to have an account and subscribe to one of the available pricing plans. Once created, you can manage your account regarding the subscribed plan, payment and billing information, invoices, targets with unlimited scans, and credits for scanning targets.
Within your account, explore the features provided by Probely, such as:

  • Create and manage targets.
  • Start and manage target scans.
  • List and take action on vulnerability findings from target scans.
  • Create and manage users, teams, and roles and permissions.
  • Create and manage webhooks to handle events from the account and targets.
  • Integrate with other systems like Jira or Azure to synchornize findings.

See the Related Tags section for further details.

Functionality

The endpoints under Account provide the following functionality:

  • Retrieve the subscription information and entitlements.
  • List and retrieve invoices.
  • List all pricing plans.
  • Targets:
    • Retrieve the number of free slots for targets with unlimited scans.
    • List and manage targets with unlimited scans.
  • Credits:
    • Retrieve your credits information and list the credits usage.
    • List and retrieve credits packs.
    • Purchase credits.
    • Retrieve and set auto top-up of credits.

Further functionality related to Account is provided in the following tags:

  • Targets
    • Targets - Manage the targets in the account.
  • Scans
    • Scans - Manage scans of targets in the account.
    • Scheduled Scans - Manage scheduled scans of targets in the account.
  • Findings
    • Findings - Manage findings obtained from scans of targets in the account.
    • Vulnerabilities - List and retrieve vulnerability descriptions.
  • Reports
    • Reports - Retrieve reports on findings from scans of targets in the account.
    • Dashboards - Retrieve statistical information on scans of targets in the account.
  • Users
    • User Management - Manage Probely app users in the account.
    • User - Manage specific user settings, like passwords or notifications.
    • API Users - Manage API users and API roles in the account.
    • User Roles - Manage roles assigned to the Probely app users in the account.
    • Audit Log - Download the audit log of the user activity in the account.
  • Teams
    • Teams - Manage groups of users and targets in the account.
  • Roles & Permissions
  • Events
    • Events - Manage notifications of events from the account and targets.
  • Integrations
    • Jira Server Integration - Manage the integration with Jira to synchronize findings from target scans in the account.
    • Azure DevOps Integration - Manage the integration with Azure DevOps to synchronize findings from target scans in the account.

Retrieve Subscription Information Deprecated

Details about the accounts subscription (subscribed plan, billing cycle, etc..).

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "status": "active",
  • "plan": {
    },
  • "plan_target_quantity": 5,
  • "pool_size": 10,
  • "auto_collection": true,
  • "next_billing_at": "2019-08-24T14:15:22Z",
  • "trial_end": "2019-08-24T14:15:22Z",
  • "balance": 0,
  • "balance_currency_code": "eur",
  • "has_used_trial": true,
  • "heroku": false,
  • "plan_amount": 56000,
  • "next_billing_amount": 56000,
  • "available_slots": 5
}

Retrieve the Number of Free Slots of Targets with Unlimited Scans

Endpoint for interacting with a available slots for accounts.

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "available_slots": 0
}

Retrieve Billing Information Deprecated

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "first_name": "Pedro",
  • "last_name": "Miguel",
  • "company": "Probely",
  • "email": "[email protected]",
  • "address": "Fake street 19",
  • "city": "Lisbon",
  • "country": "Portugal",
  • "zip": "1200-123",
  • "vat_number": "123456789"
}

Update Billing Information Deprecated

Authorizations:
JWT Authentication
Request Body schema:
first_name
string
Default: ""

First name of billing contact.

last_name
string
Default: ""

Last name of billing contact.

company
string
Default: ""

Company name for billing purposes.

email
string <email>
Default: ""

E-mail for billing purposes.

address
string
Default: ""

Company address for billing purposes.

city
string
Default: ""
country
string
Default: ""

Company country for billing purposes.

state
string
Default: ""

Company state for billing purposes.

zip
string
Default: ""

Company zip code for billing purposes.

vat_number
string

Company VAT number for billing purposes.

reg_number
string

Company registration number for billing purposes.

other
string

Additional information that should be in invoices.

Responses

Request samples

Content type
{
  • "first_name": "Pedro",
  • "last_name": "Miguel",
  • "company": "Probely",
  • "email": "[email protected]",
  • "address": "Fake street 19",
  • "city": "Lisbon",
  • "country": "Portugal",
  • "zip": "1200-123",
  • "vat_number": "123456789"
}

Response samples

Content type
application/json
{
  • "first_name": "Pedro",
  • "last_name": "Miguel",
  • "company": "Probely",
  • "email": "[email protected]",
  • "address": "Fake street 19",
  • "city": "Lisbon",
  • "country": "Portugal",
  • "zip": "1200-123",
  • "vat_number": "123456789"
}

Partial Update Billing Information Deprecated

Authorizations:
JWT Authentication
Request Body schema:
first_name
string
Default: ""

First name of billing contact.

last_name
string
Default: ""

Last name of billing contact.

company
string
Default: ""

Company name for billing purposes.

email
string <email>
Default: ""

E-mail for billing purposes.

address
string
Default: ""

Company address for billing purposes.

city
string
Default: ""
country
string
Default: ""

Company country for billing purposes.

state
string
Default: ""

Company state for billing purposes.

zip
string
Default: ""

Company zip code for billing purposes.

vat_number
string

Company VAT number for billing purposes.

reg_number
string

Company registration number for billing purposes.

other
string

Additional information that should be in invoices.

Responses

Request samples

Content type
{
  • "first_name": "Pedro",
  • "last_name": "Miguel",
  • "company": "Probely",
  • "email": "[email protected]",
  • "address": "Fake street 19",
  • "city": "Lisbon",
  • "country": "Portugal",
  • "zip": "1200-123",
  • "vat_number": "123456789"
}

Response samples

Content type
application/json
{
  • "first_name": "Pedro",
  • "last_name": "Miguel",
  • "company": "Probely",
  • "email": "[email protected]",
  • "address": "Fake street 19",
  • "city": "Lisbon",
  • "country": "Portugal",
  • "zip": "1200-123",
  • "vat_number": "123456789"
}

Retrieve Credits Details

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "promotional_credits": 4294967295,
  • "purchased_credits": 4294967295,
  • "outstanding_credits": 4294967295,
  • "on_hold_promotional": 4294967295,
  • "on_hold_purchased": 4294967295,
  • "promotional_expiration_date": "2019-08-24",
  • "purchased_expiration_date": "2019-08-24",
  • "balance": 0
}

Purchase Credits

Authorizations:
JWT Authentication
Request Body schema:
pack_id
required
string <= 100 characters

Identifier of the credits pack to purchase.

coupon_ids
Array of strings[ items <= 100 characters ]

Identifiers of the credits coupons to purchase.

Responses

Request samples

Content type
{
  • "pack_id": "string",
  • "coupon_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "sub_total": 0,
  • "total": 0,
  • "amount_due": 0,
  • "amount_paid": 0,
  • "currency_code": "string",
  • "credits_applied": 0,
  • "line_items": [
    ],
  • "discounts": [
    ],
  • "taxes": [
    ]
}

Retrieve Credits Auto Top-up Settings

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "auto_top_up_on_expiration": true,
  • "auto_top_up_on_insufficient": true,
  • "auto_top_up_credits_pack": {
    }
}

Update Credits Auto Top-up Settings

Authorizations:
JWT Authentication
Request Body schema:
auto_top_up_on_expiration
boolean

If true, buy credits automatically on the expiration date of purchased credits.

auto_top_up_on_insufficient
boolean

If true, buy credits automatically when the account balance is insufficient to perfom scans.

object or null

Responses

Request samples

Content type
{
  • "auto_top_up_on_expiration": true,
  • "auto_top_up_on_insufficient": true,
  • "auto_top_up_credits_pack": {
    }
}

Response samples

Content type
application/json
{
  • "auto_top_up_on_expiration": true,
  • "auto_top_up_on_insufficient": true,
  • "auto_top_up_credits_pack": {
    }
}

Partial Update Credits Auto Top-up Settings

Authorizations:
JWT Authentication
Request Body schema:
auto_top_up_on_expiration
boolean

If true, buy credits automatically on the expiration date of purchased credits.

auto_top_up_on_insufficient
boolean

If true, buy credits automatically when the account balance is insufficient to perfom scans.

object or null

Responses

Request samples

Content type
{
  • "auto_top_up_on_expiration": true,
  • "auto_top_up_on_insufficient": true,
  • "auto_top_up_credits_pack": {
    }
}

Response samples

Content type
application/json
{
  • "auto_top_up_on_expiration": true,
  • "auto_top_up_on_insufficient": true,
  • "auto_top_up_credits_pack": {
    }
}

List Credits Usage

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

operation
Array of strings
Items Enum: "earned" "expired" "purchased" "used"
  • purchased - PURCHASED
  • expired - EXPIRED
  • used - USED
  • earned - EARNED
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

scope__name
string
search
string

A search term.

target__label
string

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Entitlements

Account entitlements give detailed information of what features are available and what limits the account is subject to.

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "pool_size": 0,
  • "allow_extra_users": true,
  • "max_users": 0,
  • "max_scan_freq": "string",
  • "max_scan_number": 0,
  • "max_credit_targets": 0,
  • "allow_billing": true,
  • "allow_create_and_destroy_targets": true,
  • "max_ultd_targets": 0,
  • "allow_scope_labels": true,
  • "allowed_scope_types": [
    ],
  • "spa_limit": 0,
  • "scanning_agent_limit": 0,
  • "verify_target_ownership": true,
  • "allowed_builtin_scan_profiles": [
    ],
  • "allow_custom_scan_profiles": true,
  • "allow_bulk_scan": true,
  • "allow_pause_and_resume_scan": true,
  • "allow_partial_scan": true,
  • "allow_scanning_2fa_targets": true,
  • "allow_teams": true,
  • "allow_bulk": true,
  • "allow_dashboard": true,
  • "allow_roles": true,
  • "allow_scanning_agent": true,
  • "allow_user_labels": true,
  • "allow_custom_roles": true,
  • "allow_sso": true,
  • "allow_target_import_export": true,
  • "allow_full_coverage_report": true,
  • "allow_audit_log": true,
  • "allow_azure_devops": true,
  • "allow_jira_cloud": true,
  • "allow_jira_server": true,
  • "allow_slack": true,
  • "allow_defectdojo": true,
  • "allow_webhooks": true,
  • "allow_shortcut": true,
  • "allow_heroku_sso": true,
  • "allowed_report_file_formats": [
    ],
  • "allowed_report_types": [
    ],
  • "allow_stored_reports": true,
  • "allowed_stored_report_file_formats": [
    ],
  • "allowed_stored_report_types": [
    ],
  • "allow_buying_credits": true,
  • "allow_credits": true,
  • "allow_unlimited": true,
  • "allow_ultd_change": true,
  • "number_unused_slots": 0,
  • "allowed_credits_packs": [
    ],
  • "credits_hourly_cost": 0,
  • "credits_cap": 0,
  • "credits_lightning_cost": 0,
  • "credits_auth_cost": 0,
  • "allowed_monthly_promotional_credits": 0,
  • "number_available_ultd_targets_minus_team_quotas": 0,
  • "allowed_builtin_roles": [
    ],
  • "allow_target_roles": true
}

List Invoices

List past invoices.

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Invoice

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "detail": "PDF is not ready for download, try again later."
}

Retrieve Subscription Information

Details about the accounts subscription (subscribed plan, billing cycle, etc..).

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "plan": {
    },
  • "subscription_status": "future",
  • "has_used_trial": true,
  • "trial_end": "2019-08-24T14:15:22Z",
  • "next_billing_at": "2019-08-24T14:15:22Z",
  • "next_billing_amount": 4294967295,
  • "plan_amount": 4294967295,
  • "auto_collection": true,
  • "number_free_ultd_targets": 4294967295,
  • "max_ultd_targets": 0,
  • "number_paid_ultd_targets": 4294967295,
  • "number_used_ultd_targets": 4294967295,
  • "number_available_ultd_targets": 4294967295,
  • "number_available_ultd_targets_minus_team_quotas": 4294967295,
  • "number_used_credit_targets": 0,
  • "number_available_credit_targets": 0,
  • "past_year_ultd_target_changes": 0,
  • "max_yearly_ultd_target_changes": 0,
  • "next_allowed_ultd_target_change": "2019-08-24T14:15:22Z",
  • "channel": "self-service"
}

List Targets with Unlimited Scans

Authorizations:
JWT Authentication
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
ordering
string

Which field to use when ordering the results.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Update Targets with Unlimited Scans

Authorizations:
JWT Authentication
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
ordering
string

Which field to use when ordering the results.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean
Request Body schema:
Array
id
required
string
unlimited
boolean

If true, the target has unlimited scans.
If false, scans consume credits.
Learn more about unlimited scans vs scans with credits.
Defaults to true.

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Partial Update Targets with Unlimited Scans

Authorizations:
JWT Authentication
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
ordering
string

Which field to use when ordering the results.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean
Request Body schema:
Array
id
required
string
unlimited
boolean

If true, the target has unlimited scans.
If false, scans consume credits.
Learn more about unlimited scans vs scans with credits.
Defaults to true.

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Disable Targets with Unlimited Scans

Authorizations:
JWT Authentication
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
ordering
string

Which field to use when ordering the results.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Credits Packs

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

page
integer

A page number within the paginated result set.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Credits Pack

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this addon.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "price": -2147483648,
  • "currency_code": "USD",
  • "pack_amount": 4294967295,
  • "discount": 0,
  • "savings": 0
}

List Plans

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

page
integer

A page number within the paginated result set.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Assets

Other resources a scan required access to (e.g. the domain where an API is being served) should be added here. You can also configure custom headers and cookies for each asset.

List Assets

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Asset

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Request Body schema:
name
string <= 255 characters

Name of the target or extra host.
The maximum length is 255 characters.

desc
string or null

Description of the target.

required
object (Framework)
Array of objects (NameValue)

Custom headers to send.

Array of objects (NameValue)

Custom cookies to send.

include
boolean

If true, the extra host is in the scope of the scan.
If false, the extra host is not in the scope of the scan.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "desc": "string",
  • "stack": { },
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string",
  • "stack": {
    },
  • "verified": true,
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true,
  • "host": "string"
}

Retrieve Asset

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string",
  • "stack": {
    },
  • "verified": true,
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true,
  • "host": "string"
}

Update Asset

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Request Body schema:
name
string <= 255 characters

Name of the target or extra host.
The maximum length is 255 characters.

desc
string or null

Description of the target.

required
object (Framework)
Array of objects (NameValue)

Custom headers to send.

Array of objects (NameValue)

Custom cookies to send.

include
boolean

If true, the extra host is in the scope of the scan.
If false, the extra host is not in the scope of the scan.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "desc": "string",
  • "stack": { },
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string",
  • "stack": {
    },
  • "verified": true,
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true,
  • "host": "string"
}

Partial Update Asset

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Request Body schema:
name
string <= 255 characters

Name of the target or extra host.
The maximum length is 255 characters.

desc
string or null

Description of the target.

Array of objects or null

Technologies in target scans. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

Array of objects (NameValue)

Custom headers to send.

Array of objects (NameValue)

Custom cookies to send.

include
boolean

If true, the extra host is in the scope of the scan.
If false, the extra host is not in the scope of the scan.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "desc": "string",
  • "stack": [
    ],
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string",
  • "stack": {
    },
  • "verified": true,
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "headers": [
    ],
  • "cookies": [
    ],
  • "include": true,
  • "host": "string"
}

Delete Asset

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Dashboards

Probely dashboard data.

List Aggregated Risk Trends

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "start": 0,
  • "stop": 0,
  • "step": 0,
  • "results": 0
}

List Average Fix Times

Authorizations:
JWT Authentication
query Parameters
format
string
Enum: "csv" "json"

Responses

Response samples

Content type
{
  • "results": {
    }
}

Retrieve Attention Pie

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Top Items needing attention

Authorizations:
JWT Authentication
query Parameters
format
string
Enum: "csv" "json"

Responses

Response samples

Content type
[
  • {
    }
]

List Risk Trends

Authorizations:
JWT Authentication
query Parameters
format
string
Enum: "csv" "json"

Responses

Response samples

Content type
[
  • {
    }
]

List Severity Trends

Authorizations:
JWT Authentication
query Parameters
format
string
Enum: "csv" "json"

Responses

Response samples

Content type
{
  • "start": 0,
  • "stop": 0,
  • "step": 0,
  • "results": 0
}

List Top Vulnerabilities

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Average Fix Time Graph

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "results": {
    }
}

Risk Trend Graph

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "start": "string",
  • "stop": "string",
  • "step": "string",
  • "results": "string"
}

Severity Trend Graph

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "start": "string",
  • "stop": "string",
  • "step": "string",
  • "results": "string"
}

Top Vulnerabilities Graph

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Average Fix Time Graph

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": {
    }
}

Targets with open vulnerabilities pie chart data

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Targets with top number of open vulnerabilities

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Risk Trend Graph

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "start": "string",
  • "stop": "string",
  • "step": "string",
  • "results": "string"
}

List all Scans of Target

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

Account Scheduled Scans

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Severity Trend Graph

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "start": "string",
  • "stop": "string",
  • "step": "string",
  • "results": "string"
}

Top Vulnerabilities Graph

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Domains

Vulnerability scans may require extensive requests to targets, which can be perceived as malicious attacks and make scans fail.

To avoid that, Probely requires the verification of the domain of targets to prove the ownership, i.e., that requests from vulnerability scans are allowed.

Functionality

The endpoints under Domains provide the following functionality:

  • Create and manage domains.
  • Verify the ownership of domains.

Important Notes

Some relevant information when using Domains:

  • Probely has several methods to verify domains, which are described in this article.
  • Depending on the method, different server-side configurations may be needed, such as adding a file to the website root folder or a record to the Domain Name System (DNS).

List Domains

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

verified
boolean

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Domain

Authorizations:
JWT Authentication
Request Body schema:
hostname
required
string^(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1...

Domain name with an associated IP address or an IP address itself.
For example, "my.example.com", "example.com", or "37.139.17.48". The maximum length is 256 characters.

basic_auth_username
string or null

Username used for basic authentication.

basic_auth_password
string or null

Password used for basic authentication.

port
integer or null [ 1 .. 65535 ]

IP Port to send the requests to.
If not defined, uses the default ports for HTTPS and HTTP (if the verification method requires making HTTP requests).

Responses

Request samples

Content type
{
  • "hostname": "string",
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "id": "string",
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "verified": true,
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Retrieve Domain

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "id": "string",
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "verified": true,
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Update Domain

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
hostname
required
string^(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1...

Domain name with an associated IP address or an IP address itself.
For example, "my.example.com", "example.com", or "37.139.17.48". The maximum length is 256 characters.

basic_auth_username
string or null

Username used for basic authentication.

basic_auth_password
string or null

Password used for basic authentication.

port
integer or null [ 1 .. 65535 ]

IP Port to send the requests to.
If not defined, uses the default ports for HTTPS and HTTP (if the verification method requires making HTTP requests).

Responses

Request samples

Content type
{
  • "hostname": "string",
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "id": "string",
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "verified": true,
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Partial Update to Domain

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
hostname
string^(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1...

Domain name with an associated IP address or an IP address itself.
For example, "my.example.com", "example.com", or "37.139.17.48". The maximum length is 256 characters.

basic_auth_username
string or null

Username used for basic authentication.

basic_auth_password
string or null

Password used for basic authentication.

port
integer or null [ 1 .. 65535 ]

IP Port to send the requests to.
If not defined, uses the default ports for HTTPS and HTTP (if the verification method requires making HTTP requests).

Responses

Request samples

Content type
{
  • "hostname": "string",
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "id": "string",
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "verified": true,
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Delete Domain

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "error": "Invalid JWT."
}

Verify Domain Ownership

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
type
required
string
Enum: "file" "dns_txt" "dns_cname" "meta_tag" "whitelist" "email" "waved"
  • file - file
  • dns_txt - dns_txt
  • dns_cname - dns_cname
  • meta_tag - meta_tag
  • whitelist - whitelist
  • email - email
  • waved - waved

Responses

Request samples

Content type
{
  • "type": "file"
}

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "id": "string",
  • "verification_token": "bb1403cd-c02c-401d-a78a-6a9452aa09db",
  • "verification_date": "2019-08-24T14:15:22Z",
  • "verification_method": "file",
  • "verification_last_error": "string",
  • "verified": true,
  • "basic_auth_username": "string",
  • "basic_auth_password": "string",
  • "port": 1
}

Events

Probely saves records and sends notifications of important events related to an account. So, instead of polling Probely repeatedly to get information and figure out whether something happened, register Webhooks and get notified by Probely about events in real-time.

Probely sends notifications for the following events:

  • Account Events

    • A user was created.
    • A user was deleted.
    • A target was created.
    • A target was deleted.
    • A target was verified with success.
    • A target was verified and failed.
  • Target Events

    • A scan was started.
    • A scan was completed.
    • A scan was canceled.
    • A scan failed.
    • A vulnerability finding was detected.
    • A vulnerability finding was fixed.

Event notifications sent to Webhooks depend on the type of events Webhooks are registered for:

Webhook Registration Event Notifications
Account Events The Webhook receives notifications from Probely about account events and target events for all targets of the account.
Target Events The Webhook receives notifications from Probely about target events for a specific target of the account.

Functionality

The endpoints under Events provide the following functionality:

  • Register and manage Webhooks for account events.
  • Register and manage Webhooks for target events.
  • List and retrieve account events.
  • List and retrieve target events.

Important Notes

Some relevant information when using Events:

  • Account owners will only see and be notified of events related to their accounts.
  • The Webhook URLs are required to be HTTPS.
  • For security reasons, Webhooks should have a unique and hard-to-guess identifier.
    For example, https://webhook.example.com/d69179e3b06549469817560c650be98f/
  • Event notifications are sent in JSON format.
  • After sending an event notification, an HTTP success status code (2XX) is expected in response.
  • In case an event notification fails, Probely will retry to send it again with an exponential back-off (maxing out at 4 hours) for 2 days, at the end of which an email is sent informing the failure.

Further functionality related to Events is provided in the following tags:

  • Account - Manage the account.
  • User - Manage specific settings of users returned by Account Events, like the profile, passwords, or notifications.
  • Targets - Manage targets returned by Account Events.
  • Scans - Manage scans returned by Target Events.
  • Findings - Manage vulnerability findings returned by Target Events.

List Account's Events

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Account's Event

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

List Target's Events

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Target's Event

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

List Target's Webhooks

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Target's Webhook

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
name
required
string <= 255 characters

Name of the webhook.

url
required
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

Retrieve Target's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

Update Target's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.r of the target.

Request Body schema:
name
required
string <= 255 characters

Name of the webhook.

url
required
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

Partial Update Target's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
name
string <= 255 characters

Name of the webhook.

url
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "event_type": "user_created",
  • "occurred_at": "2019-08-24T14:15:22Z",
  • "object_type": "string",
  • "content": "string",
  • "webhooks": [
    ]
}

Delete Target's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

List Account's Webhooks

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Account's Webhook

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the webhook.

url
required
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "check_cert": true,
  • "api_version": "v1",
  • "created": "2019-08-24T14:15:22Z",
  • "created_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {}
}

Retrieve Account's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "check_cert": true,
  • "api_version": "v1",
  • "created": "2019-08-24T14:15:22Z",
  • "created_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {}
}

Update Account's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the webhook.

url
required
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "check_cert": true,
  • "api_version": "v1",
  • "created": "2019-08-24T14:15:22Z",
  • "created_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {}
}

Partial Update Account's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the webhook.

url
string <uri>
check_cert
boolean

If true, verify the HTTPS certificate of the webhook URL. Defaults to true.

api_version
string
Value: "v1"

API version of the webhook.

  • v1 - V1

Responses

Request samples

Content type
{}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "check_cert": true,
  • "api_version": "v1",
  • "created": "2019-08-24T14:15:22Z",
  • "created_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {}
}

Delete Account's Webhook

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Finding Labels

You can add labels to help you keep track of your findings.

List Finding Labels

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Finding Label

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Retrieve Finding Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Update Finding Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Partial Update Finding Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Delete Finding Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Findings

Findings are security issues found during scans. We try hard to present valid findings only. We give as much information as possible to help you know exactly what to do, without having to resort to outside resources.

Findings come with all the data we gathered during the scan, a suggestion on how to fix it, and a description of the vulnerability.

List Account's Findings

Authorizations:
JWT Authentication
query Parameters
assignee
Array of strings

A unique Base58 value identifying this object.

label
Array of strings

A unique Base58 value identifying this object.

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between labels.

  • and - and
  • or - or
lastfound_max
string or null <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format.
For example, "2023-08-09T13:27:43.8208302"

lastfound_min
string or null <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format.
For example, "2023-08-09T13:27:43.8208302"

length
integer

Number of results to return per page.

new
boolean
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

scan
Array of strings

A unique Base58 value identifying this object.

search
string

A search term.

severity
Array of integers
Items Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
state
Array of strings
Items Enum: "accepted" "fixed" "invalid" "notfixed" "retesting"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
  • retesting - Re-testing
target
Array of strings

A unique Base58 value identifying this object.

target_label
Array of strings

A unique Base58 value identifying this object.

target_label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Account's Finding

Query Findings by their compound Id.

Authorizations:
JWT Authentication
path Parameters
id
required
integer

A unique integer value identifying this finding.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Update Account's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer

A unique integer value identifying this finding.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Partial Update Account's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer

A unique integer value identifying this finding.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

Array of objects or null

Labels of the vulnerability finding.

definition
string

Definition of the vulnerability.

insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

assignee
string or null

User who is assigned to fix the vulnerability.

state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": "string",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": "string",
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Bulk Retest Account's Findings

Authorizations:
JWT Authentication
Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

Bulk Update Account's Findings

Authorizations:
JWT Authentication
Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

List Target's Findings

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
assignee
Array of strings

A unique Base58 value identifying this object.

label
Array of strings

A unique Base58 value identifying this object.

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between labels.

  • and - and
  • or - or
lastfound_max
string or null <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format.
For example, "2023-08-09T13:27:43.8208302"

lastfound_min
string or null <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format.
For example, "2023-08-09T13:27:43.8208302"

length
integer

Number of results to return per page.

new
boolean
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

scan
Array of strings

A unique Base58 value identifying this object.

search
string

A search term.

severity
Array of integers
Items Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
state
Array of strings
Items Enum: "accepted" "fixed" "invalid" "notfixed" "retesting"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
  • retesting - Re-testing

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

List Findings Activity

Authorizations:
JWT Authentication
path Parameters
finding_id
required
string

Finding ID

target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

message_type
Array of strings or null
Items Enum: "accepted" "assign" "fixed" "found" "invalid" "note" "retest" "retest_failed" "update"
  • found - Found
  • invalid - Invalid
  • accepted - Accepted Risk
  • fixed - Fixed
  • note - Note
  • update - Update
  • assign - Assign
  • retest - Retest
  • retest_failed - Retest Failed
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Target's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer [ -2147483648 .. 2147483647 ]
target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Update Target's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer [ -2147483648 .. 2147483647 ]
target_id
required
string

Identifier of the target.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Partial Update Target's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer [ -2147483648 .. 2147483647 ]
target_id
required
string

Identifier of the target.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

Array of objects or null

Labels of the vulnerability finding.

definition
string

Definition of the vulnerability.

insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

assignee
string or null

User who is assigned to fix the vulnerability.

state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": "string",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": "string",
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "target": {
    },
  • "scans": [
    ],
  • "labels": [
    ],
  • "fix": "string",
  • "requests": [
    ],
  • "evidence": "string",
  • "extra": "string",
  • "definition": {
    },
  • "url": "string",
  • "path": "string",
  • "method": "get",
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "value": "string",
  • "params": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "cvss_score": 0,
  • "cvss_vector": "string",
  • "last_found": "2019-08-24T14:15:22Z",
  • "retesting": true,
  • "new": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "comment": "string"
}

Retest Target's Finding

Authorizations:
JWT Authentication
path Parameters
id
required
integer [ -2147483648 .. 2147483647 ]
target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

Bulk Retest Target's Findings

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

Bulk Update Target's Findings

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
scans
Array of strings

Scans that originated the vulnerability finding.

required
Array of objects (FindingLabel)
required
object (SimpleVulnerabilityDefinition)
insertion_point
string
Enum: "cookie" "parameter" "arbitrary_url_param" "header" "url_folder" "url_filename" "json_parameter" "request_body" "multipart_parameter" "graphql_parameter" "non_standard_parameter" ""

Insertion point of the parameter:

  • cookie - Cookie
  • parameter - Parameter
  • arbitrary_url_param - Parameter
  • header - Header
  • url_folder - URL Path
  • url_filename - URL Path
  • json_parameter - JSON Parameter
  • request_body - Request Body
  • multipart_parameter - Multipart Parameter
  • graphql_parameter - GraphQL Parameter
  • non_standard_parameter - Non Standard Parameter
parameter
string <= 1024 characters

Name of the inserted parameter.
The maximum length is 1024 characters.

required
object (SimpleUser)
state
string
Enum: "notfixed" "invalid" "accepted" "fixed"

State of the vulnerability finding:
(Read more about the meaning of vulnerability findings states)

  • notfixed - Not Fixed
  • invalid - Invalid
  • accepted - Accepted
  • fixed - Fixed
severity
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Severity of the vulnerability finding:

  • 10 - low
  • 20 - medium
  • 30 - high
last_found
string <date-time>

Date and time of when the vulnerability was last found, in ISO 8601 UTC format. For example, "2023-08-09T13:27:43.8208302"

new
required
boolean

If true, this is a newly found vulnerability. If false, this vulnerability has been found in previous scans.

comment
string or null

Comment on the object.

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "labels": [
    ],
  • "definition": {
    },
  • "insertion_point": "cookie",
  • "parameter": "string",
  • "assignee": {},
  • "state": "notfixed",
  • "severity": 10,
  • "last_found": "2019-08-24T14:15:22Z",
  • "new": true,
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

Navigation and Login Sequences

During target scans, websites and web applications can have complex areas that make it difficult for any crawler to reach. For example, a multi-step form, where the second step depends directly on a specific input from the first step.

Probely provides a way of recording sequences of actions to be replayed by the crawler during target scans and, in this way, reach URLs within those complex areas.

To record sequences, install the Probely Recorder plugin in your Chrome or Firefox browser and then use it to record every action taken to pass a complex area. For more information, read these articles:

Once recorded, create the sequence as a Login Sequence or Navigation Sequence. Learn how it is done in the Probely app:

Functionality

The endpoints under Navigation and Login Sequences provide the following functionality:

  • Create and manage navigation and login sequences.
  • Re-order navigation sequences.

Important Notes

Some relevant information when using Navigation and Login Sequences:

  • Sequences are recorded in JSON format.
  • After recording a sequence, review and remove unnecessary steps in the JSON, such as extra clicks or mouse hoverings. The crawler will perform faster when replaying the steps.

Further functionality related to Navigation and Login Sequences is provided in the following tags:

  • Targets - Enable and disable login sequences in targets.

List Sequences

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
enabled
boolean
length
integer

Number of results to return per page.

name
string
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

type
string
Enum: "login" "navigation"
  • login - Login
  • navigation - Navigation

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Sequence

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
name
required
string or null <= 255 characters
requires_authentication
boolean
type
string
Enum: "login" "navigation"
  • login - Login
  • navigation - Navigation
enabled
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true,
  • "index": 0
}

Retrieve Sequence

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true,
  • "index": 0
}

Update Sequence

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
name
required
string or null <= 255 characters
requires_authentication
boolean
type
string
Enum: "login" "navigation"
  • login - Login
  • navigation - Navigation
enabled
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true,
  • "index": 0
}

Partial Update Sequence

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
name
string or null <= 255 characters
requires_authentication
boolean
type
string
Enum: "login" "navigation"
  • login - Login
  • navigation - Navigation
enabled
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true,
  • "index": 0
}

Delete Sequence

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Re-order Sequences

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
name
required
string or null <= 255 characters
requires_authentication
boolean
type
string
Enum: "login" "navigation"
  • login - Login
  • navigation - Navigation
enabled
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "requires_authentication": true,
  • "type": "login",
  • "enabled": true,
  • "index": 0
}

Reduced Scopes

Reduced scope scan parameters.

List Reduced Scopes

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
enabled
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Reduced Scope

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
url
required
string <= 2048 characters

URL to scan. The maximum length is 2048 characters.

enabled
boolean

Responses

Request samples

Content type
{
  • "url": "string",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "url": "string",
  • "enabled": true
}

Retrieve Reduced Scope

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "url": "string",
  • "enabled": true
}

Update Reduced Scope

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
url
required
string <= 2048 characters

URL to scan. The maximum length is 2048 characters.

enabled
boolean

Responses

Request samples

Content type
{
  • "url": "string",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "url": "string",
  • "enabled": true
}

Partial Update Reduced Scope

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
url
string <= 2048 characters

URL to scan. The maximum length is 2048 characters.

enabled
boolean

Responses

Request samples

Content type
{
  • "url": "string",
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "url": "string",
  • "enabled": true
}

Delete Reduced Scope

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Reports

Scan reports.

Select findings to be included in a report

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (UniqueFinding)

Responses

Request samples

Content type
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "token": "<token>"
}

Fetch a report for selected findings

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

List Stored Reports

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Stored Reports

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the stored report.

date_time
string or null <date-time>

Date and time when the next report will be generated.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Report generation recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for saved report timestamp.

on_day_of_week
boolean

Schedule report to be generated on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to generate report on - monday to sunday (with on_day_of_week enabled).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to generate report on (with on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
required
object (ReportFilters)
report_type
string
Default: "default"
report_fileformat
string
Default: "pdf"

Responses

Request samples

Content type
{
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "enabled": true
}

Retrieve Stored Reports

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "enabled": true
}

Update Stored Reports

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the stored report.

date_time
string or null <date-time>

Date and time when the next report will be generated.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Report generation recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for saved report timestamp.

on_day_of_week
boolean

Schedule report to be generated on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to generate report on - monday to sunday (with on_day_of_week enabled).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to generate report on (with on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
required
object (ReportFilters)
report_type
string
Default: "default"
report_fileformat
string
Default: "pdf"

Responses

Request samples

Content type
{
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "enabled": true
}

Partial Update to Stored Reports

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the stored report.

date_time
string or null <date-time>

Date and time when the next report will be generated.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Report generation recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for saved report timestamp.

on_day_of_week
boolean

Schedule report to be generated on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to generate report on - monday to sunday (with on_day_of_week enabled).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to generate report on (with on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
object (ReportFilters)
report_type
string
Default: "default"
report_fileformat
string
Default: "pdf"

Responses

Request samples

Content type
{
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "enabled": true
}

Delete Stored Reports

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Generate Stored Reports

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Preview Stored Reports

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the stored report.

date_time
string or null <date-time>

Date and time when the next report will be generated.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Report generation recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for saved report timestamp.

on_day_of_week
boolean

Schedule report to be generated on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to generate report on - monday to sunday (with on_day_of_week enabled).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to generate report on (with on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
required
object (ReportFilters)
report_type
string
Default: "default"
report_fileformat
string
Default: "pdf"

Responses

Request samples

Content type
{
  • "name": "string",
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "filters": {
    },
  • "report_type": "default",
  • "report_fileformat": "pdf"
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add Target's Findings to Report

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
required
Array of objects (UniqueFinding)

Responses

Request samples

Content type
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "token": "<token>"
}

Fetch a report for selected findings

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Get Assessment Report

Authorizations:
JWT Authentication
path Parameters
id
required
string
target_id
required
string
query Parameters
report_type
string
Enum: "default" "executive_summary" "hipaa" "iso27001" "owasp" "pci"

Responses

Response samples

Content type
application/json
{
  • "error": "Invalid JWT."
}

Roles & Permissions

User roles and permissions define which actions are allowed.

The access to the main features of Probely is ruled by permissions. For instance, in order to add a target, the user needs to have the permission Create Target.

You can group permissions using roles. For instance, the built-in role Developer can view targets, change target settings, change findings, and start scans, but cannot add targets.

You can then map roles to users by creating user roles at different levels:

  • Account: To apply a role to all targets of the account, i.e., the role is set at an account level or global scope.

  • Target: If you want to grant a user access to a single target.

  • Team: If you want to grant a user access to a group of targets associated with a team.

You can also combine the different levels of roles. You can have a user that has, for instance, the role Developer at an account level and a role Admin on a specific target.

Depending on your subscribed plan, you will have access to different roles:

  • Lite: Admin and Owner roles only.

  • Pro: Built-in roles (Admin, Auditor, Billing, Developer, Owner, SecOps).

  • Enterprise: Built-in roles, and custom roles with different permission combinations.

Owner is special role that can be assigned to a single user with additional anti account lockout measures.

List Permissions

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

List Roles

Authorizations:
JWT Authentication
query Parameters
object
custom
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Role

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Role's name.

Array of objects (HighLevelPermission)
description
string or null

Short description.

Responses

Request samples

Content type
{
  • "name": "string",
  • "permissions": [
    ],
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "custom": true,
  • "description": "string"
}

Retrieve Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "custom": true,
  • "description": "string"
}

Update Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Role's name.

Array of objects (HighLevelPermission)
description
string or null

Short description.

Responses

Request samples

Content type
{
  • "name": "string",
  • "permissions": [
    ],
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "custom": true,
  • "description": "string"
}

Partial Update Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Role's name.

Array of objects (HighLevelPermission)
description
string or null

Short description.

Responses

Request samples

Content type
{
  • "name": "string",
  • "permissions": [
    ],
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "custom": true,
  • "description": "string"
}

Delete Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Scan Profiles

A scan profile is associated with a target and determines how Probely scans that target.

There is a set of built-in scan profiles provided by Probely that already address the most common types of scans. However, it is also possible to create custom scan profiles to adjust and fine-tune scans for specific needs.

Functionality

The endpoints under Scan Profiles provide the following functionality:

  • List and retrieve scan profiles (built-in and custom).
  • Create and change custom scan profiles.

Important Notes

Some relevant information when using Scan Profiles:

  • Only custom scan profiles can be created or changed.
  • If a custom scan profile is no longer in use, mark it as inactive.

Further functionality related to Scan Profiles is provided in the following tags:

  • Targets - Associate scan profiles to targets.

List Scan Profiles

Authorizations:
JWT Authentication
query Parameters
archived
boolean

If true, the scan profile is no longer in use.
If false, the scan profile can be used.

builtin
boolean

If true, it is a built-in scan profile, which cannot be changed.
If false, it is a custom scan profile.

length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

type
string
Enum: "api" "web"

Target type:

  • web - Scan a Web application, including Single Page Applications (SPA) that rely on one or more APIs.
  • api - Scan a standalone API defined by an OpenAPI / Swagger schema, or by a Postman Collection.
verified
boolean

If true, the scan profile only allows targets with verified domains.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Custom Scan Profile

Authorizations:
JWT Authentication
Request Body schema:
id
required
string

Identifier of the custom scan profile.
It must start with "sp-".

name
string <= 255 characters

Name of the scan profile.
The maximum length is 255 characters.

description
string or null

Description of the scan profile.

archived
boolean

If true, the scan profile is no longer in use.
If false, the scan profile can be used.

type
required
string
Enum: "web" "api"

Target type:

  • web - Scan a Web application, including Single Page Applications (SPA) that rely on one or more APIs.
  • api - Scan a standalone API defined by an OpenAPI schema, or by a Postman Collection.
speed
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan speed:
(Defaults to 20)

  • 10 - Slow - Does roughly half the number of parallel requests of the Normal speed.
  • 20 - Normal - Offers a good balance between scan duration and the number of requests performed at the same time to the target.
  • 30 - Fast - Does roughly twice the number of parallel requests of the Normal speed.
payloads
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan payloads:
(Defaults to 20)

  • 10 - Light - Uses slightly less payloads than Normal, reducing scan time while still detecting the most common situations.
  • 20 - Normal - Uses a set of payloads that maximizes detection without increasing the scan time excessively, delivering a good compromise.
  • 30 - Thorough - Includes a more extensive set of payloads to detect very uncommon situations. Scan time increases significantly.
required
Array of objects (SimpleVulnerabilityDefinition)

Vulnerabilities for the scanner to verify.

methods
string
Enum: "all" "safe" ""

Scan methods:
(Defaults to all)

  • all - All methods - Allow any HTTP method to be used during the scan.
  • safe - Only safe methods - Ideal set for production targets, allowing only the following HTTP methods: GET, HEAD, OPTIONS, TRACE, and CONNECT.
delay
integer or null [ 0 .. 5000 ]

Time delay in milliseconds between requests for each scanning thread.
It is an approximate value and is more accurate for slower scan speed settings.
If not defined, there is no delay between requests.
The maximum delay is 5000ms.

(integer or null) or (string or null)

The maximum time the scan is allowed to run.
For example, "750s", "25m", "2h", or "1d".
Suffix the value with "s" for seconds, "m" for minutes, "h" for hours, and "d" for days.
If the units are not specified the value is considered to be in seconds.

dedup_enabled
boolean

If true, the scan deduplicates pages with the same SimHash to scan only a few of them.
If false, the scan does not deduplicate pages, which can increase the scan duration significantly.
Defaults to true.

auto_patterns_enabled
boolean

If true, the scan detects URL patterns to identify similar pages to scan only a few of them.
If false, the scan does not detect patterns, which can increase the scan duration significantly. Defaults to true.

max_urls
integer [ 1 .. 50000 ]

Maximum number of URLs the crawler can visit.
The value must be between 1 and 50000.
Defaults to 5000, which is a good compromise between coverage and scan time.

Responses

Request samples

Content type
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "can_scan_unverified": true,
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1,
  • "builtin": true
}

Retrieve Scan Profile

Authorizations:
JWT Authentication
path Parameters
id
required
string

Identifier of the scan profile.
Custom scan profiles are always prefixed by "sp-". The maximum length is 256 characters.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "can_scan_unverified": true,
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1,
  • "builtin": true
}

Update Custom Scan Profile

Authorizations:
JWT Authentication
path Parameters
id
required
string

Identifier of the scan profile.
Custom scan profiles are always prefixed by "sp-". The maximum length is 256 characters.

Request Body schema:
name
string <= 255 characters

Name of the scan profile.
The maximum length is 255 characters.

description
string or null

Description of the scan profile.

archived
boolean

If true, the scan profile is no longer in use.
If false, the scan profile can be used.

type
required
string
Enum: "web" "api"

Target type:

  • web - Scan a Web application, including Single Page Applications (SPA) that rely on one or more APIs.
  • api - Scan a standalone API defined by an OpenAPI schema, or by a Postman Collection.
speed
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan speed:
(Defaults to 20)

  • 10 - Slow - Does roughly half the number of parallel requests of the Normal speed.
  • 20 - Normal - Offers a good balance between scan duration and the number of requests performed at the same time to the target.
  • 30 - Fast - Does roughly twice the number of parallel requests of the Normal speed.
payloads
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan payloads:
(Defaults to 20)

  • 10 - Light - Uses slightly less payloads than Normal, reducing scan time while still detecting the most common situations.
  • 20 - Normal - Uses a set of payloads that maximizes detection without increasing the scan time excessively, delivering a good compromise.
  • 30 - Thorough - Includes a more extensive set of payloads to detect very uncommon situations. Scan time increases significantly.
required
Array of objects (SimpleVulnerabilityDefinition)

Vulnerabilities for the scanner to verify.

methods
string
Enum: "all" "safe" ""

Scan methods:
(Defaults to all)

  • all - All methods - Allow any HTTP method to be used during the scan.
  • safe - Only safe methods - Ideal set for production targets, allowing only the following HTTP methods: GET, HEAD, OPTIONS, TRACE, and CONNECT.
delay
integer or null [ 0 .. 5000 ]

Time delay in milliseconds between requests for each scanning thread.
It is an approximate value and is more accurate for slower scan speed settings.
If not defined, there is no delay between requests.
The maximum delay is 5000ms.

(integer or null) or (string or null)

The maximum time the scan is allowed to run.
For example, "750s", "25m", "2h", or "1d".
Suffix the value with "s" for seconds, "m" for minutes, "h" for hours, and "d" for days.
If the units are not specified the value is considered to be in seconds.

dedup_enabled
boolean

If true, the scan deduplicates pages with the same SimHash to scan only a few of them.
If false, the scan does not deduplicate pages, which can increase the scan duration significantly.
Defaults to true.

auto_patterns_enabled
boolean

If true, the scan detects URL patterns to identify similar pages to scan only a few of them.
If false, the scan does not detect patterns, which can increase the scan duration significantly. Defaults to true.

max_urls
integer [ 1 .. 50000 ]

Maximum number of URLs the crawler can visit.
The value must be between 1 and 50000.
Defaults to 5000, which is a good compromise between coverage and scan time.

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "can_scan_unverified": true,
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1,
  • "builtin": true
}

Parcial Update Custom Scan Profile

Authorizations:
JWT Authentication
path Parameters
id
required
string

Identifier of the scan profile.
Custom scan profiles are always prefixed by "sp-". The maximum length is 256 characters.

Request Body schema:
name
string <= 255 characters

Name of the scan profile.
The maximum length is 255 characters.

description
string or null

Description of the scan profile.

archived
boolean

If true, the scan profile is no longer in use.
If false, the scan profile can be used.

type
string
Enum: "web" "api"

Target type:

  • web - Scan a Web application, including Single Page Applications (SPA) that rely on one or more APIs.
  • api - Scan a standalone API defined by an OpenAPI schema, or by a Postman Collection.
speed
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan speed:
(Defaults to 20)

  • 10 - Slow - Does roughly half the number of parallel requests of the Normal speed.
  • 20 - Normal - Offers a good balance between scan duration and the number of requests performed at the same time to the target.
  • 30 - Fast - Does roughly twice the number of parallel requests of the Normal speed.
payloads
integer [ -2147483648 .. 2147483647 ]
Enum: 10 20 30

Scan payloads:
(Defaults to 20)

  • 10 - Light - Uses slightly less payloads than Normal, reducing scan time while still detecting the most common situations.
  • 20 - Normal - Uses a set of payloads that maximizes detection without increasing the scan time excessively, delivering a good compromise.
  • 30 - Thorough - Includes a more extensive set of payloads to detect very uncommon situations. Scan time increases significantly.
Array of objects (SimpleVulnerabilityDefinition)

Vulnerabilities for the scanner to verify.

methods
string
Enum: "all" "safe" ""

Scan methods:
(Defaults to all)

  • all - All methods - Allow any HTTP method to be used during the scan.
  • safe - Only safe methods - Ideal set for production targets, allowing only the following HTTP methods: GET, HEAD, OPTIONS, TRACE, and CONNECT.
delay
integer or null [ 0 .. 5000 ]

Time delay in milliseconds between requests for each scanning thread.
It is an approximate value and is more accurate for slower scan speed settings.
If not defined, there is no delay between requests.
The maximum delay is 5000ms.

(integer or null) or (string or null)

The maximum time the scan is allowed to run.
For example, "750s", "25m", "2h", or "1d".
Suffix the value with "s" for seconds, "m" for minutes, "h" for hours, and "d" for days.
If the units are not specified the value is considered to be in seconds.

dedup_enabled
boolean

If true, the scan deduplicates pages with the same SimHash to scan only a few of them.
If false, the scan does not deduplicate pages, which can increase the scan duration significantly.
Defaults to true.

auto_patterns_enabled
boolean

If true, the scan detects URL patterns to identify similar pages to scan only a few of them.
If false, the scan does not detect patterns, which can increase the scan duration significantly. Defaults to true.

max_urls
integer [ 1 .. 50000 ]

Maximum number of URLs the crawler can visit.
The value must be between 1 and 50000.
Defaults to 5000, which is a good compromise between coverage and scan time.

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "archived": true,
  • "type": "web",
  • "speed": 10,
  • "payloads": 10,
  • "vulnerabilities": [
    ],
  • "methods": "all",
  • "can_scan_unverified": true,
  • "delay": 5000,
  • "max_run_time": 0,
  • "dedup_enabled": true,
  • "auto_patterns_enabled": true,
  • "max_urls": 1,
  • "builtin": true
}

Scanning Agents

Scanning agents allow create secure tunnels into your infrastructure allowing scans to run against internal targets.

List Scanning Agents

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

scopes_logical_operator
string
Enum: "and" "or"

Logical operator to apply between agent scopes.

  • and - and
  • or - or
search
string

A search term.

team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Scanning Agent

Authorizations:
JWT Authentication
Request Body schema:

Responses

Request samples

Content type
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "installer_generated": true,
  • "online": true,
  • "fallback": true,
  • "rx_bytes": 0,
  • "tx_bytes": 0,
  • "latest_handshake": 0
}

Get Configuration File

path Parameters
hek
required
string

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "content": "string"
}

Retrieve Scanning Agent

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this scanning agent.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "installer_generated": true,
  • "online": true,
  • "fallback": true,
  • "rx_bytes": 0,
  • "tx_bytes": 0,
  • "latest_handshake": 0
}

Update Scanning Agent

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this scanning agent.

Request Body schema:

Responses

Request samples

Content type
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "installer_generated": true,
  • "online": true,
  • "fallback": true,
  • "rx_bytes": 0,
  • "tx_bytes": 0,
  • "latest_handshake": 0
}

Partial Update Scanning Agent

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this scanning agent.

Request Body schema:
name
string <= 255 characters
Array of objects or null or null

Responses

Request samples

Content type
{
  • "name": "string",
  • "teams": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "installer_generated": true,
  • "online": true,
  • "fallback": true,
  • "rx_bytes": 0,
  • "tx_bytes": 0,
  • "latest_handshake": 0
}

Delete Scanning Agent

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this scanning agent.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Create Token

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique value identifying this scanning agent.

Request Body schema:

Responses

Request samples

Content type
{ }

Response samples

Content type
application/json
{
  • "token": "<TOKEN>"
}

Scans

Start and manage scans against the target. You can also produce reports and access the list of scanned endpoints.

List Account's Scans

Authorizations:
JWT Authentication
query Parameters
completed__gt
string <date-time>
completed__gte
string <date-time>
completed__lt
string <date-time>
completed__lte
string <date-time>
label
Array of strings

A unique Base58 value identifying this object.

length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

partial
boolean
search
string

A search term.

started__gt
string <date-time>
started__gte
string <date-time>
started__lt
string <date-time>
started__lte
string <date-time>
started_max
string or null <date-time>

Date and time of when the scan started.

started_min
string or null <date-time>

Date and time of when the scan started.

status
Array of strings
Items Enum: "canceled" "canceling" "completed" "completed_with_errors" "failed" "finishing_up" "paused" "pausing" "queued" "resuming" "started" "under_review"

Status of the scan:

  • canceled - Canceled
  • canceling - Canceling
  • completed - Completed
  • completed_with_errors - Completed with errors
  • failed - Failed
  • paused - Paused
  • pausing - Pausing
  • queued - Queued
  • resuming - Resuming
  • started - Started
  • under_review - Under Review
  • finishing_up - Finishing up
team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Bulk Cancel Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (ScanIdSchema)

Responses

Request samples

Content type
{
  • "scans": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Pause Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (ScanIdSchema)

Responses

Request samples

Content type
{
  • "scans": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Resume Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (ScanIdSchema)
object (ResumeOptions)

Responses

Request samples

Content type
{
  • "scans": [
    ],
  • "overrides": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Start Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (ScanIdSchema)
object (ScanOptions)

Responses

Request samples

Content type
{
  • "targets": [
    ],
  • "overrides": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

List Target's Scans

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

page
integer

A page number within the paginated result set.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Cancel Target's Current Scan

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "stack": [
    ],
  • "has_sequence_navigation": true,
  • "user_data": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

Pause Target's Current Scan

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "stack": [
    ],
  • "has_sequence_navigation": true,
  • "user_data": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

Resume Target's Current Scan

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "stack": [
    ],
  • "has_sequence_navigation": true,
  • "user_data": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

List Current Scans

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
completed__gt
string <date-time>
completed__gte
string <date-time>
completed__lt
string <date-time>
completed__lte
string <date-time>
label
Array of strings

A unique Base58 value identifying this object.

length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

partial
boolean
search
string

A search term.

started__gt
string <date-time>
started__gte
string <date-time>
started__lt
string <date-time>
started__lte
string <date-time>
started_max
string or null <date-time>

Date and time of when the scan started.

started_min
string or null <date-time>

Date and time of when the scan started.

status
Array of strings
Items Enum: "canceled" "canceling" "completed" "completed_with_errors" "failed" "finishing_up" "paused" "pausing" "queued" "resuming" "started" "under_review"

Status of the scan:

  • canceled - Canceled
  • canceling - Canceling
  • completed - Completed
  • completed_with_errors - Completed with errors
  • failed - Failed
  • paused - Paused
  • pausing - Pausing
  • queued - Queued
  • resuming - Resuming
  • started - Started
  • under_review - Under Review
  • finishing_up - Finishing up
team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Update Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Partial Update Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Cancel Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Export Scanned Endpoints

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/csv
request_method,url,status_code,result,reason,info

Pause Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Resume Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
Array of objects or null

Technologies found in the scan. The scanning engine uses them to fine-tune vulnerability tests and texts about how to fix the vulnerabilities.

has_sequence_navigation
boolean
user_data
string

Store scan metadata.

Responses

Request samples

Content type
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

List Scan Dates Deprecated

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "MyThjkIs2Wca",
  • "target": {
    },
  • "status": "completed",
  • "started": "2024-01-25T01:05:08.102608Z",
  • "completed": "2024-01-25T01:07:34.570500Z",
  • "scan_profile": {
    },
  • "lows": 5,
  • "mediums": 1,
  • "highs": 0,
  • "created": "2024-01-25T01:05:05.894103Z",
  • "unlimited": true,
  • "changed": "2024-01-25T01:07:45.896140Z",
  • "changed_by": {},
  • "stack": [ ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {},
  • "has_sequence_navigation": false,
  • "incremental": false,
  • "reduced_scope": true,
  • "crawl_sequences_only": false,
  • "ignore_blackout_period": false,
  • "user_data": null
}

Retrieve Page Number for Scan Date Deprecated

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "page": 6
}

Scheduled Scans

You can schedule scans for the future as a one off, or on a recurring basis.

List Account's Scheduled Scans

Authorizations:
JWT Authentication
query Parameters
label
Array of strings

A unique Base58 value identifying this object.

length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Bulk Create Scheduled Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (BulkScheduledScanScopeTargetSchema)
required
object (ScheduledScan)

Serializer for scheduled/recurrent scans

Responses

Request samples

Content type
{
  • "targets": [
    ],
  • "scheduledscan": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Update Scheduled Scans

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (BulkScheduledScanScopeTargetSchema)
required
object (ScheduledScan)

Serializer for scheduled/recurrent scans

Responses

Request samples

Content type
{
  • "scheduledscans": [
    ],
  • "scheduledscan": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Update Scheduled Scans

Authorizations:
JWT Authentication
Request Body schema:
Array of objects (BulkScheduledScanScopeTargetSchema)
object (ScheduledScan)

Serializer for scheduled/recurrent scans

Responses

Request samples

Content type
{
  • "scheduledscans": [
    ],
  • "scheduledscan": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Bulk Delete Scheduled Scans

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "scheduledscans": [
    ]
}

List Target's Scheduled Scans

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Target's Scheduled Scan

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
date_time
required
string <date-time>

Date and time of next scan scheduled.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Scheduled scan recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for scheduled scan timestamp.

run_on_day_of_week
boolean

Schedule scan to run on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to run scan on - monday to sunday (for run on day of week option).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to run scan on (with run_on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
partial_scan
boolean

Future scans set as partial scans, use in conjunction with incremental and reduced_scope.

override_target_settings
boolean

Override scan target's scan settings, use in conjunction with override_target_settings.

incremental
boolean

Future scans set to incremental, use in conjunction with partial_scan and override_target_settings.

reduced_scope
boolean

Future scans set as reduced scope, use in conjunction with partial_scan and override_target_settings.

scan_profile
string or null
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile to use.
Use the endpoint List Scan Profiles to get all the available scan profiles.
If no scan profile is specified, the scan profile will be the one specified in the target settings.

Responses

Request samples

Content type
{
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "blackout_period": {
    },
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning",
  • "unlimited": "string"
}

Retrieve Target's Scheduled Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "blackout_period": {
    },
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning",
  • "unlimited": "string"
}

Update Target's Scheduled Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
date_time
required
string <date-time>

Date and time of next scan scheduled.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Scheduled scan recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for scheduled scan timestamp.

run_on_day_of_week
boolean

Schedule scan to run on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to run scan on - monday to sunday (for run on day of week option).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to run scan on (with run_on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
partial_scan
boolean

Future scans set as partial scans, use in conjunction with incremental and reduced_scope.

override_target_settings
boolean

Override scan target's scan settings, use in conjunction with override_target_settings.

incremental
boolean

Future scans set to incremental, use in conjunction with partial_scan and override_target_settings.

reduced_scope
boolean

Future scans set as reduced scope, use in conjunction with partial_scan and override_target_settings.

scan_profile
string or null
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile to use.
Use the endpoint List Scan Profiles to get all the available scan profiles.
If no scan profile is specified, the scan profile will be the one specified in the target settings.

Responses

Request samples

Content type
{
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "blackout_period": {
    },
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning",
  • "unlimited": "string"
}

Partial Update Target's Scheduled Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
date_time
string <date-time>

Date and time of next scan scheduled.

recurrence
string
Enum: "h" "d" "w" "m" "q" ""

Scheduled scan recurrence.

  • h - Hourly
  • d - Daily
  • w - Weekly
  • m - Monthly
  • q - Quarterly
timezone
string <= 64 characters

Timezone to use for scheduled scan timestamp.

run_on_day_of_week
boolean

Schedule scan to run on specific monthly day of week (for monthly/quarterly recurrence).

scheduled_day_of_week
integer or null [ -2147483648 .. 2147483647 ]
Enum: 1 2 3 4 5 6 7 null

Day of week to run scan on - monday to sunday (for run on day of week option).

  • 1 - Monday
  • 2 - Tuesday
  • 3 - Wednesday
  • 4 - Thursday
  • 5 - Friday
  • 6 - Saturday
  • 7 - Sunday
week_index
string or null
Enum: "first" "second" "third" "fourth" "last" "" null

Which week of the month to run scan on (with run_on_day_of_week enabled).

  • first - First
  • second - Second
  • third - Third
  • fourth - Fourth
  • last - Last
partial_scan
boolean

Future scans set as partial scans, use in conjunction with incremental and reduced_scope.

override_target_settings
boolean

Override scan target's scan settings, use in conjunction with override_target_settings.

incremental
boolean

Future scans set to incremental, use in conjunction with partial_scan and override_target_settings.

reduced_scope
boolean

Future scans set as reduced scope, use in conjunction with partial_scan and override_target_settings.

scan_profile
string or null
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile to use.
Use the endpoint List Scan Profiles to get all the available scan profiles.
If no scan profile is specified, the scan profile will be the one specified in the target settings.

Responses

Request samples

Content type
{
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "date_time": "2019-08-24T14:15:22Z",
  • "recurrence": "h",
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "blackout_period": {
    },
  • "timezone": "string",
  • "run_on_day_of_week": true,
  • "scheduled_day_of_week": 1,
  • "week_index": "first",
  • "partial_scan": true,
  • "override_target_settings": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "scan_profile": "lightning",
  • "unlimited": "string"
}

Delete Target's Scheduled Scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

List Target's Scheduled Scans (Expanded)

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Slack Integration

Receive slack notifications on Probely events.

Retrieve Slack Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "webhook_url": "string",
  • "notify_scan_started": true,
  • "notify_scan_completed": true,
  • "notify_high_findings": true,
  • "notify_medium_findings": true,
  • "notify_low_findings": true,
  • "notify_finding_fixed": true,
  • "notify_login_failed": false,
  • "notify_retest_completed": true
}

Update Slack Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
webhook_url
string^https://hooks.slack.com/services/(?:.*)$
notify_scan_started
boolean
notify_scan_completed
boolean
notify_high_findings
boolean
notify_medium_findings
boolean
notify_low_findings
boolean
notify_finding_fixed
boolean
notify_login_failed
boolean
Default: false
notify_retest_completed
boolean

Responses

Request samples

Content type
{
  • "webhook_url": "string",
  • "notify_scan_started": true,
  • "notify_scan_completed": true,
  • "notify_high_findings": true,
  • "notify_medium_findings": true,
  • "notify_low_findings": true,
  • "notify_finding_fixed": true,
  • "notify_login_failed": false,
  • "notify_retest_completed": true
}

Response samples

Content type
application/json
{
  • "webhook_url": "string",
  • "notify_scan_started": true,
  • "notify_scan_completed": true,
  • "notify_high_findings": true,
  • "notify_medium_findings": true,
  • "notify_low_findings": true,
  • "notify_finding_fixed": true,
  • "notify_login_failed": false,
  • "notify_retest_completed": true
}

Partial Update Slack Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
webhook_url
string^https://hooks.slack.com/services/(?:.*)$
notify_scan_started
boolean
notify_scan_completed
boolean
notify_high_findings
boolean
notify_medium_findings
boolean
notify_low_findings
boolean
notify_finding_fixed
boolean
notify_login_failed
boolean
Default: false
notify_retest_completed
boolean

Responses

Request samples

Content type
{
  • "webhook_url": "string",
  • "notify_scan_started": true,
  • "notify_scan_completed": true,
  • "notify_high_findings": true,
  • "notify_medium_findings": true,
  • "notify_low_findings": true,
  • "notify_finding_fixed": true,
  • "notify_login_failed": false,
  • "notify_retest_completed": true
}

Response samples

Content type
application/json
{
  • "webhook_url": "string",
  • "notify_scan_started": true,
  • "notify_scan_completed": true,
  • "notify_high_findings": true,
  • "notify_medium_findings": true,
  • "notify_low_findings": true,
  • "notify_finding_fixed": true,
  • "notify_login_failed": false,
  • "notify_retest_completed": true
}

Delete Slack Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Target Labels

You can add labels to help you keep track of your targets.

List Target Labels

Authorizations:
JWT Authentication
query Parameters
assigned
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

team
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Target Label

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Retrieve Target Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Update Target Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Partial Update Target Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Delete Target Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Targets

In Probely, a target defines the scope and behavior of a scan on a website, an application, or an API.
Each target has a URL that defines the scope of the scan and also the configuration of the scan behavior as, for example:

  • The authentication mechanism for the scanner to be able to log in.
  • The scan profile defining how the scan is performed.
  • The integration with third-party systems, like Jira, to synchronize scan results.

Learn more about targets in this article: Targets from A to Z.

Functionality

The endpoints under Targets provide the following functionality:

  • Create and manage targets.
  • Update and delete targets in bulk.
  • Export and import targets.
  • Upload and download API schema files of API targets.
  • Check authentication in API targets.
  • Clear authentication configurations in targets.
  • Create and manage logout detectors in targets.

Further functionality related to Targets is provided in the following tags:

  • Target Scans Configuration
    • Assets - Manage extra hosts to extend the scope of target scans to more domains.
    • Scanning Agents - Manage scanning agents to extend the scope of target scans to internal applications.
    • Reduced Scope - Manage reduced scopes to run partial scans on a subset of the target.
    • Navigation and Login Sequences - Manage recorded sequences of browser interactions to replay in target scans.
    • Scan Profiles - Manage scan profiles to configure how target scans are performed.
  • Target Scans
  • Findings
    • Findings - Manage findings obtained from target scans.
  • Reports
    • Reports - Retrieve reports on findings from target scans.
    • Dashboards - Retrieve statistical information on target scans.
  • Integrations
  • Events
    • Events - Manage notifications of events on targets and target scans.
  • Target Management
    • Account - Manage targets with unlimited scans in the account.
    • Teams - Manage targets in teams.
    • Target Labels - Manage labels to apply to targets to facilitate target management.

List Targets

Authorizations:
JWT Authentication
query Parameters
enabled
boolean

If true, filter results by enabled targets. If false, filter results by disabled targets.

exclude_team
string

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
string

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
string

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
string

Type of target to filter results. Possible values are "single" for a web application and "api" for an API.

unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

If true, filter results by verified targets. If false, filter results by unverified targets.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Target

Authorizations:
JWT Authentication
query Parameters
skip_reachability_check
string

Probely's default behavior is to make a request to your target or host to check that it's reachable. To change this default add this parameter.

skip_redirect_check
string

When adding a target or host Probely will check that redirects are still in the scan's scope and prevents adding otherwise. This parameter allows to skip this check, take care that redirect limit isn't more than 6. If you need to override this behavior you'll need to use the 'skip_reachability_check' parameter.

Request Body schema:
required
object

Core settings of the target.
Includes basic target information (like the name, description, and URL) and scanning information (like the authentication and navigation sequences).

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile of the scan.
It can be one of the enumerated built-in scan profiles.
It can also be a custom scan profile, if the name starts with "sp-".

type
string

Type of target.
Possible values are "single" for a web application and "api" for an API.
Defaults to "single".

unlimited
boolean

If true, the target has unlimited scans.
If false, the target scans consume credits.
Learn more about unlimited scans vs scans with credits.

report_type
string
Enum: "default" "executive_summary" "owasp" "pci" "iso27001" "hipaa"

Type of scan report produced for the target:
(Defaults to default)

  • default - Standard
  • executive_summary - Executive Summary
  • owasp - OWASP Top 10
  • pci - PCI-DSS
  • iso27001 - ISO 27001
  • hipaa - HIPAA
report_fileformat
string
Enum: "pdf" "docx"

Report format for the target:
(Defaults to pdf)

  • pdf - PDF file format.
  • docx - DOCX file format.
Array of objects or null

Labels of the target.

object or null

Scanning agent of the target. Learn more on how to scan internal applications with a scanning agent.

include_deduplicated_endpoints
boolean or null

If true, scans include deduplicated endpoints.
If false or null, scans exclude deduplicated endpoints.
A deduplicated endpoint has the same simhash as another scanned endpoint.

object

Time window during which scans are temporarily interrupted.

fail_fast
boolean

If true, scans fail on recoverable errors.
If false, scans continue on recoverable errors.
Defaults to true.

incremental
boolean

If true, on-demand scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

reduced_scope
boolean

If true, on-demand scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

schedule_incremental
boolean

If true, scheduled scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

schedule_reduced_scope
boolean

If true, scheduled scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

crawl_sequences_only
boolean

If true, on-demand scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

schedule_crawl_sequences_only
boolean

If true, scheduled scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

Responses

Request samples

Content type
{
  • "site": {
    },
  • "scan_profile": "lightning",
  • "type": "string",
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "labels": [
    ],
  • "scanning_agent": { },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Retrieve Target

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Update Target

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
required
object

Core settings of the target.
Includes basic target information (like the name, description, and URL) and scanning information (like the authentication and navigation sequences).

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile of the scan.
It can be one of the enumerated built-in scan profiles.
It can also be a custom scan profile, if the name starts with "sp-".

type
string

Type of target.
Possible values are "single" for a web application and "api" for an API.
Defaults to "single".

unlimited
boolean

If true, the target has unlimited scans.
If false, the target scans consume credits.
Learn more about unlimited scans vs scans with credits.

report_type
string
Enum: "default" "executive_summary" "owasp" "pci" "iso27001" "hipaa"

Type of scan report produced for the target:
(Defaults to default)

  • default - Standard
  • executive_summary - Executive Summary
  • owasp - OWASP Top 10
  • pci - PCI-DSS
  • iso27001 - ISO 27001
  • hipaa - HIPAA
report_fileformat
string
Enum: "pdf" "docx"

Report format for the target:
(Defaults to pdf)

  • pdf - PDF file format.
  • docx - DOCX file format.
Array of objects or null

Labels of the target.

object or null

Scanning agent of the target. Learn more on how to scan internal applications with a scanning agent.

include_deduplicated_endpoints
boolean or null

If true, scans include deduplicated endpoints.
If false or null, scans exclude deduplicated endpoints.
A deduplicated endpoint has the same simhash as another scanned endpoint.

object

Time window during which scans are temporarily interrupted.

fail_fast
boolean

If true, scans fail on recoverable errors.
If false, scans continue on recoverable errors.
Defaults to true.

incremental
boolean

If true, on-demand scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

reduced_scope
boolean

If true, on-demand scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

schedule_incremental
boolean

If true, scheduled scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

schedule_reduced_scope
boolean

If true, scheduled scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

crawl_sequences_only
boolean

If true, on-demand scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

schedule_crawl_sequences_only
boolean

If true, scheduled scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

Responses

Request samples

Content type
{
  • "site": {
    },
  • "scan_profile": "lightning",
  • "type": "string",
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "labels": [
    ],
  • "scanning_agent": { },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Partial Update Target

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
object

Core settings of the target.
Includes basic target information (like the name, description, and URL) and scanning information (like the authentication and navigation sequences).

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile of the scan.
It can be one of the enumerated built-in scan profiles.
It can also be a custom scan profile, if the name starts with "sp-".

type
string

Type of target.
Possible values are "single" for a web application and "api" for an API.
Defaults to "single".

unlimited
boolean

If true, the target has unlimited scans.
If false, the target scans consume credits.
Learn more about unlimited scans vs scans with credits.

report_type
string
Enum: "default" "executive_summary" "owasp" "pci" "iso27001" "hipaa"

Type of scan report produced for the target:
(Defaults to default)

  • default - Standard
  • executive_summary - Executive Summary
  • owasp - OWASP Top 10
  • pci - PCI-DSS
  • iso27001 - ISO 27001
  • hipaa - HIPAA
report_fileformat
string
Enum: "pdf" "docx"

Report format for the target:
(Defaults to pdf)

  • pdf - PDF file format.
  • docx - DOCX file format.
Array of objects or null

Labels of the target.

object or null

Scanning agent of the target. Learn more on how to scan internal applications with a scanning agent.

include_deduplicated_endpoints
boolean or null

If true, scans include deduplicated endpoints.
If false or null, scans exclude deduplicated endpoints.
A deduplicated endpoint has the same simhash as another scanned endpoint.

object

Time window during which scans are temporarily interrupted.

fail_fast
boolean

If true, scans fail on recoverable errors.
If false, scans continue on recoverable errors.
Defaults to true.

incremental
boolean

If true, on-demand scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

reduced_scope
boolean

If true, on-demand scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

schedule_incremental
boolean

If true, scheduled scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

schedule_reduced_scope
boolean

If true, scheduled scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

crawl_sequences_only
boolean

If true, on-demand scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

schedule_crawl_sequences_only
boolean

If true, scheduled scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

Responses

Request samples

Content type
{
  • "site": {
    },
  • "scan_profile": "lightning",
  • "type": "string",
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "labels": [
    ],
  • "scanning_agent": { },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Delete Target

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Clear API Authentication Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Clear Basic Authentication Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Test Log In to API

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
media_type
required
string
Enum: "application/json" "application/x-www-form-urlencoded"

Format of the payload:

  • application/json - The payload is in JSON format in the request body.
  • application/x-www-form-urlencoded - The payload is encoded in the request URL.
api_login_url
required
string <= 2048 characters

URL to make the authentication request to the API.
The maximum length is 2048 characters.

api_login_payload
required
string <= 4096 characters

Payload to send in the authentication request.
The maximum length is 4096 characters.

api_login_token_field
required
string <= 256 characters

Field containing the authentication token in the response to the authentication request.
The maximum length is 256 characters.

token_prefix
required
string <= 16 characters

Prefix to add to the authentication token.
For example, "Bearer" or "JWT".
The maximum length is 16 characters.

token_parameter_name
required
string <= 256 characters

Parameter name to send the authentication token.
For example, "Authorization".
The maximum length is 256 characters.

token_parameter_location
required
string
Enum: "cookie" "header"

Where to send the parameter name with the authentication token and the prefix:

  • cookie - Cookie
  • header - Header

Responses

Request samples

Content type
{
  • "media_type": "application/json",
  • "api_login_url": "string",
  • "api_login_payload": "string",
  • "api_login_token_field": "string",
  • "token_prefix": "string",
  • "token_parameter_name": "string",
  • "token_parameter_location": "cookie"
}

Response samples

Content type
application/json
[
  • "[\"user.username\", \"user.email\"]"
]

Download API Schema File

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
"string"

Clear Login Form Configuration.

Endpoint for interacting with Scopes (AKA Targets).

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Clear Logout Detection Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Clear 2FA Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Send OTP

path Parameters
id
required
string
otp_url_token
required
string
Request Body schema:
otp
required
string

Responses

Request samples

Content type
{
  • "otp": "string"
}

Response samples

Content type
application/json
{
  • "detail": "OK"
}

Reset OTP URL

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "detail": {
    }
}

Start a scan

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
ignore_blackout_period
boolean

If true, the scan ignores the blackout period defined in the target settings.

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile to use.
Use the endpoint List Scan Profiles to get all the available scan profiles.
If no scan profile is specified, the scan profile will be the one specified in the target settings.

Array of objects (ReducedScope)

Configuration to reduce the scope of the scan.

Responses

Request samples

Content type
{
  • "ignore_blackout_period": true,
  • "scan_profile": "lightning",
  • "reduced_scopes": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "target": {
    },
  • "status": "canceled",
  • "started": "2019-08-24T14:15:22Z",
  • "completed": "2019-08-24T14:15:22Z",
  • "scan_profile": "lightning",
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "created": "2019-08-24T14:15:22Z",
  • "unlimited": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "stack": [
    ],
  • "crawler": {
    },
  • "fingerprinter": {
    },
  • "scanner": {
    },
  • "target_options": {
    },
  • "has_sequence_navigation": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "crawl_sequences_only": true,
  • "ignore_blackout_period": true,
  • "user_data": "string"
}

Clear Login Sequence Configuration

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": "lightning",
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Upload API Schema File

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema: multipart/form-data
file
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

List Logout Detectors

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Logout Detector

Authorizations:
JWT Authentication
path Parameters
target_id
required
string

Identifier of the target.

Request Body schema:
type
string
Enum: "text" "url" "sel"

Type of element for the logout detection:

  • text - A string of text that exists after a logout.
  • url - A redirect to a URL that occurs after a logout.
  • sel - A CSS selector that exists after a logout.
value
required
string <= 2048 characters

The value of the element for the logout detection.
The maximum length is 2048 characters.

Responses

Request samples

Content type
{
  • "type": "text",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "text",
  • "value": "string"
}

Retrieve Logout Detector

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "text",
  • "value": "string"
}

Update Logout Detector

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
type
string
Enum: "text" "url" "sel"

Type of element for the logout detection:

  • text - A string of text that exists after a logout.
  • url - A redirect to a URL that occurs after a logout.
  • sel - A CSS selector that exists after a logout.
value
required
string <= 2048 characters

The value of the element for the logout detection.
The maximum length is 2048 characters.

Responses

Request samples

Content type
{
  • "type": "text",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "text",
  • "value": "string"
}

Partial Update Logout Detector

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Request Body schema:
type
string
Enum: "text" "url" "sel"

Type of element for the logout detection:

  • text - A string of text that exists after a logout.
  • url - A redirect to a URL that occurs after a logout.
  • sel - A CSS selector that exists after a logout.
value
string <= 2048 characters

The value of the element for the logout detection.
The maximum length is 2048 characters.

Responses

Request samples

Content type
{
  • "type": "text",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "text",
  • "value": "string"
}

Delete Logout Detector

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

target_id
required
string

Identifier of the target.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Bulk Delete Targets

Disable multiple Targets in one operation.

Authorizations:
JWT Authentication
Request Body schema:
ids
required
Array of strings

Responses

Request samples

Content type
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Bulk Update Targets

Update multiple Targets in one operation.

Authorizations:
JWT Authentication
Request Body schema:
required
object

Core settings of the target.
Includes basic target information (like the name, description, and URL) and scanning information (like the authentication and navigation sequences).

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile of the scan.
It can be one of the enumerated built-in scan profiles.
It can also be a custom scan profile, if the name starts with "sp-".

type
string

Type of target.
Possible values are "single" for a web application and "api" for an API.
Defaults to "single".

unlimited
boolean

If true, the target has unlimited scans.
If false, the target scans consume credits.
Learn more about unlimited scans vs scans with credits.

report_type
string
Enum: "default" "executive_summary" "owasp" "pci" "iso27001" "hipaa"

Type of scan report produced for the target:
(Defaults to default)

  • default - Standard
  • executive_summary - Executive Summary
  • owasp - OWASP Top 10
  • pci - PCI-DSS
  • iso27001 - ISO 27001
  • hipaa - HIPAA
report_fileformat
string
Enum: "pdf" "docx"

Report format for the target:
(Defaults to pdf)

  • pdf - PDF file format.
  • docx - DOCX file format.
Array of objects or null

Labels of the target.

object or null

Scanning agent of the target. Learn more on how to scan internal applications with a scanning agent.

include_deduplicated_endpoints
boolean or null

If true, scans include deduplicated endpoints.
If false or null, scans exclude deduplicated endpoints.
A deduplicated endpoint has the same simhash as another scanned endpoint.

object

Time window during which scans are temporarily interrupted.

fail_fast
boolean

If true, scans fail on recoverable errors.
If false, scans continue on recoverable errors.
Defaults to true.

incremental
boolean

If true, on-demand scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

reduced_scope
boolean

If true, on-demand scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

schedule_incremental
boolean

If true, scheduled scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

schedule_reduced_scope
boolean

If true, scheduled scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

crawl_sequences_only
boolean

If true, on-demand scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

schedule_crawl_sequences_only
boolean

If true, scheduled scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

Responses

Request samples

Content type
{
  • "site": {
    },
  • "scan_profile": "lightning",
  • "type": "string",
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "labels": [
    ],
  • "scanning_agent": { },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "site": {
    },
  • "lows": 0,
  • "mediums": 0,
  • "highs": 0,
  • "risk": 0,
  • "last_scan": {
    },
  • "running_scan": {
    },
  • "next_scan": {
    },
  • "assets": [
    ],
  • "scan_profile": {
    },
  • "type": "string",
  • "enabled": true,
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "allowed_scan_profiles": [
    ],
  • "labels": [
    ],
  • "scanning_agent": {
    },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "changed": "2019-08-24T14:15:22Z",
  • "changed_by": {},
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Export Targets

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Import Targets

The upload functionality allows the automatic creation of new targets from multiple file formats (.yaml, .csv, .json).

And one can optionally add scheduled scan data when uploading target data.

The following are the required internal data structures.

CSV data

The fields about scheduled scan data can be left empty if not necessary.

"name","url","scan_profile","scheduledscan_datetime","scheduledscan_recurrence","labels"
"My target","https://mytarget.url.com","Normal","2022-12-30T12:34:56.224739","m","['label1', 'label2']"
"My other target","https://www.mytargetsite2.com","Normal","","","['label3', 'label2']"

YAML data

- name: My target
    site:
        name: My target site
        desc: My target site description
        url: https://mytarget.url.com
        # optional site fields
        form_login_url: https://mytarget.url.com/login
        form_login_check_pattern: ""
        form_login: []
        headers: []
        cookies: []
        whitelist: []
    scan_profile: normal
    type: single
    # optional target fields
    report_type: default
    # optional scheduled_scan data
    scheduled_scan:
        date_time: "2022-12-30T12:34:56.224739"
        recurrence: "d"
        timezome: "Europe/Madrid"

JSON data

Data format with nested ScheduledScan data:

[
    {
        "name": "My target",
        "site": {
            "name": "My target site",
            "desc": "My target description",
            "url": "https://mytarget.url.com",
            # optional site fields
            "form_login_url": "https://mytarget.url.com/login,
            "form_login_check_pattern": "",
            "form_login": [],
            "headers": [],
            "cookies": [],
            "whitelist": []
        },
        "scan_profile": "Normal",
        // optional scheduled_scan data
        "scheduled_scan": {
            "date_time": "2022-12-30T12:34:56.224739",
            "recurrence": "d",
            "timezone": "Europe/Madrid"
        }
    }
]

Data format with flat ScheduledScan data:

[
    {
        "name": "My target",
        "site": {
            "name": "My target site",
            "desc": "My target description",
            "url": "https://mytarget.url.com"
            # optional site fields
            "form_login_url": "https://mytarget.url.com/login,
            "form_login_check_pattern": "",
            "form_login": [],
            "headers": [],
            "cookies": [],
            "whitelist": []
        },
        "scan_profile": "Normal",
        // optional scheduled_scan data
        "scheduledscan_datetime": "2022-12-30T12:34:56.224739",
        "scheduledscan_recurrence": "m"
    },
]
Authorizations:
JWT Authentication
Request Body schema:
required
object

Core settings of the target.
Includes basic target information (like the name, description, and URL) and scanning information (like the authentication and navigation sequences).

scan_profile
string
Enum: "lightning" "normal" "safe" "full" "api_normal" "api_full"

Scan profile of the scan.
It can be one of the enumerated built-in scan profiles.
It can also be a custom scan profile, if the name starts with "sp-".

type
string

Type of target.
Possible values are "single" for a web application and "api" for an API.
Defaults to "single".

unlimited
boolean

If true, the target has unlimited scans.
If false, the target scans consume credits.
Learn more about unlimited scans vs scans with credits.

report_type
string
Enum: "default" "executive_summary" "owasp" "pci" "iso27001" "hipaa"

Type of scan report produced for the target:
(Defaults to default)

  • default - Standard
  • executive_summary - Executive Summary
  • owasp - OWASP Top 10
  • pci - PCI-DSS
  • iso27001 - ISO 27001
  • hipaa - HIPAA
report_fileformat
string
Enum: "pdf" "docx"

Report format for the target:
(Defaults to pdf)

  • pdf - PDF file format.
  • docx - DOCX file format.
Array of objects or null

Labels of the target.

object or null

Scanning agent of the target. Learn more on how to scan internal applications with a scanning agent.

include_deduplicated_endpoints
boolean or null

If true, scans include deduplicated endpoints.
If false or null, scans exclude deduplicated endpoints.
A deduplicated endpoint has the same simhash as another scanned endpoint.

object

Time window during which scans are temporarily interrupted.

fail_fast
boolean

If true, scans fail on recoverable errors.
If false, scans continue on recoverable errors.
Defaults to true.

incremental
boolean

If true, on-demand scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

reduced_scope
boolean

If true, on-demand scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

schedule_incremental
boolean

If true, scheduled scans can be incremental to narrow the coverage to new and updated URLs.
Learn more about partial scans.
Defaults to false.

schedule_reduced_scope
boolean

If true, scheduled scans can have reduced scope to narrow the coverage to defined URLs.
Learn more about partial scans.
Defaults to false.

crawl_sequences_only
boolean

If true, on-demand scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

schedule_crawl_sequences_only
boolean

If true, scheduled scans can only crawl navigation sequences to narrow the coverage.
Learn more about partial scans.
Defaults to false.

Responses

Request samples

Content type
{
  • "site": {
    },
  • "scan_profile": "lightning",
  • "type": "string",
  • "unlimited": true,
  • "report_type": "default",
  • "report_fileformat": "pdf",
  • "labels": [
    ],
  • "scanning_agent": { },
  • "include_deduplicated_endpoints": true,
  • "blackout_period": {
    },
  • "fail_fast": true,
  • "incremental": true,
  • "reduced_scope": true,
  • "schedule_incremental": true,
  • "schedule_reduced_scope": true,
  • "crawl_sequences_only": true,
  • "schedule_crawl_sequences_only": true
}

Response samples

Content type
application/json
{
  • "target_ids": [
    ],
  • "scan_ids": [
    ]
}

List Wizard Targets

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Teams

Group users, targets, and other elements in teams for specific features and a more efficient management. For example, users in a team can only run scans for targets of their team, not the targets of other teams.
Learn more about how to get started with Teams.

Functionality

The endpoints under Teams provide the following functionality:

  • Create and manage teams (groups of targets and scanning agents only).
  • Check the number of free target slots of the teams.
  • Move targets from one team to another.

Important Notes

Some relevant information when using Teams:

  • To group users in teams, create user roles with team scope.

Further functionality related to Teams is provided in the following tags:

Move target to another team

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
required
Array of objects (ID)

Teams to move the target to.

Responses

Request samples

Content type
{
  • "teams": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string"
}

Move multiple targets to another team

Authorizations:
JWT Authentication
Request Body schema:
required
Array of objects (ID)

Teams to move the target to.

ids
required
Array of strings

Identifiers of the targets to move, separated by commas.

Responses

Request samples

Content type
{
  • "teams": [
    ],
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string"
}

List Teams

Authorizations:
JWT Authentication
query Parameters
can_create_target
boolean
can_move
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

user
Array of strings

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create Team

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the team.
Maximum length is 255 characters.

quota
integer or null <int64> [ 0 .. 4294967295 ]

Number of targets the team can create.

reserve
boolean

If true, the account has target slots reserved for the team to ensure the fulfillment of the team's quota.
Defaults to false.

Array of objects

Targets of the team.

Array of objects

Scanning agents of the team.

Responses

Request samples

Content type
{
  • "name": "string",
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "num_api_keys": 0,
  • "num_users": 0,
  • "num_targets": 0,
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ],
  • "num_available_targets": 0
}

Retrieve Team

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "num_api_keys": 0,
  • "num_users": 0,
  • "num_targets": 0,
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ],
  • "num_available_targets": 0
}

Update Team

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the team.
Maximum length is 255 characters.

quota
integer or null <int64> [ 0 .. 4294967295 ]

Number of targets the team can create.

reserve
boolean

If true, the account has target slots reserved for the team to ensure the fulfillment of the team's quota.
Defaults to false.

Array of objects

Targets of the team.

Array of objects

Scanning agents of the team.

Responses

Request samples

Content type
{
  • "name": "string",
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "num_api_keys": 0,
  • "num_users": 0,
  • "num_targets": 0,
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ],
  • "num_available_targets": 0
}

Patch Team

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the team.
Maximum length is 255 characters.

quota
integer or null <int64> [ 0 .. 4294967295 ]

Number of targets the team can create.

reserve
boolean

If true, the account has target slots reserved for the team to ensure the fulfillment of the team's quota.
Defaults to false.

Array of objects

Targets of the team.

Array of objects

Scanning agents of the team.

Responses

Request samples

Content type
{
  • "name": "string",
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "num_api_keys": 0,
  • "num_users": 0,
  • "num_targets": 0,
  • "quota": 4294967295,
  • "reserve": true,
  • "targets": [
    ],
  • "scanning_agents": [
    ],
  • "num_available_targets": 0
}

Delete Team

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Number free slots to add target to the team

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "slots": 23
}

Technologies (Frameworks)

During the scans we run fingerprinters against the target and record the result on the site and assets. You can access our list of frameworks/software here.

List Frameworks

Authorizations:
JWT Authentication
query Parameters
ordering
string

Which field to use when ordering the results.

search
string

A search term.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Framework

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string"
}

User

A user in a Probely account represents a human or a machine (API user) that interacts with Probely.

Depending on the roles and permissions assigned, users can have access to different features of Probely to perform their tasks.

Functionality

The endpoints under User provide the following functionality:

  • Retrieve user information.
  • Change the user's password.
  • Retrieve and update the user's notification settings.

Important Notes

Some relevant information when using User:

  • All operations under User are relative to the user identified by the access token that is passed.
  • Access tokens have an expiration date unless the user is an API user.
  • Changing the password in only possible for non-API users.

Further functionality related to User is provided in the following tags:

  • User Management - Manage users in the account.
  • API Users - Manage users interacting with Probely through the API (API Users).
  • User Roles - Manage user roles to assing to users.
  • User Labels - Manage labels to apply to users.

Retrieve Profile

Authorizations:
JWT Authentication
query Parameters
ordering
string

Which field to use when ordering the results.

search
string

A search term.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change Password

Authorizations:
JWT Authentication
Request Body schema:
password
required
string

New password.

confpassword
required
string

Confirmation of the new password.

current_password
required
string

Current password.

Responses

Request samples

Content type
{
  • "password": "string",
  • "confpassword": "string",
  • "current_password": "string"
}

Response samples

Content type
application/json
{
  • "message": "Password Changed"
}

Retrieve Notifications Configuration

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "end_scan_emails": "always"
}

Update Notifications Configuration

Authorizations:
JWT Authentication
Request Body schema:
end_scan_emails
string
Enum: "always" "started_by" "never" ""
  • always - Always
  • started_by - Started by
  • never - Never

Responses

Request samples

Content type
{
  • "end_scan_emails": "always"
}

Response samples

Content type
application/json
{
  • "end_scan_emails": "always"
}

Partial Update Notifications Configuration

Authorizations:
JWT Authentication
Request Body schema:
end_scan_emails
string
Enum: "always" "started_by" "never" ""
  • always - Always
  • started_by - Started by
  • never - Never

Responses

Request samples

Content type
{
  • "end_scan_emails": "always"
}

Response samples

Content type
application/json
{
  • "end_scan_emails": "always"
}

Retrieve Permissions

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "account": [
    ],
  • "targets": {
    },
  • "teams": {
    }
}

List Roles

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

role
string
search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

List Targets

Authorizations:
JWT Authentication
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
role
Array of strings
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

User Labels

Labels are a mechanism to apply short and useful information to users. For example, create a label called "Outsource" to apply to users working as outsourcers to filter them and facilitate user management.

When creating labels, validate whether Probely provides that information as, for example, teams, roles, and targets of the user.

Functionality

The endpoints under User Labels provide the following functionality:

  • Create and manage labels to apply to users.

Further functionality related to User Labels is provided in the following tags:

List User Labels

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

search
string

A search term.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create User Label

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Retrieve User Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Update User Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Partial Update User Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 255 characters

Name of the label.
The maximum length is 255 characters.

color
string^[a-zA-Z0-9#_-]*$

Color of the label, in RGB hexadecimal format prefixed with "#".
For example, "#00FF00" for green.

Responses

Request samples

Content type
{
  • "name": "string",
  • "color": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "color": "string",
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z"
}

Delete User Label

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

User Management

User management provides functionality to create and manage users in a Probely account so they can interact with Probely apps and the API.

Functionality

The endpoints under User Management provide the following functionality:

  • Create and manage users in the account (including bulk updates).
  • Block users' access to Probely apps and API.

Further functionality related to User Management is provided in the following tags:

  • User - Manage specific user settings, like passwords or notifications.
  • API User - Manage special users interacting with the API, like applications.
  • User Roles - Assign roles to users to set permissions to do their tasks.
  • User Labels - Manage labels to apply to users and help with user management.

List Users

Authorizations:
JWT Authentication
query Parameters
account
boolean
active
boolean
exclude_target
Array of strings
exclude_team
Array of strings
label
Array of strings

A unique Base58 value identifying this object.

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between user labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

mfa_enabled
boolean
no_access
boolean
ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

role
Array of strings or null

A unique Base58 value identifying this object.

search
string

A search term.

target
Array of strings
team
Array of strings

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create User

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

required
Array of objects (UserLabel)
Array of objects (SimpleUserRoleRequest)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "[email protected]",
  • "name": "string",
  • "title": "ceo",
  • "is_billing_admin": true,
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "last_login": "2019-08-24T14:15:22Z",
  • "is_apiuser": true,
  • "mfa_enabled": true
}

Retrieve User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "[email protected]",
  • "name": "string",
  • "title": "ceo",
  • "is_billing_admin": true,
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "last_login": "2019-08-24T14:15:22Z",
  • "is_apiuser": true,
  • "mfa_enabled": true
}

Update User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
required
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

required
Array of objects (UserLabel)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "[email protected]",
  • "name": "string",
  • "title": "ceo",
  • "is_billing_admin": true,
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "last_login": "2019-08-24T14:15:22Z",
  • "is_apiuser": true,
  • "mfa_enabled": true
}

Partial Update User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
name
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

Array of objects (UserLabel)
mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "[email protected]",
  • "name": "string",
  • "title": "ceo",
  • "is_billing_admin": true,
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "last_login": "2019-08-24T14:15:22Z",
  • "is_apiuser": true,
  • "mfa_enabled": true
}

Disable User

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

List Targets

Authorizations:
JWT Authentication
path Parameters
user_id
required
string
query Parameters
enabled
boolean
exclude_team
Array of strings

Names of the teams to exclude from results, as a query string. For example, "exclude_team=Frontend" or "exclude_team=Frontend&exclude_team=Backend".

label
Array of strings

Target labels to filter results, as a query string. For example, "label=Production" or "label=Production&label=QA".

label_logical_operator
string
Enum: "and" "or"

Logical operator to apply between target labels.

  • and - and
  • or - or
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

risk
Array of integers
Items Enum: 0 10 20 30

Target risk to filter results:

  • 10 - Low risk.
  • 20 - Medium risk.
  • 30 - High risk.
  • 0 - Not applicable.
role
Array of strings
scan_profile
Array of strings or null

Identifiers of the scan profiles to filter results, separated by commas.

search
string

A search term.

team
Array of strings

Names of the teams to filter results, as a query string. For example, "team=Frontend" or "team=Frontend&team=Backend".

type
Array of strings
unlimited
boolean

If true, filter results by targets with unlimited scans. If false, filter results by targets that use credits.

verified
boolean

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Bulk Update Users

Authorizations:
JWT Authentication
Request Body schema:
name
required
string <= 60 characters

Name of the user.

title
string
Enum: "ceo" "cto" "cso" "seceng" "dev" "devop" "manager" "other" ""

Job title:

  • ceo - Chief Executive Officer
  • cto - Chief Technology Officer
  • cso - Chief Security Officer
  • seceng - Security engineer
  • dev - Developer
  • devop - Developer Operations
  • manager - Manager
  • other - Other
active
boolean
Default: true

If true, the user can authenticate to Probely to interact with apps and the API.
If false, the user's access to Probely's apps and API is blocked.
Defaults to true.

Array of objects or null

Labels of the user.

Array of objects (SimpleUserRole)

Roles of the user.

mfa_enabled
boolean

If true, the user has MFA (Multi-Factor Authentication) enabled at login.
Defaults to true.

Responses

Request samples

Content type
{
  • "name": "string",
  • "title": "ceo",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "mfa_enabled": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "[email protected]",
  • "name": "string",
  • "title": "ceo",
  • "is_billing_admin": true,
  • "changed_by": {},
  • "changed": "2019-08-24T14:15:22Z",
  • "active": true,
  • "labels": [
    ],
  • "user_roles": [
    ],
  • "last_login": "2019-08-24T14:15:22Z",
  • "is_apiuser": true,
  • "mfa_enabled": true
}

User Roles

The access to Probely features is determined by permissions, which are grouped into roles to assign to users.

This way, depending on the roles and permissions assigned, users can have access to different features of Probely to perform their tasks.

A User Role represents an assignment of a role to a user.

Functionality

The endpoints under User Roles provide the following functionality:

  • Create and manage the assignment of roles to users, one by one or in bulk.

Important Notes

Some relevant information when using User Roles:

  • Different roles can be assigned to users at different levels:
    • Global to the account.
    • In the scope of a team.
    • For a specific target.
  • A user can have different roles in different teams or for different targets.

Further functionality related to User Roles is provided in the following tags:

List User Roles

Authorizations:
JWT Authentication
query Parameters
account
boolean
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

role
Array of strings

A unique Base58 value identifying this object.

target
Array of strings
team
Array of strings
user
Array of strings

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Create User Role

Authorizations:
JWT Authentication
Request Body schema:
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Retrieve User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Update User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
id
required
string = 12 characters
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "id": "stringstring",
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Partial Update User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Request Body schema:
id
string = 12 characters
object (ObjectId)
object (ObjectId)
object (DPOScopeRequest)

Responses

Request samples

Content type
{
  • "id": "stringstring",
  • "user": {
    },
  • "role": {
    },
  • "scope": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Delete User Role

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Bulk Create User Roles

Add roles to multiple users in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Bulk Delete User Roles

Authorizations:
JWT Authentication
Request Body schema:
ids
required
Array of strings

Responses

Request samples

Content type
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "ids": [
    ]
}

Bulk Operations User Roles

add/update/delete multiple user roles in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array of objects (UserRoleCreateRequest)
Array of objects (UserRoleUpdateRequest)
Array of objects (UserRoleDestroyRequest)

Responses

Request samples

Content type
{
  • "create": [
    ],
  • "update": [
    ],
  • "delete": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Bulk Update User Roles

Update multiple user roles in one operation.

Authorizations:
JWT Authentication
Request Body schema:
Array
id
required
string = 12 characters
required
object (ObjectId)
required
object (ObjectId)
required
object (DPOScopeRequest)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "string",
  • "user": {},
  • "role": {
    },
  • "scope": {
    }
}

Vulnerabilities

In Probely, findings are connected to vulnerability definitions. This is how we keep track of the type of vulnerability. It also includes a name and description.

List Vulnerability Definitions

Authorizations:
JWT Authentication
query Parameters
length
integer

Number of results to return per page.

ordering
string

Which field to use when ordering the results.

page
integer

A page number within the paginated result set.

passive
boolean
search
string

A search term.

severity
Array of integers or null
Items Enum: 10 20 30

Default vulnerability severity.

  • 10 - low
  • 20 - medium
  • 30 - high

Responses

Response samples

Content type
application/json
{
  • "count": 6,
  • "page_total": 1,
  • "page": 1,
  • "length": 10,
  • "results": [
    ]
}

Retrieve Vulnerability Definition

Authorizations:
JWT Authentication
path Parameters
id
required
string

A unique Base58 value identifying this object.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "desc": "string",
  • "changed": "2019-08-24T14:15:22Z",
  • "severity": 10,
  • "cvss_vector": "string",
  • "cwe_id": "string",
  • "cwe_name": "string",
  • "passive": true
}

Audit Log

Download a CSV file with AuditLog entries.

Authorizations:
JWT Authentication
query Parameters
end_dt
string <date-time>

Include instances created before ISO-formatted timestamp

start_dt
string <date-time>

Include instances created after ISO-formatted timestamp

user
string

Base58 ID to filter instances by the user linked to the entry

Responses

Response samples

Content type
application/csv
user_id,username,user_name,date,action,object_model,object_id,field,old_value,new_value

Azure DevOps Integration

Retrieve Azure DevOps Account Config

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "organization_name": "string",
  • "connected": true,
  • "reauthentication_failed": true
}

Update Azure DevOps Account Config

Authorizations:
JWT Authentication
Request Body schema:
organization_name
string <= 254 characters

Responses

Request samples

Content type
{
  • "organization_name": "string"
}

Response samples

Content type
application/json
{
  • "organization_name": "string",
  • "connected": true,
  • "reauthentication_failed": true
}

Patch Azure DevOps Account Config

Authorizations:
JWT Authentication
Request Body schema:
organization_name
string <= 254 characters

Responses

Request samples

Content type
{
  • "organization_name": "string"
}

Response samples

Content type
application/json
{
  • "organization_name": "string",
  • "connected": true,
  • "reauthentication_failed": true
}

Delete Azure DevOps Account Config

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "error": "Invalid JWT."
}

Retrieve Azure DevOps Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "project": {
    },
  • "work_item_type": "string",
  • "auto_sync": true,
  • "auto_sync_closed": false
}

Update Azure DevOps Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
required
object
work_item_type
required
string <= 254 characters
auto_sync
boolean

Sync findings to Azure DevOps

auto_sync_closed
boolean
Default: false

Responses

Request samples

Content type
{
  • "project": {
    },
  • "work_item_type": "string",
  • "auto_sync": true,
  • "auto_sync_closed": false
}

Response samples

Content type
application/json
{
  • "project": {
    },
  • "work_item_type": "string",
  • "auto_sync": true,
  • "auto_sync_closed": false
}

Patch Azure DevOps Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
object
work_item_type
string <= 254 characters
auto_sync
boolean

Sync findings to Azure DevOps

auto_sync_closed
boolean
Default: false

Responses

Request samples

Content type
{
  • "project": {
    },
  • "work_item_type": "string",
  • "auto_sync": true,
  • "auto_sync_closed": false
}

Response samples

Content type
application/json
{
  • "project": {
    },
  • "work_item_type": "string",
  • "auto_sync": true,
  • "auto_sync_closed": false
}

Delete Azure DevOps Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "Invalid JWT."
}

Retrieve Azure DevOps Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string

Responses

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "work_item_id": 0
}

Update Azure DevOps Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean

Responses

Request samples

Content type
{
  • "selective_sync": true
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "work_item_id": 0
}

Patch Azure DevOps Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean

Responses

Request samples

Content type
{
  • "selective_sync": true
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "work_item_id": 0
}

Jira Server Integration

Get Jira Server Account instance data

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "base_url": "http://example.com",
  • "consumer_key": "string",
  • "consumer_secret": "string",
  • "verify_tls": true,
  • "skip_jira_webhooks": true
}

Update a Jira Server Account instance

Authorizations:
JWT Authentication
Request Body schema:
base_url
required
string <uri>
consumer_key
required
string <= 1024 characters
consumer_secret
required
string
verify_tls
required
boolean
skip_jira_webhooks
boolean

Responses

Request samples

Content type
{
  • "base_url": "http://example.com",
  • "consumer_key": "string",
  • "consumer_secret": "string",
  • "verify_tls": true,
  • "skip_jira_webhooks": true
}

Response samples

Content type
application/json
{
  • "base_url": "http://example.com",
  • "consumer_key": "string",
  • "consumer_secret": "string",
  • "verify_tls": true,
  • "skip_jira_webhooks": true
}

Partial Update a Jira Server Account instance

Authorizations:
JWT Authentication
Request Body schema:
base_url
string <uri>
consumer_key
string <= 1024 characters
consumer_secret
string
verify_tls
boolean
skip_jira_webhooks
boolean

Responses

Request samples

Content type
{
  • "base_url": "http://example.com",
  • "consumer_key": "string",
  • "consumer_secret": "string",
  • "verify_tls": true,
  • "skip_jira_webhooks": true
}

Response samples

Content type
application/json
{
  • "base_url": "http://example.com",
  • "consumer_key": "string",
  • "consumer_secret": "string",
  • "verify_tls": true,
  • "skip_jira_webhooks": true
}

Delete a Jira Server Account instance

Authorizations:
JWT Authentication

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Retrieve Jira Server Target instance data

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Update a Jira Server Target instance

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
auto_sync
boolean
auto_sync_closed
boolean
Default: false
project_id
required
string
issue_type_id
required
string
object or null
object or null

Responses

Request samples

Content type
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Partial Update a Jira Server Target instance

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
auto_sync
boolean
auto_sync_closed
boolean
Default: false
project_id
string
issue_type_id
string
object or null
object or null

Responses

Request samples

Content type
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Delete a Jira Server Target instance

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "<field name>": [
    ],
  • "non_field_errors": [
    ]
}

Retrieve Jira Server Finding instance

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string

Responses

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string"
}

Update a Jira Server Finding instance

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean

Responses

Request samples

Content type
{
  • "selective_sync": true
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string"
}

Partial Update of Jira Server Finding instance

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean

Responses

Request samples

Content type
{
  • "selective_sync": true
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string"
}

Jira Cloud Integration

Retrieve Jira Cloud Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Update Jira Cloud Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
auto_sync
boolean
auto_sync_closed
boolean
Default: false
project_id
required
string
issue_type_id
required
string
object or null
object or null

Responses

Request samples

Content type
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Partial Update of Jira Cloud Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
Request Body schema:
auto_sync
boolean
auto_sync_closed
boolean
Default: false
project_id
string
issue_type_id
string
object or null
object or null

Responses

Request samples

Content type
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Response samples

Content type
application/json
{
  • "auto_sync": true,
  • "auto_sync_closed": false,
  • "project_id": "string",
  • "issue_type_id": "string",
  • "status_mapping": {
    },
  • "priority_mapping": {
    }
}

Delete Jira Cloud Target Config

Authorizations:
JWT Authentication
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": "Invalid JWT."
}

Retrieve Jira Cloud Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string

Responses

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string",
  • "link": "string",
  • "key": "string"
}

Update Jira Cloud Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean
key
string <= 32 characters

Responses

Request samples

Content type
{
  • "selective_sync": true,
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string",
  • "link": "string",
  • "key": "string"
}

Partial Update of Jira Cloud Finding Config

Authorizations:
JWT Authentication
path Parameters
id
required
string
scope
required
string
Request Body schema:
selective_sync
boolean
key
string <= 32 characters

Responses

Request samples

Content type
{
  • "selective_sync": true,
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "selective_sync": true,
  • "issue_id": "string",
  • "link": "string",
  • "key": "string"
}