Toggle task skipped status
What does this do? Toggles whether a task is skipped (excluded) from the potential invoice. When a task is skipped, it is added to the skipped tasks list and will not appear on the final invoice. Toggling again removes it from the skipped list and includes it back in the invoice.
When to use:
- To exclude a task from billing without permanently marking it as “do not bill”
- To temporarily remove a task from an invoice during review
- To include a previously skipped task back in the invoice
How it works:
- First call: Adds task to skipped tasks list (excludes from invoice)
- Second call: Removes task from skipped tasks list (includes in invoice)
- The task itself is not modified, only the invoice metadata is updated
Task requirements:
- Task must belong to the potential invoice’s project
- Task must not be already billed (billed: false)
- User must have access to the project
Invoice ID Format: The invoice ID follows the format: {type}::{projectId}::{dateFrom}::{dateTo}
- Example: SingleProject::0e9d033a-ab41-4212-8637-66c4e3b01fe2::2025-10-01::2025-10-31
Permission requirements: Requires Invoices.manage permission and access to the project.
POST
/billing/potential-invoices/{id}/tasks/{taskId}/toggle-skippedAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredPotential invoice ID in format: {type}::{projectId}::{dateFrom}::{dateTo}
taskIdstring<uuid>requiredTask ID (UUID) to toggle skipped status for
Responses
200Task skipped status toggled successfully
successbooleanrequiredOperation success flag
401Unauthorized - Invalid or missing authentication token
403User lacks Invoices.manage permission or project access
404Potential invoice or task not found
Request
curl -X POST "https://leadtime.app/api/public/billing/potential-invoices/SingleProject%3A%3A0e9d033a-ab41-4212-8637-66c4e3b01fe2%3A%3A2025-10-01%3A%3A2025-10-31/tasks/550e8400-e29b-41d4-a716-446655440000/toggle-skipped" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/billing/potential-invoices/SingleProject%3A%3A0e9d033a-ab41-4212-8637-66c4e3b01fe2%3A%3A2025-10-01%3A%3A2025-10-31/tasks/550e8400-e29b-41d4-a716-446655440000/toggle-skipped", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.post(
"https://leadtime.app/api/public/billing/potential-invoices/SingleProject%3A%3A0e9d033a-ab41-4212-8637-66c4e3b01fe2%3A%3A2025-10-01%3A%3A2025-10-31/tasks/550e8400-e29b-41d4-a716-446655440000/toggle-skipped",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
{
"success": true
}Unauthorized - Invalid or missing authentication token
User lacks Invoices.manage permission or project access
Potential invoice or task not found