Skip to main content
Quick Summary: Team Data is everything the API records about a person, as opposed to what the company configures. Every resource here has the same three-part shape — person + definition + evidence — and these are the records an integration syncs daily.

The shared shape

Every Team Data record joins a person to a System Object and attaches what was observed: Once you know a resource’s definition side, you already know most of its read shape. The differences are in the evidence.

The resources

Three rules that hold across the group

Grades are resolved rungs, never integers. Every grade and benchmark is returned as { id, grade, label } against the company grading scale. A bare integer does not rank. Expiry is derived from a date, never from a status. An approved certification or training stays approved in storage after its date passes. Reads carry a separate expiry signal — use it, rather than inferring currency from the status. History is written, not overwritten. Unassigning a career records career history first. Renewing a training supersedes the old record rather than deleting it. Removing a person skill writes history before it goes. Past state stays readable.

The definition must exist first

Team Data records cannot invent their definition side. A training record requires the skill to already be on the person’s profile. A learning plan requires the catalogue item. A person certification requires the library certification. Sync the System Objects first, then the records about people.

Detecting change

There are no webhooks. Poll the activity feeds — see Polling for Changes for the pattern, and the activity event envelope for the shape.