The so-called 'external' identifiers are configured in the TeamCity web UI (e.g. Project ID) and must be unique within all the objects of the same type on the entire server; note that build configurations and templates share the same ID space.
IDs can contain only alpha-numeric characters and underscores ("_") - maximum 80 characters - and should start with a Latin letter.
By default, TeamCity automatically suggests an ID for an object by converting its name to match the ID requirements and prefixing that with the ID of the parent project. The ID can be modified manually.
It is recommended to leave the automatically generated IDs as is unless there are special considerations to modify them.
If you consider moving projects between several TeamCity server installations, it is a good practice to make sure that all the IDs are globally unique.
note
On changing the ID of a project or build configuration, all the related URLs (including the web UI, artifact download links, RSS feeds and REST API) will change. If any of the URLs containing the old IDs were bookmarked or hard-coded in the scripts, they will stop to function and will need update. At the moment of the ID change, the correspondingly named directories under TeamCity Data Directory (including directories storing settings and artifacts) are renamed and this can take time.
To reset the IDs to match the default scheme for all projects, VCS roots, build configurations and templates, use the Bulk Edit IDs action on the Administration page of the parent project. To use the automatically generated ID after it has been modified or after you change an existing object name, you can regenerate ID using the Regenerate ID action.
When you copy a project, TeamCity automatically assigns new IDs to all the child elements. The IDs can be previewed and changed in the Copy dialog. When you move an object, its ID is preserved and you might want to use Regenerate ID action to make the ID reflect the new placement.
Universally Unique IDs
TeamCity projects, build configurations, and VCS roots have a UUID, an automatically generated, globally unique ID. UUID is stored in the corresponding entity XML configuration file located in the <TeamCity data directory>/config directory. These UUID should never be edited manually. When a new entity is created by placing a file in the data directory, it should have no "uuid" attribute. In this case TeamCity will generate it automatically and will persist in the file.