Understanding Degreed IDs

What Are IDs in the Degreed API?

In the Degreed API, IDs are unique identifiers used to reference objects such as users, content, skills, and other resources. These IDs are generated by Degreed and are required for many API requests and responses.

Degreed API IDs are generated using Hashids, resulting in non-sequential, obfuscated strings that uniquely identify resources.

ID Characteristics

When working with Degreed API IDs, keep the following behaviors in mind:

  • Case sensitive: API IDs are case sensitive. For example, AbC123 and abc123 are treated as different IDs.
  • Immutable: Do not modify IDs in any way. This includes changing the letter case.
  • Unique by exact string match: IDs that differ only by letter case are considered distinct.

Because of case sensitivity, it is possible to see what may appear to be duplicate IDs if the only difference is letter casing. This is expected behavior.

Common Types of IDs

You may encounter multiple identifiers when working with Degreed APIs, including:

  • id: The Degreed-generated Hashid used internally and across APIs.
  • employee-id: A customer-defined identifier, often sourced from an external system such as an HRIS or identity provider.

These identifiers serve different purposes:

  • Use id when making API calls that require a Degreed system identifier.
  • Use employee-id to map Degreed users to records in your external systems.

Do not assume these values are interchangeable.

Best Practices for Working with IDs

Always treat Degreed API IDs as exact, case-sensitive strings. Store and transmit IDs exactly as returned by the API, and do not generate, transform, normalize, or change letter casing at any point in your integration or downstream systems.