Skip to main content
Use these endpoints to modify existing projects and their associated items. PUT /api/projects performs a full replacement of a project record. POST /api/projects/createProjectItem adds a new site or target to an existing project. PUT /api/projects/updateProjectItem updates an item’s name, type, access model, and location.

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

Authorization
string
required
Bearer token. See Authentication.
Content-Type
string
required
Must be application/json.

Body parameters

id
string
required
The unique identifier of the project to update.
orgId
string
required
The organization that owns the project.
name
string
required
Human-readable project name.
description
string
Description of the project’s scope or purpose.
note
string
Free-text internal notes.
launchDate
string
ISO 8601 date-time when the engagement starts.
endDate
string
ISO 8601 date-time when the engagement ends.
creationDate
string
ISO 8601 date-time when the project was originally created. Pass through unchanged.
createdBy
string
Identifier of the user who created the project. Pass through unchanged.
accessType
string
Access model for the engagement (for example, authenticated or unauthenticated).
location
string
Geographic or network location context.
owner
string
Person or team responsible for the project.
reportDeadline
string
ISO 8601 date-time by which the final report is due.
retestingEnd
string
ISO 8601 date-time when the retesting window closes.
retestingLaunch
string
ISO 8601 date-time when retesting begins.
type
string
Engagement type, such as pentest or bug-bounty.
vendor
string
Security vendor or testing firm assigned to the project.
isRetestNeeded
boolean
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
  }'