Core API and specification