Enrich person services (not shipped)
⛔ NOT SHIPPED YET. Contract locked, capability not built; returns not_implemented, do not retry. The “Providing services” card (service-provider profiles): offered service categories. Complements scraping-side search-service-providers (that discovers providers, this reads one provider’s own card). 1 credit, cached 7d.
Not shipped yet. The registry marks this route availability=stub_501: the backend validates the whole request and then answers 501 not_implemented. The request contract is final, so integrations can be written and tested against it today. Marked deprecated so generated clients flag it at compile time; this is a NOT-YET flag, not a sunset.
Contract:
- MCP tool
enrich_linkedin_person_services, registry packagemcp.linkedin/linkedin_enrichment, mountlinkedin.enrichment. - Operation
action, response envelopeaction. - Flags: creditable: the response carries a
creditsblock and the call can debit the team ledger.
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_services.
ln_id (ACoAA…) or sn_id (ACwAA…), interchangeable for dispatch. Provide profile_id XOR public_identifier.
128Vanity slug from /in/…. 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.
100Preferred executor account (ln_ac_…). OPTIONAL: given + enrichment bucket budget → own account, charged 0; given + bucket saturated → pool + credits; omitted → pool + credits. There is no use_credit flag: §9.5 resolution is automatic.
18^ln_ac_Replay guard (team_sid, idempotency_key). A repeat with the same key returns the stored ledger outcome: no re-execution, no double charge.
128