Skip to main content
GET
/
timmi-project
/
api
/
projects
/
financials
List financials by project
curl --request GET \
  --url https://{host}/timmi-project/api/projects/financials \
  --header 'Authorization: <authorization>'
import requests

url = "https://{host}/timmi-project/api/projects/financials"

headers = {"Authorization": "<authorization>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<authorization>'}};

fetch('https://{host}/timmi-project/api/projects/financials', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/timmi-project/api/projects/financials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://{host}/timmi-project/api/projects/financials"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "<authorization>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://{host}/timmi-project/api/projects/financials")
.header("Authorization", "<authorization>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://{host}/timmi-project/api/projects/financials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'

response = http.request(request)
puts response.read_body
{
  "time": {
    "value": 128,
    "iso": "P5DT8H",
    "unit": "hour"
  },
  "spent": {
    "amount": 123
  },
  "progress": 123,
  "totalInvoiced": {
    "amount": 123
  },
  "managementOutstanding": {
    "amount": 123
  },
  "currentOverrun": {
    "amount": 123
  },
  "estimatedOverrun": {
    "amount": 123
  },
  "price": {
    "amount": 123
  },
  "currentRecoveryRate": 1,
  "initialRecoveryRate": 1,
  "estimatedRecoveryRate": 1,
  "currentDiscount": {
    "amount": 123
  },
  "discountedSpent": {
    "amount": 123
  },
  "spentToComplete": {
    "amount": 123
  },
  "timeToComplete": {
    "value": 128,
    "iso": "P5DT8H",
    "unit": "hour"
  },
  "next": "<string>",
  "prev": "<string>",
  "count": 1,
  "items": [
    {
      "project": {
        "id": 2,
        "code": "<string>",
        "name": "<string>",
        "client": {
          "id": 2,
          "code": "<string>",
          "name": "<string>",
          "externalCode": "<string>"
        },
        "owner": {
          "picture": {
            "href": "<string>"
          },
          "establishmentId": 123,
          "id": 123,
          "firstName": "<string>",
          "lastName": "<string>",
          "dtContractEnd": "<unknown>"
        },
        "status": "<unknown>",
        "contractType": "<unknown>",
        "initialDeliveryDate": "2023-12-25",
        "revisedDeliveryDate": "2023-12-25",
        "billRate": {
          "price": {
            "amount": 123
          }
        },
        "initialTimeEstimate": {
          "value": 128,
          "iso": "P5DT8H",
          "unit": "hour"
        },
        "revisedTimeEstimate": {
          "value": 128,
          "iso": "P5DT8H",
          "unit": "hour"
        },
        "anomalies": [
          {}
        ],
        "risks": [
          {
            "type": "<string>",
            "label": "<string>"
          }
        ],
        "invoicingWarnings": [
          {}
        ],
        "initialBudget": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "revisedBudget": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "price": {
          "amount": 123,
          "currencyId": "<string>"
        },
        "invoiceMilestonesTotal": "<unknown>",
        "discount": {
          "amount": 123
        },
        "startsOn": "<string>"
      },
      "time": {
        "value": 128,
        "iso": "P5DT8H",
        "unit": "hour"
      },
      "spent": {
        "amount": 123
      },
      "progress": 123,
      "totalInvoiced": {
        "amount": 123
      },
      "managementOutstanding": {
        "amount": 123
      },
      "currentOverrun": {
        "amount": 123
      },
      "estimatedOverrun": {
        "amount": 123
      },
      "price": {
        "amount": 123
      },
      "currentRecoveryRate": 1,
      "initialRecoveryRate": 1,
      "estimatedRecoveryRate": 1,
      "currentDiscount": {
        "amount": 123
      },
      "discountedSpent": {
        "amount": 123
      },
      "spentToComplete": {
        "amount": 123
      },
      "timeToComplete": {
        "value": 128,
        "iso": "P5DT8H",
        "unit": "hour"
      }
    }
  ]
}
{
"type": "<string>",
"title": "<string>",
"traceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"errors": {}
}
{
"type": "<string>",
"title": "<string>",
"traceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"errors": {}
}
{
"type": "<string>",
"title": "<string>",
"traceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"errors": {}
}
{
"type": "<string>",
"title": "<string>",
"traceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"errors": {}
}

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 array length: 1
Required range: x >= 0
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

time
null | Duration · object

Total time spent on all items.

Example:
{
"value": 128,
"iso": "P5DT8H",
"unit": "hour"
}
spent
null | Price · object

Total value (standard prices) of the whole time spent on all items.

progress
number

Ratio of budget spent. Equal to Spent / RevisedBudget.

Must be a multiple of 0.01
totalInvoiced
null | Price · object

Total amount of all invoices issued on the items.

managementOutstanding
null | Price · object

Total worth of uninvoiced time spent. Equal to Spent - TotalInvoiced.

currentOverrun
null | Price · object

Value of the budget overrun as of today. Equal to Spent - InitialBudget.

estimatedOverrun
null | Price · object

Value of the estimated budget overrun upon project end. Equal to Spent - RevisedBudget.

price
null | Price · object

Total price of all items.

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
null | Price · object

Ratio of total discount already spent.

discountedSpent
null | Price · object

Equal to Spent - CurrentDiscount.

spentToComplete
null | Price · object

Equal to RevisedBudget - Spent.

timeToComplete
null | Duration · object

Equal to spentToComplete / standardPrice.

Example:
{
"value": 128,
"iso": "P5DT8H",
"unit": "hour"
}
next
string<uri> | null
prev
string<uri> | null
count
integer | null
Required range: x >= 0
items
The Project Financials resource · object[]