Skip to main content
The Fill API returns optimized shift assignments with scoring information and optional explanations.

Response Structure

Top-Level Fields

string (UUID)
required
Unique identifier for the solve job.
string
required
Job status: QUEUED, SOLVING, SOLVED, or ERROR.
object
required
Solution quality indicator. See Score.
array
required
List of employee-shift pairings. See Assignment.
array
List of shift names that could not be filled.
object
Map of unassigned shift name to the list of hard constraints (e.g. Employee Skill Match) that blocked assignment for that shift.
array
Not currently populated by Fill. See ViolatedConstraint.
array
Not yet implemented for Fill. See Suggestion.

Score

The score indicates solution quality using a three-tier system.
integer
required
Hard constraint violations. Must be 0 for a feasible solution.
integer
required
Medium constraint violations. Less critical than hard constraints.
integer
required
Soft constraint penalties. Used to optimize solution quality.
boolean
required
true if hardScore is 0. Indicates all hard constraints are satisfied.

Score Interpretation

A negative soft score is normal and expected. The solver minimizes soft score violations while keeping hard constraints satisfied.

Assignment

Each assignment represents an employee assigned to a shift.
string
required
Shift identifier from the request.
datetime
required
Shift start time.
datetime
required
Shift end time.
array
required
Skills required for this shift.
string
required
Assigned employee name.
integer
Travel time from employee location to shift location (if locations provided).

Example Assignment List


ViolatedConstraint

violations is a field inherited from the shared response model, but Fill does not currently populate it — it is always absent on Fill responses. Use unassigned and unservedReasons on this response for per-shift blocking information, or call /v2/fill/jobs/{id}/explanation for detailed conflict data (conflicts, unresolved).
string
required
Constraint identifier.
number
required
Violation magnitude. Higher values indicate larger deviations.
string
required
Constraint level: HARD, MEDIUM, or SOFT.

Suggestion

The Fill /suggest endpoint is not yet implemented, and FillMapping never sets suggestions on a real solve response. This section is documented for forward compatibility only.
Alternative assignment options intended to be returned by the suggest API, using the same shape as Assignment.
string
required
Shift identifier from the request.
datetime
required
Shift start time.
datetime
required
Shift end time.
array
required
Skills required for this shift.
string
required
Suggested employee.
integer
Travel time from employee location to shift location (if locations provided).

Weights Reference

Available constraint weights for customization in requests.

Custom Weight Format

Override defaults using the format <weight><priority>:
Use weights to balance competing objectives. Increase weights for constraints that matter most to your business.