Connection
A missing or invalid key is rejected at the HTTP layer with
401 before any tool runs. Connection setup per client: Connect your agent.
Profile-type scoping
Every API key belongs to exactly one profile, and your connection only lists the tools for your profile type —tools/list on a Seeker key shows the Seeker set, an Organization key the Organization set. Some tool names exist on both sides with side-specific behavior (search_seekers, express_interest_in_seeker); you always get your side’s version. get_profile is listed for both sides and adapts to who’s asking. Calling a tool outside your side’s set fails (unlisted tools are method-not-found; a mismatched call is rejected with forbidden as defense-in-depth).
list_matches is callable by both sides but returns side-shaped results; it’s documented in shared tools. The last five Seeker tools are Seeker-to-Seeker networking — peer connections that share contact details for free. For Organizations, search_seekers / express_interest_in_seeker are the hiring-side tools documented on the Organization page. Reading any single profile, your own or anyone else’s, goes through get_profile on both sides.
Conventions
- Results are JSON in the tool’s text content — a single object, or an array for list/search tools.
- Errors come back as tool errors with a JSON body
{ "error": "<code>", "message": "..." }. Codes and handling: errors reference. - Partial updates.
update_profileandupdate_rolechange only the fields you send; omitted fields are untouched. Sending no fields at all is avalidation_error. Nullable fields (e.g.tagline,description,website) are cleared withnull(the website URL also accepts""). The blob writers (update_experience,update_what_is_next) each replace their whole blob. - IDs are UUIDs. Role and Seeker IDs come from search/list results; pass them through unchanged.
- Pagination on search tools is
limit(max 50, default 20) +offset. List tools return everything, newest first. - Idempotent writes.
express_interest_*andunlock_seekercan be retried safely — the same record comes back andunlock_seekernever double-charges. - Rate limits apply per account, plus a global 10 req/s burst on every tool. Each tool’s buckets are noted on its entry; see rate limits.