Enrich person education
Education history only, a subset projection of the full-profile wire call (NOT a stub: shares get-full-profile, no dedicated verb). cached 7d under its own method key (a cached full profile does NOT satisfy it). Not paginated. public_identifier passes straight through (native slug support).
Contract:
- MCP tool
enrich_linkedin_person_education, registry packagemcp.linkedin/linkedin_enrichment, mountlinkedin.enrichment. - Operation
action, response envelopeaction. - Flags: none.
Authorizations
Access token issued by gtm.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.
Team scope for tokens that do not carry one. Ignored when the token already names a team.
Body
Request body of enrich_linkedin_person_education.
ln_id (ACoAA…) or sn_id (ACwAA…), interchangeable for dispatch. Provide profile_id XOR public_identifier.
128Vanity slug from /in/…, or the whole profile URL it comes from (any linkedin.com host, locale or mwlite prefix, query and trailing slash included): the URL is reduced to the slug before dispatch, and both forms share one ledger entry. A linkedin.com URL that is NOT a profile URL is refused 422 public_identifier_not_resolvable instead of being sent as a slug. Provide public_identifier XOR profile_id. On sub-record methods a slug-only call needs a stored URN (run person-lite-profile first) or is refused not_dispatchable.
2048Executor account (ln_ac_...). Given: the call runs on that account ONLY; a saturated or held enrichment bucket refuses 429 bucket_saturated (with retry_after). Omitted: the service auto-picks one of your connected accounts with remaining capacity (422 no_connected_accounts when none is ready, 429 when all are at capacity).
18^ln_ac_Replay guard (team_sid, idempotency_key). A repeat with the same key returns the stored ledger outcome: no re-execution.
128