Anonymized User Data


Clients can work with Degreed to enable a setting called Anonymize Private Learners. This setting affects users in that client's organization who have set their learner profile as private. These users are then anonymized.

The activity of private learners is not visible to their peers and co-workers but is still visible to system administrators and trusted third-party integrations. In contrast, the activity of anonymized learners is not accessible via the API at all.

When you request or send data about a particular user, if the user is anonymized, the API returns one of the following:

  • An HTTP 400 status,
  • An HTTP 404 status, or
  • The record with identifying details replaced appropriately with one of the following:
    • the string Anonymous
    • a null value
    • date-time values are set to their minimum value
    • numbers are set to 0

See below for more details about specific results for particular requests.

API Results

The API will return results differently if they involve a user who has requested anonymity.

Retrieving Individual User Records

/api/v2/users/{id} or sub-paths like /api/v2/users/{id}/completions

If you attempt to retrieve the individual record of an anonymized user, you will receive an HTTP 404 error status indicating that the record is not found. Your organization indicated that private users should be treated anonymously. To preserve the anonymity of these users, we prevent access to personally identified records.

Retrieving Bulk User Records

GET /api/v2/users/

You will receive an array containing a record for each user in your organization. Anonymous users will be denoted with a record that looks like the following:

	"type": "users",
	"id": "Anonymous",
	"attributes": {
		"employee-id": "Anonymous",
		"first-name": "Anonymous",
		"last-name": "Anonymous",
		"full-name": "Anonymous",
    "organization-email": "Anonymous",
		"personal-email": "Anonymous",
		"profile-visibility": "Private",
		"bio": "Anonymous",
		"location": "Anonymous",
		"profile-image-url": "Anonymous",
		"login-disabled": false,
		"restricted": false,
		"is-active-learner": false,
		"permission-role": "Anonymous",
		"job-role": "Anonymous",
		"alias-uid": "Anonymous",
		"preferred-language": "Anonymous",
		"real-time-email-notification": null,
		"daily-digest-email": null,
		"weekly-digest-email": null,
		"created-at": "0001-01-01T00:00:00",
		"first-login-at": null,
		"last-login-at": null,
		"total-points": 0.0,
		"daily-logins": 0
	"links": {
		"self": ""
	"relationships": [
			"manager": {
				"data": {
					"id": "Anonymous",
					"type": "users"

Retrieving Other Data that Involves Users

/api/v2/completions, /api/v2/required-learning, etc.

Anonymized users' IDs are replaced with the string Anonymous User. You can collect a list of all completions of some piece of content, but the API does not provide insight into particular users if they are anonymous.

Inserting and Updating Data about Anonymous Users

If a user is anonymous, attempts to create (POST) or update (PATCH) records about that user will fail. The API returns an HTTP 400 error status.