Documentation Get help

Scenarios

A scenario is a copy of the plan where changes are modelled before they’re merged into live data. Background: Live data and scenarios.

REST reads and writes live data. The one exception is functional groups. To create, read or change a scenario from code, use the MCP server.

TaskREST APIMCP server
Create or list scenarios—Yes
Read or change people, teams, projects and allocations in a scenario—Yes
Read or change functional groups in a scenario?scenarioId=Yes
Submit, approve or merge—— (in the app)

scenarioId on other endpoints

Don’t send scenarioId to anything except /functional-groups. On employees, contractors, vacancies, teams and projects it is checked but not applied:

RequestResult
scenarioId isn’t one of your organisation’s scenarios404 NOT_FOUND
GET with a valid scenarioIdLive data
POST, PATCH, DELETE, or POST /vacancies/{id}/fill, with a valid scenarioId501 NOT_IMPLEMENTED; nothing written
{
  "error": {
    "code": "NOT_IMPLEMENTED",
    "message": "Scenario mode is not yet supported for create operations"
  }
}

Functional groups

Every /functional-groups read and write takes ?scenarioId= and acts on that scenario. Omit it, or pass main, for live data.

The key needs its usual functional group permissions, and the key’s creator must be able to use the scenario:

RequirementOtherwise
ReadThe creator’s role has Use Scenario Plans, and the scenario is open or was created by or assigned to the creator.403 FORBIDDEN
WriteAlso Edit Scenario Plans. The scenario is in Draft, and any budget proposal it belongs to is still open for editing.403 PLAN_NOT_EDITABLE
AnyThe scenario belongs to the key’s organisation.403 FORBIDDEN