Chef Server API requirements


I read that Chef Server API is a REST API.
If I use Chef Server API, does it require that I install Chef DK or any other Chef software
on the workstation? What does it depend on ?



What do you want to do with the API? If you just want to read and update documents on the Chef Server in a scripted/programatic way, see here:


I am thinking if there is a way if I can use Chef Server API to get the Chef server to somehow restart service on remote nodes.


The Chef Server is just a normal HTTP application with no persistent connection to the nodes. Clients make requests and the server returns and optionally updates some data from its database.

If you need to restart a service on some machines, you’d use a service resource in a recipe. In the typical case, when you manage that service’s dependencies (config files and the like) with Chef, you can wire things up with notifications to ensure the service is restarted when it’s supposed to be.

If you have a different use case, such as restarting a bunch of services because you’re mitigating an availability problem, or you need to shut down/start/restart services as part of the deployment of an application that is composed of many services, that is more complicated. There are ways to do it, but which way is best depends on what you are trying to achieve.