Skip to content

Projects API

Create, read, update, and delete security assessment projects via the API.

MethodEndpointDescription
GET/projectsList all projects
GET/projects/{id}Get project by ID
POST/projectsCreate project
PUT/projects/{id}Update project
DELETE/projects/{id}Delete project
{
"id": "proj_abc123",
"name": "Q1 2024 External Pentest",
"client_id": "client_xyz789",
"client": {
"id": "client_xyz789",
"name": "Acme Corporation"
},
"status": "in_progress",
"project_type": "external_pentest",
"description": "External network penetration test",
"start_date": "2024-01-15",
"end_date": "2024-01-31",
"report_due_date": "2024-02-07",
"created_at": "2024-01-10T10:00:00Z",
"updated_at": "2024-01-15T14:30:00Z",
"findings_count": 12,
"assets_count": 45
}
GET /projects
ParameterTypeDescription
pageintegerPage number (default: 1)
limitintegerItems per page (default: 50)
statusstringFilter by status
client_idstringFilter by client
searchstringSearch by name
sortstringSort field
orderstringasc or desc
Terminal window
curl -X GET "https://{tenant}.nforged.com/api/v1/projects?status=in_progress&limit=10" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"success": true,
"data": [
{
"id": "proj_abc123",
"name": "Q1 2024 External Pentest",
"client_id": "client_xyz789",
"status": "in_progress",
"findings_count": 12
}
],
"meta": {
"page": 1,
"limit": 10,
"total": 45,
"pages": 5
}
}
GET /projects/{id}
Terminal window
curl -X GET "https://{tenant}.nforged.com/api/v1/projects/proj_abc123" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"success": true,
"data": {
"id": "proj_abc123",
"name": "Q1 2024 External Pentest",
"client_id": "client_xyz789",
"client": {
"id": "client_xyz789",
"name": "Acme Corporation"
},
"status": "in_progress",
"project_type": "external_pentest",
"description": "External network penetration test of internet-facing systems",
"start_date": "2024-01-15",
"end_date": "2024-01-31",
"report_due_date": "2024-02-07",
"created_at": "2024-01-10T10:00:00Z",
"updated_at": "2024-01-15T14:30:00Z",
"findings_count": 12,
"assets_count": 45,
"team": [
{"user_id": "user_123", "role": "lead"}
]
}
}
POST /projects
FieldTypeRequiredDescription
namestringYesProject name
client_idstringYesClient ID
project_typestringNoType of project
statusstringNoInitial status
descriptionstringNoDescription
start_datestringNoISO date
end_datestringNoISO date
report_due_datestringNoISO date
Terminal window
curl -X POST "https://{tenant}.nforged.com/api/v1/projects" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Q2 2024 Web App Assessment",
"client_id": "client_xyz789",
"project_type": "web_application",
"status": "not_started",
"description": "Web application security assessment",
"start_date": "2024-04-01",
"end_date": "2024-04-15"
}'
{
"success": true,
"data": {
"id": "proj_def456",
"name": "Q2 2024 Web App Assessment",
"client_id": "client_xyz789",
"status": "not_started",
"created_at": "2024-03-15T09:00:00Z"
}
}
PUT /projects/{id}
Terminal window
curl -X PUT "https://{tenant}.nforged.com/api/v1/projects/proj_abc123" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "complete",
"end_date": "2024-01-30"
}'
{
"success": true,
"data": {
"id": "proj_abc123",
"name": "Q1 2024 External Pentest",
"status": "complete",
"updated_at": "2024-01-30T17:00:00Z"
}
}
DELETE /projects/{id}
Terminal window
curl -X DELETE "https://{tenant}.nforged.com/api/v1/projects/proj_abc123" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"success": true,
"message": "Project deleted successfully"
}

Get findings for a specific project:

GET /projects/{id}/findings

See Findings API for response format.

Get assets for a specific project:

GET /projects/{id}/assets

See Assets API for response format.

StatusDescription
not_startedProject created, not begun
in_progressActive assessment
on_holdTemporarily paused
in_reviewFindings complete
completeProject finished
cancelledProject cancelled
TypeDescription
external_pentestExternal network test
internal_pentestInternal network test
web_applicationWeb app assessment
mobile_applicationMobile app test
wirelessWireless assessment
social_engineeringSocial engineering
red_teamRed team engagement
vulnerability_assessmentVuln assessment

Next: Learn about the Findings API