That is why you use jq --arg for the input instead of crafting it by string concatenation.
data=$(jq -n \
--arg title 'what"ever' \
--arg endpoint 'foo"bar' \
'{
"title": $title,
"endpoint": $endpoint,
"enabled": true
}')