Edlink Identifiers
Edlink uses UUID v4 for all IDs. This is a 128-bit number represented as a 32-character string.
The format is 8-4-4-4-12 where each group of characters is a hexadecimal number. For example, a4a6d9e0-04c9-11e3-8ffd-0800200c9a66.
UUIDs are guaranteed to be unique and are randomly generated.
Edlink will assign a UUID to every entity it sees. Edlink never changes a source system’s identifiers on its own. Edlink IDs are derived from the external / source ID of the entity. While that source ID stays the same, the Edlink ID stays the same—including if a person is deleted from a system and later re-added with the same source ID.
This means if you see an ID in Edlink, you can be sure that it is unique to that entity for that source. You can safely use it to identify that entity in your system and if you see it again, you can be sure it is the same entity. You can also be sure that if you cannot find an entity by its ID, it has been deleted or is no longer shared with your application.
When Source IDs Change
If a school or source system changes an entity’s source ID (for example, regenerating OneRoster sourcedId values after an SIS or HR migration), Edlink treats that as a new entity:
- A new Edlink ID is created for the new source ID.
- There is no migration path inside Edlink to keep the previous Edlink ID bound to the new source ID.
- Downstream applications must rematch users (or other entities) themselves—for example by comparing email, state ID, or another stable identifier your product already stores. See Selecting a Unique Identifier for guidance.
ID Scope
Edlink IDs are assigned at the Source level. This has implications for how IDs appear across different Integrations and Data Sources:
- Same Source, Multiple Integrations: If a single Data Source is connected to multiple Integrations, the entities (People, Classes, etc.) will share the same Edlink IDs across those Integrations. For example, if a district connects their Canvas instance to both your Staging and Production applications, a specific student will have the exact same
idin both environments. - Different Sources: If the same real-world individual appears in different Data Sources (e.g., a Canvas Source and a PowerSchool Source), they will have different Edlink IDs for each source.
Edlink IDs
Edlink IDs are universally unique and will not conflict across entities. For a given source ID on a given source, the Edlink ID remains stable for the life of that mapping. Edlink does not rewrite source IDs, and it does not offer a built-in remap when the school changes those source IDs.
Because of this, you can store Edlink IDs in your database and use them to identify entities as long as the upstream source IDs have not changed. Additionally, you can be sure that you are always working with the correct entity for that mapping. IDs can be public and are not considered sensitive information. However, they are not meant to be human-readable and should not be displayed to users. They are primarily a backend tool for use in your application.