Generally spaces in content types makes it difficult to work with API. You will have to encode space using HTML space entities. Perhaps it is a good idea for Plone.restapi to handle these by using underscore '_' instead. Any thoughts or suggestions ?
/@types/Contact Detail
/@types/Contracting Process
/@types/Extractive Concession
Is this a real-world issue? You can use something like a dotted name or a string without spaces or with underscore as id of a portal_type. This would be used for queries, for the plone.restapi. The title of a portal_type is different field and can be anything...it is only used for display purposes but never for processing purposes...in addition to that: the title can be translated too...I always use something like mypackage.somthing ...e.g. xmldirector.connector for the Connector content type in my xmldirector.connector package.