Require a slug to be present in the request JSON

Return 422 if it isn't present. We need the slug to construct the
base_path for the publishing API.