List support contingents with details for a project
Retrieves all support contingents (retainer plans) for a specific project with detailed information including available and consumed hours.
What are Support Contingents? Support contingents are retainer plans that define allocated hours and pricing for support periods. They help manage support contracts with predefined hours, rates, and transferability of unused hours.
What is returned:
- All support contingents for the project
- Each contingent includes: title, date range, frequency, hours, transferability, active status
- For active contingents: available hours and consumed hours for the current period
- Available hours calculation considers transferable logic and consumed hours from invoices
- Results are sorted by active status (active first) and then by fromDate
Note: Requires project access permission.
GET
/projects/{id}/support-contingentsAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:reador
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredResponses
200Support contingents retrieved successfully
Array of
SupportContingentWithDetailsResponseDtoavailableByContractnumberrequiredAvailable hours from the current period contract (baseHours - consumed in current period)
availableHoursnumberrequiredAvailable hours for the current period (calculated based on transferable logic and consumed hours)
consumedHoursnumberrequiredConsumed hours in the current period (from invoices)
createdAtstringrequiredISO 8601 timestamp when the contingent was created
currentPeriodEndstringEnd date of the current period (ISO 8601 date format)
currentPeriodHasNoEndDatebooleanFlag indicating if the current period has no end date (for frequency=0 contingents with null toDate). When true, currentPeriodEnd represents the current date for display purposes, but the period is actually open-ended.
currentPeriodStartstringStart date of the current period (ISO 8601 date format)
frequencynumberrequiredFrequency in months for the contingent period
fromDatestringrequiredStart date of the contingent period (ISO 8601 date format)
hoursnumberrequiredTotal hours allocated for the contingent period
idstringrequiredUnique identifier for the support contingent (UUID)
isActivebooleanrequiredWhether the contingent is currently active (today is within fromDate and toDate)
potentiallyUsedByTasksnumberrequiredHours that will be potentially used by unbilled tasks (calculated based on task assignment logic)
projectIdstringrequiredID of the project this contingent belongs to (UUID)
titlestringrequiredTitle or name of the support contingent plan
toDatestringEnd date of the contingent period (ISO 8601 date format). If not set, the contingent is active forever.
transferablebooleanrequiredWhether unused hours can be transferred to the next period
transferableFromPreviousnumberrequiredTransferable hours from previous periods (only applicable for transferable contingents)
updatedAtstringrequiredISO 8601 timestamp when the contingent was last updated
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X GET "https://leadtime.app/api/public/projects/string/support-contingents" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/projects/string/support-contingents", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/projects/string/support-contingents",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
[
{
"availableByContract": 40,
"availableHours": 85.5,
"consumedHours": 34.5,
"createdAt": "2024-01-15T10:00:00Z",
"currentPeriodEnd": "2025-11-30",
"currentPeriodHasNoEndDate": false,
"currentPeriodStart": "2025-11-01",
"frequency": 12,
"fromDate": "2025-01-01",
"hours": 120,
"id": "550e8400-e29b-41d4-a716-446655440000",
"isActive": true,
"potentiallyUsedByTasks": 17.5,
"projectId": "550e8400-e29b-41d4-a716-446655440001",
"title": "Maintenance flatrate",
"toDate": "2025-12-31",
"transferable": false,
"transferableFromPrevious": 129,
"updatedAt": "2024-01-20T14:30:00Z"
}
]Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions