There's currently no direct way to convert a Contact into a Self-Service user - either via the UI or the API. The only workaround is:
  1. Edit the Contact's email address to an invalid one (to free up the real email)
  2. Delete the Contact
  3. Create a new Self-Service user using the valid email
  4. Reattach the newly created user as a Contact to existing work items.
This is clunky and error-prone. It also risks losing any history or associations tied to the original Contact record, since it's effectively deleted and recreated rather than converted.
A proper promote endpoint would let us handle contact-to-self service user conversion cleanly as part of automated workflows, without manual intervention or the risk of losing linked data.