Projects API
Projects API
Section titled “Projects API”Create, read, update, and delete security assessment projects via the API.
Endpoints
Section titled “Endpoints”| Method | Endpoint | Description |
|---|---|---|
| GET | /projects | List all projects |
| GET | /projects/{id} | Get project by ID |
| POST | /projects | Create project |
| PUT | /projects/{id} | Update project |
| DELETE | /projects/{id} | Delete project |
Project Object
Section titled “Project Object”{ "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}List Projects
Section titled “List Projects”GET /projectsQuery Parameters
Section titled “Query Parameters”| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default: 1) |
limit | integer | Items per page (default: 50) |
status | string | Filter by status |
client_id | string | Filter by client |
search | string | Search by name |
sort | string | Sort field |
order | string | asc or desc |
Example Request
Section titled “Example Request”curl -X GET "https://{tenant}.nforged.com/api/v1/projects?status=in_progress&limit=10" \ -H "Authorization: Bearer YOUR_TOKEN"Example Response
Section titled “Example Response”{ "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 Project
Section titled “Get Project”GET /projects/{id}Example Request
Section titled “Example Request”curl -X GET "https://{tenant}.nforged.com/api/v1/projects/proj_abc123" \ -H "Authorization: Bearer YOUR_TOKEN"Example Response
Section titled “Example Response”{ "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"} ] }}Create Project
Section titled “Create Project”POST /projectsRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Project name |
client_id | string | Yes | Client ID |
project_type | string | No | Type of project |
status | string | No | Initial status |
description | string | No | Description |
start_date | string | No | ISO date |
end_date | string | No | ISO date |
report_due_date | string | No | ISO date |
Example Request
Section titled “Example Request”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" }'Example Response
Section titled “Example Response”{ "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" }}Update Project
Section titled “Update Project”PUT /projects/{id}Example Request
Section titled “Example Request”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" }'Example Response
Section titled “Example Response”{ "success": true, "data": { "id": "proj_abc123", "name": "Q1 2024 External Pentest", "status": "complete", "updated_at": "2024-01-30T17:00:00Z" }}Delete Project
Section titled “Delete Project”DELETE /projects/{id}Example Request
Section titled “Example Request”curl -X DELETE "https://{tenant}.nforged.com/api/v1/projects/proj_abc123" \ -H "Authorization: Bearer YOUR_TOKEN"Example Response
Section titled “Example Response”{ "success": true, "message": "Project deleted successfully"}Project Findings
Section titled “Project Findings”Get findings for a specific project:
GET /projects/{id}/findingsSee Findings API for response format.
Project Assets
Section titled “Project Assets”Get assets for a specific project:
GET /projects/{id}/assetsSee Assets API for response format.
Status Values
Section titled “Status Values”| Status | Description |
|---|---|
not_started | Project created, not begun |
in_progress | Active assessment |
on_hold | Temporarily paused |
in_review | Findings complete |
complete | Project finished |
cancelled | Project cancelled |
Project Types
Section titled “Project Types”| Type | Description |
|---|---|
external_pentest | External network test |
internal_pentest | Internal network test |
web_application | Web app assessment |
mobile_application | Mobile app test |
wireless | Wireless assessment |
social_engineering | Social engineering |
red_team | Red team engagement |
vulnerability_assessment | Vuln assessment |
Next: Learn about the Findings API