Hello,
You're pretty much correct on the definitions but here are some additional information regarding those terms:
vSphere is just the name of the platform, in this case it's the 4th generation hence vSphere 4.x. Within vSphere, it is comprised of the hypervisor (ESX or ESXi) and vCenter which is the centralized management system and integration point for both auxiliary VMware products such as CapacityIQ, vCenter Operations, etc. along with 3rd party tools. vCloud Director and it's APIs is another level of abstraction which sits ontop of the vSphere platfom, it's APIs actually make use of the vSphere API. vCloud looks at consuming resources from within a vSphere environment or multiple vSphere environment and instead of dealing with provising a single VM, you're looking at vApps as it's main construct for virtual machines. Instead of provisining storage, networks, cpu and memory, you're consuming virtual datacenters which contains your computes/etc.
So having said that, you may need to leverage both APIs depending on what you're trying to accomplish. If you're managing an internal/external vCloud Director configuration, then you will need to use vCloud API which is REST based. If you're managing vSphere environment within your own datacenter, then you'll want to leverage the vSphere API which is provided as a standard webservices API. If you plan on running both an internal and external vCloud Director setup, then you would only need a single API, remember that vCloud Director can run in both your internal datacenter and can also be offloaded to external providers. Some of the recent tools like vCloud Connector allows you to move an offline vApp from vSphere/vCloud Director environment to both internal and external vSphere/vCloud Director environment.
Here are a few additional links that may also be helpful:
http://www.bythebell.com/2011/03/a-40000-foot-view-of-vmware-vcloud-director.html
http://www.doublecloud.org/2010/09/object-model-of-vmware-vcloud-api-the-big-picture-in-2-minutes/
http://www.doublecloud.org/vmware-vsphere-api-and-sdk-faq/