The Solvice Platform


The Solvice Platform allows for solving multiple hard optimisation problems:

  • VRP: in routing optimisation
  • SHIFT: creating shifts according to a predefined demand
  • FILL: assigning resources to shifts
  • TASK: assigning tasks to resources within a shift

Platform structure: endpoints

Our platform is super simple. Per solver, we have 6 endpoints. You give us the input, we give you the output for an
optimization request of a certain kind.
Every solver has 3 action endpoints (POST requests):

  1. Solve: for optimizing requests. Read all about how optimization works in Intro to optimization.
  2. Evaluate: for evaluating solutions, whether they are feasible or not, human-made or algorithm-made. We return you
    the score of the solution.
  3. Suggest: for suggesting a multiple options for a single empty assignment. We return you a list of suggestions.

And 3 endpoints for retrieving information (GET requests):

  1. Status: Current state of the request: QUEUED, SOLVING, SOLVED, ERROR
  2. Solution: Solution response of the request
  3. Explanation: Explanation of the solution of the request. This explains what planning objects are involved in
    violated constraints.

Ideal flow:

Solver flow


You can use the same request body for that solver for every action. Check out the schemas in
the API reference.


Solving will optimize the schedule.

POST /v2/:solver/solve


Evaluating will only calculate a score for a certain (not-empty) schedule.

POST /v2/:solver/evaluate


Suggesting will create multiple suggestions for only 1 empty assignment into a schedule.

POST /v2/:solver/suggest



The status endpoint will return the status of the solve run and the id of the solve job.

GET /v2/:solver/jobs/:job_id/status


The solution endpoint will return the solution of the solve run if the status is SOLVED.

GET /v2/:solver/jobs/:job_id/solution


The explanation endpoint will return the explanation of the violated constraints of the solve run if the status

GET /v2/:solver/jobs/:job_id/explanation