Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hackgate.io/llms.txt

Use this file to discover all available pages before exploring further.

Create a project to track a security testing engagement in HackGATE. Projects store the context around a pentest or bug bounty — including dates, ownership, and whether retesting is required.

Create a project

The only required field when creating a project is name. All other fields are optional and can be added later via a PUT request.
curl -X POST https://admin.hackgate.io/api/projects \
  -H "Authorization: Bearer <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q4 Web App Pentest",
    "description": "Annual penetration test of the customer portal",
    "note": "Focus on authentication and payment flows",
    "launchDate": "2024-01-15T09:00:00Z",
    "endDate": "2024-01-29T17:00:00Z"
  }'
Response:
{
  "id": "proj-abc123",
  "orgId": "org-xyz",
  "name": "Q4 Web App Pentest",
  "description": "Annual penetration test of the customer portal",
  "note": "Focus on authentication and payment flows",
  "launchDate": "2024-01-15T09:00:00Z",
  "endDate": "2024-01-29T17:00:00Z",
  "creationDate": "2024-01-10T08:00:00Z",
  "isRetestNeeded": false
}

Update a project

Use PUT to update an existing project. Include all fields in the body — partial updates are not supported.
curl -X PUT https://admin.hackgate.io/api/projects \
  -H "Authorization: Bearer <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "proj-abc123",
    "orgId": "org-xyz",
    "name": "Q4 Web App Pentest",
    "description": "Annual penetration test of the customer portal",
    "type": "web",
    "owner": "Jane Smith",
    "vendor": "Hackrate",
    "reportDeadline": "2024-02-05T17:00:00Z",
    "isRetestNeeded": true,
    "retestingLaunch": "2024-02-10T09:00:00Z",
    "retestingEnd": "2024-02-14T17:00:00Z",
    "accessType": "authenticated",
    "location": "https://customerportal.example.com",
    "launchDate": "2024-01-15T09:00:00Z",
    "endDate": "2024-01-29T17:00:00Z"
  }'
PUT replaces the entire project record. Include all fields you want to retain, even if you’re only changing one field.

Project fields reference

FieldTypeDescription
namestringProject name (required).
descriptionstringBrief description of the engagement.
notestringInternal notes for your team.
typestringProject type (e.g. "web", "api", "mobile").
ownerstringPerson responsible for this engagement.
vendorstringTesting vendor or partner name.
launchDatedatetimeWhen testing begins (ISO 8601 UTC).
endDatedatetimeWhen testing ends (ISO 8601 UTC).
reportDeadlinestringDeadline for receiving the test report.
isRetestNeededbooleanWhether a retest is planned after remediation.
retestingLaunchdatetimeRetest start date.
retestingEnddatetimeRetest end date.
accessTypestringType of access granted (e.g. "authenticated", "unauthenticated").
locationstringURL or IP range of the target.

List projects

curl https://admin.hackgate.io/api/projects \
  -H "Authorization: Bearer <your-token>"
Returns an array of all projects for your organization.
Last modified on May 9, 2026