Autotask Projects — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Autotask Projects (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Autotask Projects extend beyond simple ticketing to handle structured work with defined phases, tasks, dependencies, and resource assignments. Projects are used for implementations, migrations, onboarding, and any work requiring planning and tracking.
Project
├── Phase 1
│ ├── Task 1.1
│ ├── Task 1.2
│ └── Milestone: Phase 1 Complete
├── Phase 2
│ ├── Task 2.1
│ ├── Task 2.2
│ └── Milestone: Phase 2 Complete
└── Final Milestone: Project Complete| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
projectName | Project name | Yes |
companyID | Client company | Yes |
projectType | Type category | Yes |
status | Project status | Yes |
startDate | Planned start | No |
endDate | Planned end | No |
projectLeadResourceID | Project manager | No |
department | Department | No |
estimatedRevenue | Expected revenue | No |
contractID | Associated contract | No |
| ID | Status | Description |
|---|---|---|
| 1 | New | Just created |
| 5 | Active | In progress |
| 8 | On Hold | Temporarily paused |
| 10 | Complete | Finished |
| 12 | Cancelled | Terminated |
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
projectID | Parent project | Yes |
phaseID | Parent phase | No |
taskName | Task title | Yes |
status | Task status | Yes |
assignedResourceID | Assigned tech | No |
estimatedHours | Estimated effort | No |
startDate | Task start | No |
endDate | Task due date | No |
priority | Task priority | No |
POST /v1.0/Projects
Content-Type: application/json{
"projectName": "Acme Corp - Office 365 Migration",
"companyID": 12345,
"projectType": 1,
"status": 1,
"startDate": "2024-03-01",
"endDate": "2024-04-15",
"projectLeadResourceID": 29744150,
"description": "Migrate from on-prem Exchange to Office 365",
"estimatedRevenue": 15000.00,
"contractID": 54321
}POST /v1.0/Phases
Content-Type: application/json{
"projectID": 98765,
"title": "Phase 1: Planning & Assessment",
"description": "Initial assessment and migration planning",
"startDate": "2024-03-01",
"dueDate": "2024-03-08",
"estimatedHours": 16
}POST /v1.0/ProjectTasks
Content-Type: application/json{
"projectID": 98765,
"phaseID": 11111,
"taskName": "Document current Exchange environment",
"status": 1,
"assignedResourceID": 29744150,
"estimatedHours": 4,
"startDate": "2024-03-01",
"endDate": "2024-03-02",
"priority": 2
}Active projects for a company:
{
"filter": [
{"field": "companyID", "op": "eq", "value": 12345},
{"field": "status", "op": "eq", "value": 5}
]
}Projects by lead:
{
"filter": [
{"field": "projectLeadResourceID", "op": "eq", "value": 29744150},
{"field": "status", "op": "in", "value": [1, 5]}
]
}POST /v1.0/TimeEntries
Content-Type: application/json{
"taskID": 22222,
"resourceID": 29744150,
"dateWorked": "2024-03-01",
"startDateTime": "2024-03-01T09:00:00Z",
"endDateTime": "2024-03-01T12:00:00Z",
"hoursWorked": 3,
"summaryNotes": "Documented Exchange server configuration",
"billingCodeID": 29683556
}PATCH /v1.0/Projects
Content-Type: application/json{
"id": 98765,
"status": 5,
"actualStartDate": "2024-03-01"
}Projects can be billed:
Always associate project with contract for proper billing flow.
| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid projectType | Use valid project type ID |
| 400 | EndDate before StartDate | Fix date sequence |
| 404 | Project not found | Verify project ID |
| 409 | Cannot delete - has time entries | Archive instead of delete |
"ProjectName is required" - Project name cannot be empty
"Invalid companyID" - Company must exist and be active
"PhaseID does not belong to Project" - Task's phase must be in same project
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.