PUT
/
timmi-project
/
api
/
v4
/
projects
/
{projectId}
curl --request PUT \
  --url https://{account}-{sandboxName}.sandbox.{server}.luccasoftware.com/timmi-project/api/v4/projects/{projectId} \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "code": "<string>",
  "clientId": 2,
  "ownerId": 2,
  "contractType": "nonBillable",
  "startsOn": null,
  "description": "",
  "initialDeliveryDate": null,
  "standardRateCardId": 2,
  "standardRateCard": {}
}'
{
  "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>"
    }
  ]
}

Path Parameters

projectId
integer
required

Unique identifier of the project.

Body

application/json

Definitions

Projects are the main resources in Timmi Project.

They belong to a single Client and Organization. Internal (non-billable) projects may be attached to a client that represents your own company.

Any billable project, whether fixed price or time and materials, must have a owner, start and end dates, and a contract:

  • A fixed price project must have prices set on its services.
  • A time and materials project must have bill rates set on its services.

A Project is only available for time submission while on the "ongoing" status. Whenever a project is marked as complete or abandonned, all its services' estimates are adjusted to the actual spent value.

A project must be valid (ie all required fields must be set) before its status can be set to "ongoing".

Once ongoing, a project cannot go back to the "draft" status and can no longer be deleted. It may only be abandonned or complete.

Fields

name
string
required
Maximum length: 255
clientId
integer
required
Required range: x > 1
standardRateCardId
integer
required
Required range: x > 1
code
string | null

Defaults to an automatically generated value.

Maximum length: 255
ownerId
integer
Required range: x > 1
contractType
enum<string>
default:
nonBillable

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.
Available options:
nonBillable,
fixedPrice,
timeAndMaterials,
cappedTimeAndMaterials
startsOn
string | null

Start of the project execution.

description
string | null
default:

Optional markdown formatted description.

initialDeliveryDate
string | null

Initially planned delivery date.

standardRateCard
object

Standard rate card version applicable for this project. Used for profit analysis.

Response

200
application/json
OK

Definitions

Projects are the main resources in Timmi Project.

They belong to a single Client and Organization. Internal (non-billable) projects may be attached to a client that represents your own company.

Any billable project, whether fixed price or time and materials, must have a owner, start and end dates, and a contract:

  • A fixed price project must have prices set on its services.
  • A time and materials project must have bill rates set on its services.

A Project is only available for time submission while on the "ongoing" status. Whenever a project is marked as complete or abandonned, all its services' estimates are adjusted to the actual spent value.

A project must be valid (ie all required fields must be set) before its status can be set to "ongoing".

Once ongoing, a project cannot go back to the "draft" status and can no longer be deleted. It may only be abandonned or complete.

Fields

name
string
required
Maximum length: 255
id
integer
Required range: x > 1
code
string | null

Defaults to an automatically generated value.

Maximum length: 255
client
object
owner
object | null

The user assigned as this project lead. Set through the ownerId field.

status
enum<string>
default:
draft

Project is only available for time submission when having a "ongoing" status. Status can be updated through the "status-updates" API.

Available options:
draft,
ongoing,
completed,
cancelled,
suspended,
archived
contractType
enum<string>
default:
nonBillable

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.
Available options:
nonBillable,
fixedPrice,
timeAndMaterials,
cappedTimeAndMaterials
startsOn
string | null

Start of the project execution.

createdAt
string

Timestamp of the project creation.

lastModifiedAt
string

Timestamp of the last update to the project.

price
object | null

Price of the project. Equal to the sum of this project's services prices.

authorizedActions
enum<string>[]

Actions the current user can do on the project.

Available options:
canEditAndDelete,
canUpdateStatus
organizationId
integer

Identifier of the organization this project belongs to. Inherited from the client.

Required range: x > 1
description
string | null
default:

Optional markdown formatted description.

initialDeliveryDate
string | null

Initially planned delivery date.

revisedDeliveryDate
string | null

Updated planned (or actual) delivery date.

launchedAt
string | null

Timestamp of the project launch.

lastChargedOn
string | null

Timestamp of the last time or expense allocated on the project.

standardRateCard
object

Standard rate card version applicable for this project. Used for profit analysis.

initialTimeEstimate
object | null

Initial estimate of the work duration needed to complete the project.

revisedTimeEstimate
object | null

Updated estimate of the work duration needed to complete the project. Can be modified through creating a new EstimateToComplete.

standardRate
object | null

Standard daily/hourly rate this project should be invoiced at. Equal to (price + discount) / initialTimeEstimate.

billRate
object | null

Actual daily/hourly rate this project will be invoiced at. Equal to price / initialTimeEstimate.

initialBudget
object | null

Sum of this project's services initial budgets.

revisedBudget
object | null

Sum of this project's services revised budgets.

discount
object | null

Sum of this project's services discounts.

discountRate
number | null
Must be a multiple of 0.1
estimatedOverrun
object | null

Difference between this project's initial budget and its revised budget. Represents the planned overrun upon completion.

initialRecoveryRate
number | null
estimatedRecoveryRate
number | null
totalInvoiced
object | null

Sum of all invoices issued for this project.

risks
object[]

List of risks this project is exposed to.

anomalies
object[]

List of anomalies this project is exposed to.

invoicingWarnings
object[]

Was this page helpful?