Projects¶
Projects are the primary grouping layer for pentest sessions.
Endpoints¶
GET /api/v1/projectsPOST /api/v1/projectsGET /api/v1/projects/{project_id}PATCH /api/v1/projects/{project_id}
Create a project¶
curl -sS -X POST "https://app.vulnetic.ai/api/v1/projects" \
-H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Production",
"project_metadata": {
"environment": "production",
"owner": "security-team"
}
}'
List projects¶
curl -sS "https://app.vulnetic.ai/api/v1/projects?skip=0&limit=20&sort_by=created_at" \
-H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL"
Response shape¶
{
"items": [
{
"id": "11111111-1111-1111-1111-111111111111",
"account_id": "4f0d0a7d-644d-4dad-b5a4-c8f455e6f6b8",
"name": "Acme Production",
"project_metadata": {
"environment": "production",
"owner": "security-team"
},
"session_count": 3,
"created_by_user_id": "ea0580a8-8df4-43f1-b28e-87f1dc1b3a90",
"created_at": "2026-04-13T18:00:00Z",
"updated_at": "2026-04-13T18:20:00Z"
}
],
"total": 1,
"skip": 0,
"limit": 20
}
Update a project¶
curl -sS -X PATCH "https://app.vulnetic.ai/api/v1/projects/11111111-1111-1111-1111-111111111111" \
-H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Production External",
"project_metadata": {
"environment": "production",
"owner": "external-appsec"
}
}'