GET
/
timmi-project
/
api
/
projects
/
financials
List financials by project
curl --request GET \
  --url https://{host}/timmi-project/api/projects/financials \
  --header 'Authorization: <authorization>'
{
  "time": null,
  "spent": null,
  "progress": 123,
  "totalInvoiced": null,
  "managementOutstanding": null,
  "currentOverrun": null,
  "estimatedOverrun": null,
  "price": null,
  "currentRecoveryRate": 1,
  "initialRecoveryRate": 1,
  "estimatedRecoveryRate": 1,
  "currentDiscount": null,
  "discountedSpent": null,
  "spentToComplete": null,
  "timeToComplete": null,
  "next": "<string>",
  "prev": "<string>",
  "count": 1,
  "items": [
    {
      "project": {
        "id": 2,
        "code": "<string>",
        "name": "<string>",
        "client": {
          "id": 2,
          "code": "<string>",
          "name": "<string>",
          "externalCode": "<string>"
        },
        "owner": {
          "id": 123,
          "firstName": "<string>",
          "lastName": "<string>",
          "dtContractEnd": "<any>",
          "picture": {
            "href": "<string>"
          },
          "establishmentId": 123
        },
        "status": "draft",
        "contractType": "nonBillable",
        "initialDeliveryDate": "2023-12-25",
        "revisedDeliveryDate": "2023-12-25",
        "billRate": null,
        "initialTimeEstimate": null,
        "revisedTimeEstimate": null,
        "anomalies": [
          {}
        ],
        "risks": [
          {
            "type": "<string>",
            "label": "<string>"
          }
        ],
        "invoicingWarnings": [
          {}
        ],
        "initialBudget": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "revisedBudget": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "price": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "invoiceMilestonesTotal": "<any>",
        "discount": null,
        "startsOn": "<string>"
      },
      "time": null,
      "spent": null,
      "progress": 123,
      "totalInvoiced": null,
      "managementOutstanding": null,
      "currentOverrun": null,
      "estimatedOverrun": null,
      "price": null,
      "currentRecoveryRate": 1,
      "initialRecoveryRate": 1,
      "estimatedRecoveryRate": 1,
      "currentDiscount": null,
      "discountedSpent": null,
      "spentToComplete": null,
      "timeToComplete": null
    }
  ]
}

Headers

Authorization
string
required

API key. Value must be formatted like so: lucca application={api_key}.

Query Parameters

organizationId
integer
required

Only return projects in given organization (by id).

projectContractType
any[]

Only return projects with given contract type.

projectStatus
any[]

Only return projects with given status.

projectOwnerId
integer

Identifier of the project lead.

hasProjectAnomaly
boolean

Only return projects with anomalies (any).

isProjectDelayedDelivery
boolean

Only return late projects (risk).

isProjectBudgetOverrun
integer

Only return overrun projects (risk)

isProjectHighlyDiscounted
boolean

Only return highly discounted projects (risk).

from
string<date>

Start date.

till
string<date>

End date.

projectId
integer[]

Identifier of the project.

Find a project based on its name or code.

projectIntersectsPeriod
string<date>[]

Only return projects with [startsOn, revisedDeliveryDate] dates intersecting given period ?projectIntersectsPeriod={start},{end}. In other words, projects that spread partially or completely over passed period. Projects with no dates startsOn: null, revisedDeliveryDate: null will always be returned (these may only be non-billable projects).

Required array length: 2 elements
Examples:

"2022-01-01,2022-01-31"

"2022-01-01,2022-12-31"

projectOwnerDepartmentId
integer[]

List the identifiers of departments the project owner must belong to.

Minimum length: 1
page
integer
default:1

Page number

Required range: x >= 1
limit
integer
default:10

Page size

fields.root
enum<string>

Return total items count (across all pages).

Available options:
count
sort
enum<string>

Sort results by property

Available options:
project.id,
-project.id,
project.name,
-project.name,
project.owner.lastName,
-project.owner.lastName,
project.price,
-project.price,
project.billRate,
-project.billRate,
discountedSpent,
-discountedSpent,
totalInvoiced,
-totalInvoiced,
managementOutstanding,
-managementOutstanding,
estimatedOverrun,
-estimatedOverrun,
estimatedRecoveryRate,
-estimatedRecoveryRate

Response

OK

items
The Project Financials resource · object[]
time
object | null

Total time spent on all items. Represents a duration in days or hours. ISO value is formatted as an ISO-8601 duration string. For example P5DT8H represents 128 hours. When sending a duration to the server, please only send either a value or an iso. In most cases, the unit is set on the project's organization and thus should not be sent in the request.

Examples:
{
"value": 128,
"iso": "P5DT8H",
"unit": "hour"
}
spent
object | null

Total value (standard prices) of the whole time spent on all items. Represents an amount of money. Is a value object containing a decimal number and a currency.

progress
number

Ratio of budget spent. Equal to Spent / RevisedBudget.

Must be a multiple of 0.01
totalInvoiced
object | null

Total amount of all invoices issued on the items. Represents an amount of money. Is a value object containing a decimal number and a currency.

managementOutstanding
object | null

Total worth of uninvoiced time spent. Equal to Spent - TotalInvoiced. Represents an amount of money. Is a value object containing a decimal number and a currency.

currentOverrun
object | null

Value of the budget overrun as of today. Equal to Spent - InitialBudget. Represents an amount of money. Is a value object containing a decimal number and a currency.

estimatedOverrun
object | null

Value of the estimated budget overrun upon project end. Equal to Spent - RevisedBudget. Represents an amount of money. Is a value object containing a decimal number and a currency.

price
object | null

Total price of all items. Represents an amount of money. Is a value object containing a decimal number and a currency.

currentRecoveryRate
number

Ratio between the total invoiced amount and the worth of all time spent. Equal to TotalInvoiced / Spent.

Required range: x >= 0Must be a multiple of 0.01
initialRecoveryRate
number

Ratio between the price and the initial budget of all items. Equal to Price / InitialBudget.

Required range: x >= 0Must be a multiple of 0.01
estimatedRecoveryRate
number

Ratio between the price and the revised budget. Equal to Price / RevisedBudget.

Required range: x >= 0Must be a multiple of 0.01
currentDiscount
object | null

Ratio of total discount already spent. Represents an amount of money. Is a value object containing a decimal number and a currency.

discountedSpent
object | null

Equal to Spent - CurrentDiscount. Represents an amount of money. Is a value object containing a decimal number and a currency.

spentToComplete
object | null

Equal to RevisedBudget - Spent. Represents an amount of money. Is a value object containing a decimal number and a currency.

timeToComplete
object | null

Equal to spentToComplete / standardPrice. Represents a duration in days or hours. ISO value is formatted as an ISO-8601 duration string. For example P5DT8H represents 128 hours. When sending a duration to the server, please only send either a value or an iso. In most cases, the unit is set on the project's organization and thus should not be sent in the request.

Examples:
{
"value": 128,
"iso": "P5DT8H",
"unit": "hour"
}
next
string<uri> | null
prev
string<uri> | null
count
integer | null
Required range: x >= 0