As our url structure is changing, we would like to move all of our documents from 1 locale to another one (from US to a global one) so that our original Locale can start being used for localised content & the new locale can become our master.
We've tried using the Copy to Locale feature for the docs, but then it seems to lose it's relationship to the linked documents (I assume as they don't exist yet on the new locale).
When we try to copy again after the linked documents do exist, it unfortunately adds a 1 to the end of the URL + still doesn't copy over the link.
We tried the migration API by loading in the doc and then updating the lang field but that doesn't seem to work either. Is there any other way to just move over all the documents in it's current state to the new Locale (or just change the name of that existing locale to something else)
The migration API is your best option for this situation. If you prefer to do it manually, you will need to ensure that all related equivalent documents are added in a release to prevent any broken links.
That's great to know, can we just change the language on a document using the migration API (as it didn't seem to take when we tried that), or do we have to create new copies of all the documents (& if we do that, then how do we keep the links as the document id's would be different at that point?)
You cannot change the language code for a main document. If you need the documents in a different language, you'll have to create new translations of each one.
Please note that while IDs are unique to each document, you can use the same UID field value for both the main document and its translations.