PUT /api/projects
PUT https://api-admin.hackgate.io/api/projects
Replaces an existing project record with the values you provide. Send the full project object — including all fields returned by GET /api/projects/{id} — with your changes applied. Omitting optional fields sets them to null.Request
Must be application/json.
Body parameters
The unique identifier of the project to update.
The organization that owns the project.
Human-readable project name.
Description of the project’s scope or purpose.
Free-text internal notes.
ISO 8601 date-time when the engagement starts.
ISO 8601 date-time when the engagement ends.
ISO 8601 date-time when the project was originally created. Pass through unchanged.
Identifier of the user who created the project. Pass through unchanged.
Access model for the engagement (for example, authenticated or unauthenticated).
Geographic or network location context.
Person or team responsible for the project.
ISO 8601 date-time by which the final report is due.
ISO 8601 date-time when the retesting window closes.
ISO 8601 date-time when retesting begins.
Engagement type, such as pentest or bug-bounty.
Security vendor or testing firm assigned to the project.
Whether a retesting cycle is required after the initial engagement.
Response
Returns the updated project object.Example
curl -X PUT https://api-admin.hackgate.io/api/projects \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"id": "proj_abc123",
"orgId": "org_xyz",
"name": "Q3 Web Application Pentest",
"description": "Full-scope penetration test of the customer portal.",
"note": "Scoping call completed.",
"launchDate": "2025-07-01T09:00:00Z",
"endDate": "2025-07-14T17:00:00Z",
"creationDate": "2025-06-15T12:00:00Z",
"createdBy": "user_123",
"accessType": "authenticated",
"location": "US-East",
"owner": "security@example.com",
"reportDeadline": "2025-07-21T17:00:00Z",
"retestingEnd": "2025-08-04T17:00:00Z",
"retestingLaunch": "2025-07-28T09:00:00Z",
"type": "pentest",
"vendor": "AcmeSec",
"isRetestNeeded": true
}'
POST /api/projects/createProjectItem
POST https://api-admin.hackgate.io/api/projects/createProjectItem
Adds a new item (a site or target) to an existing project. Items represent the individual in-scope assets for an engagement.Request
Must be application/json.
Body parameters
Name of the item, typically matching the HackGATE site name or target URL.
The unique identifier of the project to attach this item to.
Response
Returns the newly created project item object.Unique identifier for the item.
The organization that owns the item.
The project this item belongs to.
ISO 8601 date-time when the item was created.
Identifier of the user who created the item.
Access model. null until updated.
Location context. null until updated.
Item type. null until updated.
Example
curl -X POST https://api-admin.hackgate.io/api/projects/createProjectItem \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "customer-portal",
"projectId": "proj_abc123"
}'
{
"id": "item_456",
"orgId": "org_xyz",
"projectId": "proj_abc123",
"name": "customer-portal",
"creationDate": "2025-06-16T10:30:00Z",
"createdBy": "user_123",
"accessType": null,
"location": null,
"type": null
}
PUT /api/projects/updateProjectItem
PUT https://api-admin.hackgate.io/api/projects/updateProjectItem
Updates the metadata of an existing project item. Use this to set or change the item’s name, access model, location, and type.Request
Must be application/json.
Body parameters
The unique identifier of the item to update.
Updated name for the item.
Access model for this item (for example, authenticated or unauthenticated).
Geographic or network location for the item.
Item type (for example, web, api, or mobile).
Response
Returns the updated project item object.Example
curl -X PUT https://api-admin.hackgate.io/api/projects/updateProjectItem \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"id": "item_456",
"name": "customer-portal",
"accessType": "authenticated",
"location": "US-East",
"type": "web"
}'
{
"id": "item_456",
"orgId": "org_xyz",
"projectId": "proj_abc123",
"name": "customer-portal",
"creationDate": "2025-06-16T10:30:00Z",
"createdBy": "user_123",
"accessType": "authenticated",
"location": "US-East",
"type": "web"
}