list_person_interests
List a person's interest pairs
All MCP toolsRead
The person's folded person↔job pairs, most recently active first: their own verbs (own-view, so own negatives and private annotations included), whether the employer side currently says interested, the mutual flag, and the note the person sent with their standing interested (null when none). Counterpart negatives and rationales NEVER appear — a lost mutual is observable only as its absence (ADR-0084). Reading as the person themselves shows their pairs with every employer; reading with an organization's credential shows only the pairs with THAT organization. Paginated by keyset cursor: pass the returned nextCursor as the next call's cursor to continue; null nextCursor = the final page.
Input schema
{
"type": "object",
"properties": {
"personId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The person whose pairs to list (persons.id)."
},
"limit": {
"description": "Page size, 1..50 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"description": "Opaque continuation token — the previous page's nextCursor. Omit for the first page.",
"type": "string",
"minLength": 1
}
},
"required": [
"personId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema
{
"type": "object",
"properties": {
"interests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The job side of the pair (jobs.id)."
},
"jobTitle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Job title; null when the job row is gone (capture outlives the job)."
},
"mine": {
"type": "object",
"properties": {
"strong": {
"description": "The side's standing strong verb, if any.",
"type": "string",
"enum": [
"interested",
"offered",
"passed",
"not_interested",
"withdrawn",
"declined"
]
},
"weak": {
"description": "The side's latest weak verb, if any.",
"type": "string",
"enum": [
"saved",
"dismissed"
]
}
},
"additionalProperties": false,
"description": "The person's own verbs — own-view, negatives included."
},
"employerInterested": {
"type": "boolean",
"description": "The designed reveal: whether the employer side currently says interested."
},
"mutual": {
"type": "boolean"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The note the person sent with their standing interested — what the company reads before mutual interest; null when none rides it."
}
},
"required": [
"jobId",
"jobTitle",
"mine",
"employerInterested",
"mutual",
"note"
],
"additionalProperties": false,
"description": "One person↔job pair on the candidate's own interest list."
},
"description": "One page of the person's pairs, most recently active first."
},
"nextCursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Pass as the next call's cursor to continue; null on the final page."
}
},
"required": [
"interests",
"nextCursor"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}