I have multiple desktops. I want to be able to name them. Is it possible out of the box?
Or at least does MacOS have API for that? I'd create an application.
You cannot rename desktops in Mission Control.
You can’t rearrange or rename Spaces, either.
You get Desktop 1, Desktop 2, and so on, and that’s it.
There's a free app in the Mac App Store that (disclaimer) I made and launched in May of this year called CurrentKey that lets you give Spaces a persistent name via the menubar. It also lets you give each Space a unique icon, and tells you how you spend time across your Spaces (and the apps within them). Because macOS API's are limited, the names stay in the app and don't show up in Mission Control. But they are persistent.
The app also lets you jump directly to another named Space (it calls them "Rooms") via its dropdown menu or by a globally assigned hotkey. Because Apple lets you have up to 16 Spaces per screen, this is handy in navigating between them.