Projects

create-deadline-tool

Create a deadline under a budget.

Creates a deadline on the given budget. The status defaults to new unless explicitly set; setting it to finished also flips is_finished automatically via the model hook.

Inputs

NameTypeRequiredDescription
budget_idintegeryesParent budget id.
deadlinestring (Y-m-d)yesDue date.
minutesintegeryesEstimated effort in minutes, ≥0.
descriptionstringyesShort description (max 255).
commentstring | nullnoLonger comment.
user_idinteger | nullnoAssignee user id. Leave empty for an unassigned deadline.
team_idinteger | nullnoTeam id.
statusstringnoOne of on-hold, new, active, internal-test, external-test, finished. Defaults to new.
is_finishedbooleannoDefaults to false. Auto-synced with status.
is_billablebooleannoDefaults to true.

Permissions

  • Assigning to yourself: kanban::manage_self.
  • Leaving unassigned or assigning to another user: kanban::manage_for_others.
  • The caller must also pass the project policy's view gate for the budget's project.

Example

{
  "budget_id": 31,
  "deadline": "2026-06-01",
  "minutes": 480,
  "description": "Wireframe review",
  "user_id": 4
}

Response

The created deadline, in the same shape as a row from list-deadlines-tool.

Errors

  • A missing required field returns a validation error.
  • An invalid status value returns a validation error.
  • A non-existent budget_id, user_id or team_id returns a validation error.
  • Missing project view access, kanban::manage_self or kanban::manage_for_others returns an authorization error.

On this page