POST/projects/api/v3/planning/autoschedule/validate.json

Validate a request without scheduling or saving.

Returns a 200 report describing whether the request can be scheduled, with validation state carried as fields in the report body. Requesting more than one project returns 400; unschedulable input (for example a dependency cycle, or tasks that have no possible assignee) returns 422. When no schedulable users are found the report sets noUsersLoaded=true instead of returning an error.

Body Params

Request is the shared request body accepted by all four /planning/autoschedule action routes (validate, preview, highlights and persist).

    • Name
      config
      Type
      object
      Description
      Config holds optional tuning parameters for a scheduling request. Every field is an optional pointer: an absent field falls back to its server-side default, which is distinct from sending an explicit zero.
    • Name
      lockedTaskIds
      Type
      array
      Description
      LockedTaskIDs lists tasks whose current assignees must be preserved: the scheduler may move their dates but will not reassign them.
    • Name
      projectIds
      Type
      array
      Description
      ProjectIDs is the set of projects to schedule. Exactly one project id is required; scheduling more than one project in a single request is not currently supported.

    Responses

    • Code
      200
      Type
      object
      Schema
      Description
      200 OK
      ValidateResponse is the /planning/autoschedule/validate 200 body. It is always returned with HTTP 200; validation issues are data, never errors.
    • Code
      400
      Type
      object
      Schema
      Description
      400 Bad Request
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      403
      Type
      object
      Schema
      Description
      403 Forbidden
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      422
      Type
      object
      Schema
      Description
      422 Unprocessable Entity
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      500
      Type
      object
      Schema
      Description
      500 Internal Server Error
      ErrorResponse defines how []Error should be marshaled to JSON.

    Examples

    200 OK

    ValidateResponse
    {
      "isValid": true,
      "noUsersLoaded": true,
      "projectsWithArtificialEndDate": [
        0
      ],
      "roleValidation": {
        "isValid": true,
        "unassignableTasks": [
          {
            "message": "string",
            "taskId": 0,
            "unassignableJobRoleIds": [
              0
            ]
          }
        ]
      },
      "taskCleanupValidation": {
        "errors": [
          {
            "errorType": "string",
            "message": "string",
            "taskId": 0
          }
        ],
        "isValid": true
      },
      "usersWithoutJobRole": [
        0
      ]
    }