Learn about Platform IDs, unique identifiers for each object on the Platform, enabling users easily and quickly to find, organize, and use each.
On the DNAnexus Platform, every entity - including projects, data objects, apps, and jobs - has a unique ID. In the case of projects, this ID will look something like
project-BQpp3Y804Y0xbyG4GJPQ01xv. These IDs must be used when trying to access or modify any entity, including projects, via the DNAnexus API.
Many entities, such as projects and data objects, can also be given custom names that are more readable and memorable, and distinct from their IDs. Entity names are used in the UI and elsewhere, to make it easier for users to organize entities, and find a particular entity.
Note that while an entity's name can change, its ID remains fixed. This ensures that the ID is a reliable means of referring to the entity, at all times.
When you add a data object to a project by copying it from a different project, the underlying object is not copied, and keeps the same ID.
To reference a particular copy of a data object, you must specify both the project and the data object.
Members of the other project are free to rename their copy of the object, and annotate it with different tags and properties. But the underlying data is immutable, ensuring that members of both projects see the same data, when accessing their copies of the object.
Keeping the same object ID across projects has a number of other advantages. It makes it easy for us to charge you only once for the same data you might have in multiple projects, and it makes it easy for you to tell when two data objects are actually the same even if they have different names in different projects.
Some metadata are locked down and can never be changed once the data object is closed. These fields are considered an integral part of the data object itself. This is discussed below.