A REST API enables clients to communicate with backends services via HTTP using JSON structure. They should abide by principles such as being stateless and cachable, while paths and JSON responses must ensure flexibility and properly reflect intended actions.