Budget

Create a budget phase

Adds a phase to the budget.

post/projects/{projectId}/budget/phases

Request

  • Base URL: https://next-api.saturation.io/v1
  • URL: https://next-api.saturation.io/v1/projects/{projectId}/budget/phases
  • Auth: HTTP bearer

Path parameters

projectIdstring required

Project ID or slug.

Headers

Idempotency-Keystring required

A 16 to 255 character key for safe retries. Reusing the key with a different request returns 409 idempotency_conflict.

Request body

type'estimate' | 'actual' | 'rollup' | 'committed' required

The phase type.

namestring required
aliasstring
colorstring
isHiddenboolean
displayDecimalsinteger nullable
baseCurrencyIdstring nullable
actualDateStartstring date nullable
actualDateEndstring date nullable
actualStatusesstring[] nullable
actualSourceTypesstring[] nullable
actualCurrenciesstring[] nullable
actualContactIdstring nullable
actualTagIdsstring[] nullable
actualBudgetLineIdsstring[] nullable
estimateTagIdsstring[]
overtimeFactorsstring[]
committedDateStartstring date nullable
committedDateEndstring date nullable
committedContactIdstring nullable
committedPhaseIdsstring[]
committedPoStatusesstring[]
derivedFromPhaseIdstring

The estimate phase to use as the starting point. Both phases must have type: estimate.

copyValuesboolean

Whether to copy values from derivedFromPhaseId. Defaults to true.

rollupFormulastring

A formula for a rollup phase. Reference phases as @{phaseId} and combine them with + or -. A rollup without a formula totals 0.

rollupDisplayMode'value' | 'percent' | 'bars' | 'margin' | 'null' nullable

Example request

{
  "type": "estimate"
}

Response

The created phase.

idstring required

A stable resource ID, such as prj_…, txn_…, or doc_….

type'estimate' | 'actual' | 'rollup' | 'committed' required

The phase type.

namestring required

The phase name.

aliasstring nullable

A short name for the phase column.

colorstring nullable

The phase color.

sortinteger required

The phase's display order.

isHiddenboolean required

Whether the phase is hidden.

displayDecimalsinteger nullable

Decimal places shown for phase amounts. Null uses the currency default.

baseCurrencyIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

actualDateStartstring date nullable
actualDateEndstring date nullable
actualStatusesstring[] nullable
actualSourceTypesstring[] nullable

Sources included in an actual phase. Manual transactions use manual.

actualCurrenciesstring[] nullable
actualContactIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

actualTagIdsId[]
actualBudgetLineIdsId[] nullable
estimateTagIdsId[]
overtimeFactorsstring[]
committedDateStartstring date nullable
committedDateEndstring date nullable
committedContactIdstring

A stable resource ID, such as prj_…, txn_…, or doc_….

committedPhaseIdsId[]
committedPoStatusesstring[]
rollupFormulastring nullable

The formula for a rollup phase.

rollupDisplayMode'value' | 'percent' | 'bars' | 'margin' | 'null' nullable

Example response

{
  "id": "phs_estimate",
  "type": "estimate",
  "name": "Estimate",
  "alias": "EST",
  "color": "blue",
  "sort": 0,
  "isHidden": false
}

Changes

No recorded changes to this operation across all 4 revisions of this API.