Changing A record and CNAME records
Solution 1:
As mentioned in the comments, you will need to use A records instead of CNAME records. CNAME records will not be able to point at an IP Address.
The key to making each of the sites to work is to specify ServerName correctly for each virtual server in your Apache config.
Solution 2:
Use A
record to point to the sub domains
myurl.com. A 300 123.123.123.123
api.myurl.com. A 300 123.123.123.123
app.myurl.com. A 300 123.123.123.123
preview.myurl.com. A 300 123.123.123.123
www.myurl.com. CNAME 300 myurl.com.