SWSD Create custom fields using API

I am working on a company that needs to create catalog items which contains custom fields of type Multi Picklist that can be updated over programming using the API System since the field will be updated filtered on the site, department and either if (for example) a machine disconnects or is no longer available. Moreover, if that is not possible, is there a way to implement a configuration item from the CMDB into a catalog item so that we can do the same thing as if it was a custom field?