API discovery