Organization Structure API
- Axis-sections
- Departments
- Legal-Units
- Establishments
Core HR API
- Employees Directory
- Guides
Cleemy Expenses API
- Expense-temp-items
- Expense-claims
- Expense-claim-items
Timmi Absences API
- Leaves
- Leave-requests
- Sick-leaves
- Imports
- Guides
Timmi Office API
- User-locations
- Work-locations
Timmi Project API
- Clients
- Projects
- Project services
- Organizations
- Financials
Timmi Settings API
- UserDates
- Workcycle-exceptions
- Working-time-arrangement
Timmi Timesheet API
- Time-entries
- Timesheets
- Reports
- Guides
Pagga Mealvouchers API
- Statutory
- Computation
Pagga Remuneration API
- Fixed-natures
- Fixed-items
- Variable-natures
- Variable-items
Poplee Training API
- Training-demands
- Realized-trainings
List Projects
List projects from an organization. Only returns a subset of a Project fields.
Search
The search query parameter takes a list of words and enables you to only return projects whose code or name (or those of their clients) contains all those words.
GET /api/v4/projects?organizationId=1&search=pro,avat&fields.root=count HTP/1.1
{
"count": 2,
"items": [
{
"id": 1,
"name": "Project",
"code": "Avatar",
"client": {
"name": "James Cameron",
"code": "CAMERON"
}
},
{
"id": 2,
"name": "Avatar Project",
"code": "Awesomeness",
"client": {
"name": "Advent",
"code": "ADVENT"
}
],
{
"id": 3,
"name": "Test",
"code": "Test",
"client": {
"name": "Avatar",
"code": "project"
}
}
}
curl --request GET \
--url https://{account}-{sandboxName}.sandbox.{server}.luccasoftware.com/timmi-project/api/v4/projects
{
"next": "<string>",
"prev": "<string>",
"count": 1,
"items": [
{
"id": 2,
"name": "<string>",
"code": "<string>",
"client": {
"id": 123,
"name": "<string>",
"code": "<string>",
"externalCode": null
},
"owner": null,
"status": "draft",
"contractType": "nonBillable",
"startsOn": null,
"createdAt": "2023-11-07T05:31:56Z",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"price": null,
"authorizedActions": [
"canEditAndDelete"
],
"organizationId": 2,
"description": "",
"initialDeliveryDate": null,
"revisedDeliveryDate": null,
"launchedAt": null,
"lastChargedOn": null,
"standardRateCard": {
"id": 2,
"name": "<string>"
},
"initialTimeEstimate": null,
"revisedTimeEstimate": null,
"standardRate": null,
"billRate": null,
"initialBudget": null,
"revisedBudget": null,
"discount": null,
"discountRate": null,
"estimatedOverrun": null,
"initialRecoveryRate": null,
"estimatedRecoveryRate": null,
"totalInvoiced": null,
"risks": [
{
"type": "budgetOverRun",
"label": "<string>"
}
],
"anomalies": [
{
"type": "noServices",
"label": "<string>"
}
],
"invoicingWarnings": [
{
"type": "unapprovedItems",
"applicableFrom": "2021-07-22",
"preventsInvoicing": true,
"label": "<string>"
}
]
}
]
}
Query Parameters
Filter on a single organization unique identifier.
Comma-separated list of codes / names to search for
Page size
Page number
x > 1
Return total items count (across all pages).
count
Only returns projects whose code is strictly equal to sent value
Response
x > 0
255
x > 1
Defaults to an automatically generated value.
255
The user assigned as this project lead. Set through the ownerId field.
Project is only available for time submission when having a "ongoing" status. Status can be updated through the "status-updates" API.
draft
, ongoing
, completed
, cancelled
, suspended
, archived
Describes project contract types:
- Non-billable (internal): no revenue recognized, budget estimates are optional.
- Fixed price: progress-based revenue recognition, budget estimates are mandatory.
- Time and Materials: time-based revenue recognition, initial estimates are indicative.
- Not-to-exceed Time and Materials: time-based revenue recognition with a maximum value, initial estimate sets the maximum value.
nonBillable
, fixedPrice
, timeAndMaterials
, cappedTimeAndMaterials
Start of the project execution.
Timestamp of the project creation.
Timestamp of the last update to the project.
Actions the current user can do on the project.
canEditAndDelete
, canUpdateStatus
Identifier of the organization this project belongs to. Inherited from the client.
x > 1
Optional markdown formatted description.
Initially planned delivery date.
Updated planned (or actual) delivery date.
Timestamp of the project launch.
Timestamp of the last time or expense allocated on the project.
Initial estimate of the work duration needed to complete the project.
Updated estimate of the work duration needed to complete the project. Can be modified through creating a new EstimateToComplete.
Standard daily/hourly rate this project should be invoiced at. Equal to (price + discount) / initialTimeEstimate.
Duration unit: days or hours.
day
, hour
Actual daily/hourly rate this project will be invoiced at. Equal to price / initialTimeEstimate.
Duration unit: days or hours.
day
, hour
0.1
List of risks this project is exposed to.
List of all risks projects and tasks are exposed to:
- budgetOverRun: total amount spent is greater than the inBudgetitial budget, or revised budget is greated than initial budget.
- delayedDelivery: revised delivery date is later than initially planned or project is still ongoing but its revised delivery date is already passed.
- highlyDiscounted: the discount amount is greater than the configured threshold.
budgetOverRun
, delayedDelivery
, highlyDiscounted
List of anomalies this project is exposed to.
List of all anomalies projects and tasks are exposed to:
- noServices:
- missingOwner: An owner is missing
- missingClient: The project or the task has no Client
- missingName: The name of the project/task is missing
- missingCode:
- missingStandardRateCard:
- fixedPriceInvoicingMismatch:
- budgetExceeded:
- deliveryDateExceeded:
- dueInvoiceMilestone:
noServices
, missingOwner
, missingClient
, missingName
, missingCode
, missingStandardRateCard
, fixedPriceInvoicingMismatch
, budgetExceeded
, deliveryDateExceeded
, dueInvoiceMilestone
Was this page helpful?
curl --request GET \
--url https://{account}-{sandboxName}.sandbox.{server}.luccasoftware.com/timmi-project/api/v4/projects
{
"next": "<string>",
"prev": "<string>",
"count": 1,
"items": [
{
"id": 2,
"name": "<string>",
"code": "<string>",
"client": {
"id": 123,
"name": "<string>",
"code": "<string>",
"externalCode": null
},
"owner": null,
"status": "draft",
"contractType": "nonBillable",
"startsOn": null,
"createdAt": "2023-11-07T05:31:56Z",
"lastModifiedAt": "2023-11-07T05:31:56Z",
"price": null,
"authorizedActions": [
"canEditAndDelete"
],
"organizationId": 2,
"description": "",
"initialDeliveryDate": null,
"revisedDeliveryDate": null,
"launchedAt": null,
"lastChargedOn": null,
"standardRateCard": {
"id": 2,
"name": "<string>"
},
"initialTimeEstimate": null,
"revisedTimeEstimate": null,
"standardRate": null,
"billRate": null,
"initialBudget": null,
"revisedBudget": null,
"discount": null,
"discountRate": null,
"estimatedOverrun": null,
"initialRecoveryRate": null,
"estimatedRecoveryRate": null,
"totalInvoiced": null,
"risks": [
{
"type": "budgetOverRun",
"label": "<string>"
}
],
"anomalies": [
{
"type": "noServices",
"label": "<string>"
}
],
"invoicingWarnings": [
{
"type": "unapprovedItems",
"applicableFrom": "2021-07-22",
"preventsInvoicing": true,
"label": "<string>"
}
]
}
]
}