Skip to main content

Projects & Targets

Projects

A project in Ariftly is a container that groups a target with its scan history, settings, and team access.

Creating a project

Projects can be created via the dashboard or API:

curl -X POST https://api.ariftly.io/v1/projects \
-H "Authorization: Bearer $ARIFTLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production App",
"target_type": "url",
"target": "https://myapp.example.com"
}'

Project settings

Each project has configurable settings:

SettingDescriptionDefault
default_detectorsDetectors run if not specified in scan requestAll available
scan_scheduleCron expression for scheduled scansNone
thresholdsRisk score limits for CI/CD gatesNone
notificationsEmail / webhook alerts on scan completionNone
detector_weightsCustom detector weights for score calculationSee Risk Scoring

Targets

A target defines what Ariftly scans. There are three target types:

URL targets

Scan a live web application. Ariftly crawls the URL and its linked pages up to a configurable depth.

{
"target_type": "url",
"target": "https://myapp.example.com",
"target_options": {
"crawl_depth": 3,
"max_pages": 100,
"include_paths": ["/app/*"],
"exclude_paths": ["/api/*", "/admin/*"]
}
}

Repository targets

Scan a source code repository. Ariftly clones the repository (using a provided access token) and runs static analysis.

{
"target_type": "repository",
"target": "https://github.com/myorg/myapp",
"target_options": {
"branch": "main",
"access_token": "ghp_xxxx"
}
}
tip

For repository scans, create a read-only GitHub App or deploy key rather than using a personal access token.

API targets

Scan a REST or GraphQL API endpoint. Ariftly analyzes the API specification or probes endpoints directly.

{
"target_type": "api",
"target": "https://api.myapp.example.com",
"target_options": {
"spec_url": "https://api.myapp.example.com/openapi.json",
"auth_header": "Authorization: Bearer test-token"
}
}

Environments

Projects support multiple environments (e.g., staging, production) so you can run scans against different deployment targets under the same project umbrella.

curl -X POST https://api.ariftly.io/v1/projects/proj_abc123/scans \
-H "Authorization: Bearer $ARIFTLY_API_KEY" \
-d '{
"environment": "staging",
"target_override": "https://staging.myapp.example.com",
"detectors": ["security"]
}'