Delete a manual position
What this endpoint does: Soft deletes a manual position by setting the deletedAt timestamp. The position is not permanently removed from the database but is hidden from normal queries and will not appear in project quotes or invoices.
How soft deletion works:
- The position is marked as deleted with a timestamp
- It remains in the database for historical reference
- Deleted positions are excluded from list queries
- The position can be referenced in historical project snapshots
Validation rules:
- Position must exist and belong to the specified project
- Project must exist and user must have access
Permission requirements:
- Requires Projects.manageManualPositions permission
- Requires api scope
- Requires read access to the project
Use cases:
- Remove positions that are no longer needed
- Clean up project planning before finalizing quotes
- Remove incorrectly added positions
DELETE
/projects/{projectId}/manual-positions/{id}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
projectIdstringrequiredidstringrequiredResponses
200
successbooleanrequiredOperation success flag
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X DELETE "https://leadtime.app/api/public/projects/string/manual-positions/string" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/projects/string/manual-positions/string", {
method: "DELETE",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.delete(
"https://leadtime.app/api/public/projects/string/manual-positions/string",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
{
"success": true
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions