{"components":{"schemas":{"ApplicationStatus":{"enum":["saved","applied","interviewing","offer","rejected","accepted","archived"],"type":"string"},"AutoRetireStatus":{"enum":["rejected","archived"],"type":"string"},"AutoRetireTimeframe":{"enum":["one_month","three_months","six_months","one_year"],"type":"string"},"BillingInterval":{"enum":["monthly","annual"],"type":"string"},"BillingRedirect":{"additionalProperties":false,"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"BoardColumns":{"additionalProperties":false,"properties":{"accepted":{"items":{"type":"string"},"type":"array"},"applied":{"items":{"type":"string"},"type":"array"},"archived":{"items":{"type":"string"},"type":"array"},"interviewing":{"items":{"type":"string"},"type":"array"},"offer":{"items":{"type":"string"},"type":"array"},"rejected":{"items":{"type":"string"},"type":"array"},"saved":{"items":{"type":"string"},"type":"array"}},"required":["saved","applied","interviewing","offer","rejected","accepted","archived"],"type":"object"},"BoardSettings":{"additionalProperties":false,"properties":{"autoRetire":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"status":{"$ref":"#/components/schemas/AutoRetireStatus"},"timeframe":{"$ref":"#/components/schemas/AutoRetireTimeframe"}},"required":["enabled","timeframe","status"],"type":"object"},"hiddenStatuses":{"items":{"$ref":"#/components/schemas/ApplicationStatus"},"type":"array"},"sorts":{"items":{"$ref":"#/components/schemas/BoardSort"},"type":"array"},"timeFilter":{"$ref":"#/components/schemas/TimeFilter"}},"required":["hiddenStatuses","sorts","timeFilter","autoRetire"],"type":"object"},"BoardShare":{"additionalProperties":false,"properties":{"boardId":{"type":"string"},"boardName":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"organization":{"additionalProperties":false,"properties":{"name":{"type":"string"},"slug":{"type":"string"}},"required":["slug","name"],"type":"object"}},"required":["id","boardId","boardName","organization","createdAt"],"type":"object"},"BoardSort":{"enum":["none","job_title_asc","job_title_desc","company_name_asc","company_name_desc","date_asc","date_desc"],"type":"string"},"BoardSummary":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","name","isActive","applicationCount","createdAt","updatedAt"],"type":"object"},"CoachNote":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"authorDisplayName":{"type":["string","null"]},"body":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"organization":{"additionalProperties":false,"properties":{"name":{"type":"string"},"slug":{"type":"string"}},"required":["slug","name"],"type":"object"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","applicationId","body","authorDisplayName","organization","createdAt","updatedAt"],"type":"object"},"Cohort":{"additionalProperties":false,"properties":{"archivedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name","archivedAt","createdAt"],"type":"object"},"CohortDepartureReason":{"enum":["completed","placed","withdrew","removed"],"type":"string"},"CohortMembership":{"additionalProperties":false,"properties":{"applicantEmail":{"type":"string"},"cohortId":{"type":"string"},"departureReason":{"anyOf":[{"$ref":"#/components/schemas/CohortDepartureReason"},{"type":"null"}]},"id":{"type":"string"},"joinedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"leftAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"note":{"type":["string","null"]}},"required":["id","cohortId","applicantEmail","joinedAt","leftAt","departureReason","note"],"type":"object"},"CompanyIndustry":{"enum":["agriculture","arts","automotive","banking","biotechnology","chemical","communications","construction","consulting","education","electronics","energy","engineering","entertainment","environmental","finance","food","government","healthcare","hospitality","insurance","legal","manufacturing","media","non_profit","pharmaceutical","real_estate","retail","software","sports","technology","telecommunications","transportation","travel","other","unknown"],"type":"string"},"CompanyInput":{"additionalProperties":false,"properties":{"id":{},"industry":{"$ref":"#/components/schemas/CompanyIndustry"},"linkedin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"name":{"maxLength":255,"minLength":1,"type":"string"},"size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"website":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"type":"object"},"CompanySize":{"enum":["tiny","small","medium","large","massive"],"type":"string"},"CompanyType":{"enum":["government_agency","non_profit","private","public"],"type":"string"},"CompensationInput":{"additionalProperties":false,"properties":{"currency":{"maxLength":3,"minLength":3,"type":"string"},"payAmount":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"payFrequency":{"$ref":"#/components/schemas/PayFrequency"},"salaryRangeMax":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"salaryRangeMin":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]}},"type":"object"},"ContactInteractionType":{"enum":["call","direct_message","email","follow_up","job_fair","meeting","networking_event","recruiter_outreach","reference_check","referral","social_media","thank_you_note","other"],"type":"string"},"CreationMethod":{"enum":["form","csv_import","plugin","api"],"type":"string"},"InsightsRange":{"enum":["30d","90d","1y","all"],"type":"string"},"InterviewType":{"enum":["phone_screen","technical","behavioral","panel","take_home","video_call","in_person","other"],"type":"string"},"InvitationStatus":{"enum":["pending","accepted","declined","revoked"],"type":"string"},"IssuedOrganizationInvitation":{"additionalProperties":false,"properties":{"acceptUrl":{"type":"string"},"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["id","email","role","acceptUrl","expiresAt"],"type":"object"},"JobInput":{"additionalProperties":false,"properties":{"compensation":{"$ref":"#/components/schemas/CompensationInput"},"description":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"location":{"$ref":"#/components/schemas/LocationInput"},"title":{"maxLength":255,"minLength":1,"type":"string"},"workMode":{"$ref":"#/components/schemas/WorkMode"},"workType":{"$ref":"#/components/schemas/WorkType"}},"type":"object"},"LocationInput":{"additionalProperties":false,"properties":{"city":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"postalCode":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"state":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"street":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"street2":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]}},"type":"object"},"NeedsAttentionReason":{"enum":["no_share","no_activity_14_days","no_applications_7_days","interview_without_feedback"],"type":"string"},"OrganizationAuditAction":{"enum":["organization_created","organization_updated","organization_deleted","invitation_sent","invitation_resent","invitation_accepted","invitation_declined","invitation_revoked","member_role_changed","member_removed","member_left","group_shared","group_unshared","complimentary_seats_changed","subscription_changed","cohort_created","cohort_renamed","cohort_deleted","cohort_archived","cohort_restored","cohort_assigned","cohort_membership_ended","note_created","note_updated","note_deleted","roster_exported","stripe_event_reprocessed"],"type":"string"},"OrganizationMember":{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"email":{"type":"string"},"id":{"type":"string"},"joinedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["id","email","displayName","role","joinedAt"],"type":"object"},"OrganizationRole":{"enum":["owner","admin","coach","applicant"],"type":"string"},"OrganizationShare":{"additionalProperties":false,"properties":{"applicant":{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"email":{"type":"string"}},"required":["email","displayName"],"type":"object"},"board":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","isActive","applicationCount"],"type":"object"},"cohorts":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"type":"array"},"id":{"type":"string"},"sharedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","applicant","board","sharedAt","cohorts"],"type":"object"},"OrganizationSummary":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"website":{"type":["string","null"]}},"required":["id","slug","name","type","website","createdAt","updatedAt"],"type":"object"},"OrganizationType":{"enum":["career_coach","bootcamp","college","trade_school","government","other"],"type":"string"},"PayFrequency":{"enum":["hourly","weekly","biweekly","monthly","annually","other"],"type":"string"},"Problem":{"additionalProperties":false,"properties":{"code":{"enum":["missing_credential","invalid_credential","credential_revoked","credential_expired","insufficient_scope","credential_restricted","sandbox_only","forbidden","not_found","method_not_allowed","validation_failed","conflict","unprocessable","rate_limited","idempotency_key_reused","idempotency_request_in_progress","payload_too_large","unsupported_media_type","precondition_failed","internal_error","service_unavailable"],"type":"string"},"detail":{"type":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"message":{"type":"string"},"path":{"type":"string"}},"required":["path","message"],"type":"object"},"type":"array"},"requestId":{"type":"string"},"status":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}},"required":["type","title","status","detail","code","requestId"],"type":"object"},"Profile":{"additionalProperties":false,"properties":{"authorizedForWorkInUnitedStates":{"enum":["yes","no"],"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"county":{"type":"string"},"currentCompany":{"type":"string"},"currentTitle":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"hasBachelorDegree":{"enum":["yes","no"],"type":"string"},"lastName":{"type":"string"},"linkedIn":{"type":"string"},"middleName":{"type":"string"},"phone":{"type":"string"},"phoneCountryCode":{"type":"string"},"postalCode":{"type":"string"},"requiresVisaSponsorship":{"enum":["yes","no"],"type":"string"},"state":{"type":"string"},"streetAddress1":{"type":"string"},"streetAddress2":{"type":"string"},"streetAddress3":{"type":"string"},"title":{"type":"string"}},"required":["firstName","middleName","lastName","title","email","phone","phoneCountryCode","streetAddress1","streetAddress2","streetAddress3","city","county","state","country","postalCode","authorizedForWorkInUnitedStates","requiresVisaSponsorship","hasBachelorDegree","currentTitle","currentCompany","linkedIn"],"type":"object"},"PublicApplication":{"additionalProperties":false,"properties":{"applicationDate":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"applicationLink":{"type":["string","null"]},"boardId":{"type":"string"},"company":{"additionalProperties":false,"properties":{"id":{"type":"string"},"industry":{"$ref":"#/components/schemas/CompanyIndustry"},"linkedin":{"type":["string","null"]},"name":{"type":"string"},"size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["id","name","industry","size","type","website","linkedin"],"type":"object"},"counts":{"additionalProperties":false,"properties":{"coachNotes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["interviews","coachNotes"],"type":"object"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"creationMethod":{"$ref":"#/components/schemas/CreationMethod"},"id":{"type":"string"},"isAutoRetired":{"type":"boolean"},"job":{"additionalProperties":false,"properties":{"compensation":{"anyOf":[{"additionalProperties":false,"properties":{"currency":{"type":"string"},"payAmount":{"type":["number","null"]},"payFrequency":{"$ref":"#/components/schemas/PayFrequency"},"salaryRangeMax":{"type":["number","null"]},"salaryRangeMin":{"type":["number","null"]}},"required":["payAmount","payFrequency","currency","salaryRangeMin","salaryRangeMax"],"type":"object"},{"type":"null"}]},"description":{"type":["string","null"]},"location":{"anyOf":[{"additionalProperties":false,"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"street2":{"type":["string","null"]}},"required":["street","street2","city","state","country","postalCode"],"type":"object"},{"type":"null"}]},"title":{"type":"string"},"workMode":{"$ref":"#/components/schemas/WorkMode"},"workType":{"$ref":"#/components/schemas/WorkType"}},"required":["title","description","workMode","workType","location","compensation"],"type":"object"},"notes":{"type":["string","null"]},"resume":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},{"type":"null"}]},"source":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"statusChangedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","boardId","status","statusChangedAt","applicationDate","applicationLink","source","notes","isAutoRetired","creationMethod","job","company","resume","counts","createdAt","updatedAt"],"type":"object"},"PublicCompany":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"industry":{"$ref":"#/components/schemas/CompanyIndustry"},"linkedin":{"type":["string","null"]},"name":{"type":"string"},"notes":{"type":["string","null"]},"size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"website":{"type":["string","null"]}},"required":["id","name","industry","size","type","website","linkedin","notes","applicationCount","createdAt","updatedAt"],"type":"object"},"PublicContact":{"additionalProperties":false,"properties":{"applications":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title","companyName"],"type":"object"},"type":"array"},"category":{"type":["string","null"]},"companies":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"type":"array"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"email":{"type":["string","null"]},"firstName":{"type":"string"},"id":{"type":"string"},"lastName":{"type":["string","null"]},"notes":{"type":["string","null"]},"phone":{"type":["string","null"]},"source":{"type":["string","null"]},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","firstName","lastName","email","phone","category","source","notes","companies","applications","createdAt","updatedAt"],"type":"object"},"PublicInteraction":{"additionalProperties":false,"properties":{"contactId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"interactionTime":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"notes":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/ContactInteractionType"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","contactId","type","notes","interactionTime","createdAt","updatedAt"],"type":"object"},"PublicInterview":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"feedback":{"type":["string","null"]},"id":{"type":"string"},"location":{"type":["string","null"]},"notes":{"type":["string","null"]},"time":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/InterviewType"},{"type":"null"}]},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","applicationId","time","type","location","notes","feedback","createdAt","updatedAt"],"type":"object"},"SandboxEnvironment":{"additionalProperties":false,"properties":{"canResetAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"lastResetAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"organizationSlug":{"type":["string","null"]},"seededAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"tenantEmail":{"type":"string"}},"required":["tenantEmail","organizationSlug","seededAt","lastResetAt","canResetAt"],"type":"object"},"SeatSummary":{"additionalProperties":false,"properties":{"available":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"complimentarySeats":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"freeSeats":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"inUse":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"isOverLimit":{"type":"boolean"},"limit":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"purchasedSeats":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"subscriptionStatus":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionStatus"},{"type":"null"}]}},"required":["limit","inUse","available","isOverLimit","freeSeats","complimentarySeats","purchasedSeats","subscriptionStatus"],"type":"object"},"SubscriptionStatus":{"enum":["incomplete","trialing","active","past_due","canceled","unpaid","paused"],"type":"string"},"TableViewSettings":{"additionalProperties":false,"properties":{"columnOrder":{"items":{"enum":["title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"string"},"type":"array"},"columnWidths":{"additionalProperties":{"type":"number"},"propertyNames":{"enum":["title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"string"},"type":"object"},"hiddenFields":{"items":{"enum":["title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"string"},"type":"array"},"sort":{"anyOf":[{"additionalProperties":false,"properties":{"direction":{"enum":["asc","desc"],"type":"string"},"field":{"enum":["title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"string"}},"required":["field","direction"],"type":"object"},{"type":"null"}]}},"required":["hiddenFields","columnOrder","columnWidths","sort"],"type":"object"},"TimeFilter":{"enum":["7_days","15_days","1_month","3_months","all"],"type":"string"},"WorkMode":{"enum":["remote","hybrid","onsite"],"type":"string"},"WorkType":{"enum":["full_time","part_time","contract","temporary","internship"],"type":"string"}},"securitySchemes":{"apiKey":{"bearerFormat":"jat_live_… or jat_test_…","description":"A key created in Settings → Developers, sent as a bearer token.","scheme":"bearer","type":"http"},"oauth2":{"description":"For applications acting on behalf of somebody else. The authorization server is this app; clients may register dynamically.","flows":{"authorizationCode":{"authorizationUrl":"https://www.jobapplicationtracking.com/connect","refreshUrl":"https://www.jobapplicationtracking.com/api/oauth/token","scopes":{"applications:read":"Read job applications","applications:write":"Create, change and delete job applications","billing:read":"Read subscriptions, seats and invoices","billing:write":"Change subscriptions and purchase seats","boards:read":"Read boards and their columns","boards:write":"Create, rename and delete boards","coach_notes:read":"Read coach notes","coach_notes:write":"Write and delete coach notes","companies:read":"Read companies","companies:write":"Create, change and delete companies","contacts:read":"Read contacts and their interactions","contacts:write":"Create, change and delete contacts and interactions","imports:write":"Import applications from a spreadsheet","insights:read":"Read job-search insights and statistics","interviews:read":"Read interviews","interviews:write":"Schedule, change and cancel interviews","organization_members:write":"Invite, remove and re-role organization staff","organizations:read":"Read organizations, rosters and shared boards","organizations:write":"Change organization details and cohorts","profile:read":"Read the account profile and personal information","profile:write":"Change the account profile and personal information","resumes:read":"Read resumes","resumes:write":"Upload, change and delete resumes","sandbox:manage":"Reset and reseed the sandbox environment"},"tokenUrl":"https://www.jobapplicationtracking.com/api/oauth/token"}},"type":"oauth2"}}},"info":{"contact":{"url":"https://www.jobapplicationtracking.com/contact"},"description":"Everything a signed-in person can do in Job Application Tracker, offered to machines: boards and applications, companies, contacts and interviews, insights, imports and resumes, and — for coaches, colleges and workforce agencies — organizations, cohorts and shared boards. Authorization is identical to the web app; the API adds no second path to anybody else's data.\n\nGuides, a quickstart and the endpoint reference are at https://www.jobapplicationtracking.com/developers. Every credential belongs to either the live or the sandbox environment, and a sandbox credential can never reach real data.","termsOfService":"https://www.jobapplicationtracking.com/terms-of-service","title":"Job Application Tracker API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/applications/{applicationId}":{"delete":{"description":"Removes a card from its board together with its status history, its interviews and its coach notes. This cannot be undone, and there is no archive to recover it from — `applications.move` to `archived` is what an agent should reach for when the intent is \"stop showing me this\". The company and the résumé the card referred to are left alone. Answers 204 with no body. Send the `ETag` from `applications.get` as `If-Match` to be refused with 412 if the card changed since you read it.","operationId":"applications.delete","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete an application","tags":["applications"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"applications_delete","x-sandbox-only":false,"x-scope":"applications:write"},"get":{"description":"Returns one card with its job, company, compensation, location, résumé and its interview and coach-note counts. An applicant reading their own card gets `visibility: \"full\"`. A credential belonging to organization staff gets `visibility: \"redacted\"` and the smaller shape the applicant shared — the applicant's résumé is never part of it. A card belonging to nobody this credential may read answers 404, never 403. The response carries a weak `ETag`; send it back as `If-Match` on `applications.update` or `applications.delete` to be refused rather than overwrite a change somebody else made in the meantime.","operationId":"applications.get","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"An applicant reading their own card":{"value":{"application":{"applicationDate":"2026-02-11T00:00:00.000Z","applicationLink":"https://example.com/jobs/staff-engineer","boardId":"brd_7","company":{"id":"co_42","industry":"software","linkedin":null,"name":"Northwind","size":"medium","type":"private","website":"https://northwind.example"},"counts":{"coachNotes":0,"interviews":1},"createdAt":"2026-02-11T17:05:00.000Z","creationMethod":"form","id":"app_123","isAutoRetired":false,"job":{"compensation":{"currency":"USD","payAmount":195000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null},"description":"Own the billing platform.","location":{"city":"Austin","country":"United States","postalCode":null,"state":"Texas","street":null,"street2":null},"title":"Staff Engineer","workMode":"remote","workType":"full_time"},"notes":"Referred by a former colleague.","resume":null,"source":"LinkedIn","status":"applied","statusChangedAt":"2026-02-11T17:05:00.000Z","updatedAt":"2026-02-11T17:05:00.000Z"},"visibility":"full"}}},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"application":{"$ref":"#/components/schemas/PublicApplication"},"visibility":{"const":"full","type":"string"}},"required":["visibility","application"],"type":"object"},{"additionalProperties":false,"properties":{"application":{"additionalProperties":false,"properties":{"applicantEmail":{"type":"string"},"applicationDate":{"type":["string","null"]},"applicationLink":{"type":["string","null"]},"company":{"additionalProperties":false,"properties":{"industry":{"type":"string"},"linkedin":{"type":["string","null"]},"name":{"type":"string"},"size":{"type":["string","null"]},"type":{"type":"string"},"website":{"type":["string","null"]}},"required":["name","industry","size","type","website","linkedin"],"type":"object"},"id":{"type":"string"},"jobDescription":{"type":["string","null"]},"jobTitle":{"type":"string"},"location":{"additionalProperties":false,"properties":{"city":{"type":["string","null"]},"country":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"street2":{"type":["string","null"]}},"required":["street","street2","city","state","country","postalCode"],"type":"object"},"notes":{"type":["string","null"]},"pay":{"type":["string","null"]},"source":{"type":"string"},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"workMode":{"$ref":"#/components/schemas/WorkMode"},"workType":{"$ref":"#/components/schemas/WorkType"}},"required":["id","status","applicantEmail","applicationDate","applicationLink","source","notes","jobTitle","jobDescription","workMode","workType","pay","location","company"],"type":"object"},"visibility":{"const":"redacted","type":"string"}},"required":["visibility","application"],"type":"object"}]}}},"description":"Read one application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one application","tags":["applications"],"x-audience":"both","x-kind":"read","x-mcp-tool":"applications_get","x-sandbox-only":false,"x-scope":"applications:read"},"patch":{"description":"Changes any of a card’s own fields — its notes, source, link, dates, résumé, and the nested `job` and `company` objects. A field you leave out keeps its current value, and a nested object you send is merged field by field rather than replacing the whole thing. It refuses a `status` with 422: moving a card between columns opens a new status-history row, which is `applications.move`’s job. Naming a `company.id` that differs from the current one moves the card to that company; naming only company fields edits the company it already has, for every card filed against it. A `company.id` that does not belong to this account is refused with 422. Send the `ETag` from `applications.get` as `If-Match` to be refused with 412 if the card changed in between.","operationId":"applications.update","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Record where the lead came from":{"value":{"source":"LinkedIn"}}},"schema":{"properties":{"applicationDate":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"applicationLink":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/CompanyInput"},"job":{"$ref":"#/components/schemas/JobInput"},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"resumeId":{"type":["string","null"]},"source":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Record where the lead came from":{"value":{"applicationDate":"2026-02-11T00:00:00.000Z","applicationLink":"https://example.com/jobs/staff-engineer","boardId":"brd_7","company":{"id":"co_42","industry":"software","linkedin":null,"name":"Northwind","size":"medium","type":"private","website":"https://northwind.example"},"counts":{"coachNotes":0,"interviews":1},"createdAt":"2026-02-11T17:05:00.000Z","creationMethod":"form","id":"app_123","isAutoRetired":false,"job":{"compensation":{"currency":"USD","payAmount":195000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null},"description":"Own the billing platform.","location":{"city":"Austin","country":"United States","postalCode":null,"state":"Texas","street":null,"street2":null},"title":"Staff Engineer","workMode":"remote","workType":"full_time"},"notes":"Referred by a former colleague.","resume":null,"source":"LinkedIn","status":"applied","statusChangedAt":"2026-02-11T17:05:00.000Z","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicApplication"}}},"description":"Edit the details of one application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Edit the details of one application","tags":["applications"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"applications_update","x-sandbox-only":false,"x-scope":"applications:write"}},"/applications/{applicationId}/coach-notes":{"get":{"description":"Returns the feedback organization staff have left on an application, oldest first so it reads as a conversation. Every note is written to be read by the applicant — there is no private staff channel here. An applicant sees every organization's notes on their own application; staff see only their own organization's, because one coach's notes are not another's business. An application this credential cannot read answers 404. The whole conversation comes back at once rather than in pages, because a note thread is short by nature — `hasMore` is always false and `nextCursor` always null. Add to the conversation with `coach_notes.create`.","operationId":"coach_notes.list_for_application","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One note from a career centre":{"value":{"data":[{"applicationId":"app_123","authorDisplayName":"Jordan Reyes","body":"Lead with the migration project in the screen.","createdAt":"2026-02-11T17:05:00.000Z","id":"note_9","organization":{"name":"Northwind Careers","slug":"northwind-careers"},"updatedAt":"2026-02-11T17:05:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"authorDisplayName":{"type":["string","null"]},"body":{"type":"string"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"organization":{"additionalProperties":false,"properties":{"name":{"type":"string"},"slug":{"type":"string"}},"required":["slug","name"],"type":"object"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","applicationId","body","authorDisplayName","organization","createdAt","updatedAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Read the coach notes left on one application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the coach notes left on one application","tags":["coach_notes"],"x-audience":"both","x-kind":"read","x-mcp-tool":"coach_notes_list_for_application","x-sandbox-only":false,"x-scope":"coach_notes:read"},"post":{"description":"Writes a note on one application of a board an applicant has shared with your organization. Every note is written to be read by the applicant it is about — there is no private staff channel here — so write it as you would say it to them. Only staff of a sharing organization may create one; an applicant reading their own card is refused. The organization and the share the note belongs to are taken from your own access rather than from the request, so a note cannot be filed under somebody else's organization. Find the application through `organization_shares.list` and then `applications.list`, and read the thread back with `coach_notes.list_for_application`.","operationId":"coach_notes.create","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Prompt a student before their interview":{"value":{"body":"Ask them about the take-home before Thursday."}}},"schema":{"properties":{"body":{"maxLength":10000,"minLength":1,"type":"string"}},"required":["body"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Prompt a student before their interview":{"value":{"applicationId":"app_123","authorDisplayName":"Dana Reyes","body":"Ask them about the take-home before Thursday.","createdAt":"2026-02-11T17:05:00.000Z","id":"note_54","organization":{"name":"Northside Career Center","slug":"northside-career-center"},"updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/CoachNote"}}},"description":"Leave feedback on an application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Leave feedback on an application","tags":["coach_notes"],"x-audience":"both","x-kind":"write","x-mcp-tool":"coach_notes_create","x-sandbox-only":false,"x-scope":"coach_notes:write"}},"/applications/{applicationId}/interviews":{"post":{"description":"Records an interview against a card the account owns and answers 201 with it. Every field but the application is optional: an interview with no `time` is stamped with now, and one with no `type` is recorded as `other`. Scheduling an interview does not move the card — call `applications.move` with `interviewing` if the column should change too. An application belonging to another account answers 404, never 403. Send an `Idempotency-Key` header if a retry must not schedule it twice.","operationId":"interviews.create","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Book a technical screen":{"value":{"location":"Zoom","time":"2026-02-20T15:00:00.000Z","type":"technical"}}},"schema":{"properties":{"feedback":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"time":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/InterviewType"},{"type":"null"}]}},"required":[],"type":"object"}}},"required":false},"responses":{"201":{"content":{"application/json":{"examples":{"Book a technical screen":{"value":{"applicationId":"app_123","createdAt":"2026-02-11T17:05:00.000Z","feedback":null,"id":"iv_42","location":"Zoom","notes":"Two hours, systems design.","time":"2026-02-20T15:00:00.000Z","type":"technical","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInterview"}}},"description":"Schedule an interview on an application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Schedule an interview on an application","tags":["interviews"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"interviews_create","x-sandbox-only":false,"x-scope":"interviews:write"}},"/applications/{applicationId}/move":{"post":{"description":"Changes an application's status — its column on the board — and optionally where it sits in that column. Use this instead of `applications.update` for any status change; `applications.update` rejects one. Moving to `rejected` or `archived` closes the current status-history row and opens a new one, which is what the time-in-status figures read, so do not move a card through intermediate columns to \"catch up\" — the history will say it happened today. To reorder inside the column a card already sits in, pass its current status together with a `position`. Returns the card, the board’s updated column ordering, and the status it came from.","operationId":"applications.move","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Move a card to the top of Interviewing":{"value":{"position":{"first":true},"status":"interviewing"}}},"schema":{"properties":{"position":{"anyOf":[{"properties":{"after":{"type":"string"}},"required":["after"],"type":"object"},{"properties":{"first":{"const":true,"type":"boolean"}},"required":["first"],"type":"object"},{"properties":{"last":{"const":true,"type":"boolean"}},"required":["last"],"type":"object"}]},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["status"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Move a card to the top of Interviewing":{"value":{"application":{"applicationDate":"2026-02-11T00:00:00.000Z","applicationLink":"https://example.com/jobs/staff-engineer","boardId":"brd_7","company":{"id":"co_42","industry":"software","linkedin":null,"name":"Northwind","size":"medium","type":"private","website":"https://northwind.example"},"counts":{"coachNotes":0,"interviews":1},"createdAt":"2026-02-11T17:05:00.000Z","creationMethod":"form","id":"app_123","isAutoRetired":false,"job":{"compensation":{"currency":"USD","payAmount":195000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null},"description":"Own the billing platform.","location":{"city":"Austin","country":"United States","postalCode":null,"state":"Texas","street":null,"street2":null},"title":"Staff Engineer","workMode":"remote","workType":"full_time"},"notes":"Referred by a former colleague.","resume":null,"source":"LinkedIn","status":"applied","statusChangedAt":"2026-02-11T17:05:00.000Z","updatedAt":"2026-02-11T17:05:00.000Z"},"board":{"columns":{"accepted":[],"applied":[],"archived":[],"interviewing":["app_123"],"offer":[],"rejected":[],"saved":[]},"id":"brd_7"},"previousStatus":"applied"}}},"schema":{"additionalProperties":false,"properties":{"application":{"$ref":"#/components/schemas/PublicApplication"},"board":{"additionalProperties":false,"properties":{"columns":{"$ref":"#/components/schemas/BoardColumns"},"id":{"type":"string"}},"required":["id","columns"],"type":"object"},"previousStatus":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["application","board","previousStatus"],"type":"object"}}},"description":"Move an application to another column, or reorder it within one"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Move an application to another column, or reorder it within one","tags":["applications"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"applications_move","x-sandbox-only":false,"x-scope":"applications:write"}},"/applications/{applicationId}/resume":{"delete":{"description":"Removes the link between an application and the résumé recorded against it. Nothing is deleted — the résumé stays on the account and the application stays on its board; only the note of which one was sent goes away. An application belonging to another account answers 404. Attach one again with `applications.attach_resume`. Answers 204 with no body.","operationId":"applications.detach_resume","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Forget which résumé was sent for an application","tags":["applications"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"applications_detach_resume","x-sandbox-only":false,"x-scope":"applications:write"},"post":{"description":"Attaches one of this account's résumés to one of its applications, so the board remembers which version was sent for that job. An application carries at most one résumé, and attaching a second replaces the first rather than failing. Both ids must belong to this account; either one belonging to another answers 404. Undo it with `applications.detach_resume`.","operationId":"applications.attach_resume","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Note the résumé sent for a staff engineer role":{"value":{"resumeId":"rs_5"}}},"schema":{"properties":{"resumeId":{"type":"string"}},"required":["resumeId"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Note the résumé sent for a staff engineer role":{"value":{"applicationId":"app_123","resumeId":"rs_5"}}},"schema":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"resumeId":{"type":"string"}},"required":["applicationId","resumeId"],"type":"object"}}},"description":"Record which résumé was sent for an application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Record which résumé was sent for an application","tags":["applications"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"applications_attach_resume","x-sandbox-only":false,"x-scope":"applications:write"}},"/applications/{applicationId}/status-history":{"get":{"description":"Returns every stretch of time the card has spent in a status, newest first. Exactly one span is open at a time — the current one, whose `endedAt` is null — and the spans are contiguous, so the gap between two of them is how long the card sat where it was. This is what the app's time-in-status figures are computed from, so it is the honest answer to \"how long have I been waiting\". Organization staff reading a shared board may call it for the cards that board holds. A card holds a handful of spans, so the whole history comes back in one page: `hasMore` is always false and `nextCursor` always null. `applications.move` is what closes the open span and opens the next one.","operationId":"applications.list_status_history","parameters":[{"in":"path","name":"applicationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A card that was saved before it was applied for":{"value":{"data":[{"endedAt":null,"startedAt":"2026-02-11T17:05:00.000Z","status":"applied"},{"endedAt":"2026-02-11T17:05:00.000Z","startedAt":"2026-02-01T09:00:00.000Z","status":"saved"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"endedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"startedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["status","startedAt","endedAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Read how long an application spent in each column"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read how long an application spent in each column","tags":["applications"],"x-audience":"both","x-kind":"read","x-mcp-tool":"applications_list_status_history","x-sandbox-only":false,"x-scope":"applications:read"}},"/boards":{"get":{"description":"Returns every board the account owns, newest first, ordered by `createdAt desc, id desc`. Exactly one board is active at a time and that is the one the web app opens on, so filter on `isActive` when you need the board a person is currently working in. Walk the pages with `cursor`, which the previous page returns as `nextCursor`. Read one whole with `boards.get`, and open a new one with `boards.create`.","operationId":"boards.list","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The first page of boards":{"value":{"data":[{"applicationCount":12,"createdAt":"2026-01-04T09:30:00.000Z","id":"brd_7","isActive":true,"name":"Spring search","updatedAt":"2026-02-11T17:05:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/BoardSummary"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the boards on this account"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the boards on this account","tags":["boards"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"boards_list","x-sandbox-only":false,"x-scope":"boards:read"},"post":{"description":"Creates a board and makes it the active one, which deactivates whichever board was active before — an account has exactly one active board at a time. The new board starts empty and with the default display settings. Send an `Idempotency-Key` header if a retry must not create a second board. The board it answers with is the one `applications.create` files cards onto.","operationId":"boards.create","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"Start a new search":{"value":{"name":"Spring search"}}},"schema":{"properties":{"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Start a new search":{"value":{"applicationCount":0,"createdAt":"2026-01-04T09:30:00.000Z","id":"brd_7","isActive":true,"name":"Spring search","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/BoardSummary"}}},"description":"Create a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Create a board","tags":["boards"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"boards_create","x-sandbox-only":false,"x-scope":"boards:write"}},"/boards/{boardId}":{"delete":{"description":"Deletes a board together with every application, interview and note that lived on it. This cannot be undone. Deleting the last board an account has is refused with 422; deleting the active board promotes the most recently created remaining board in its place. Answers 204 with no body. To empty a board rather than lose it, delete its cards one at a time with `applications.delete`.","operationId":"boards.delete","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a board and everything on it","tags":["boards"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"boards_delete","x-sandbox-only":false,"x-scope":"boards:write"},"get":{"description":"Returns a single board, the seven status columns as ordered lists of application ids, and the settings that govern how it is displayed. The column order is the order a person dragged their cards into, so use it rather than re-sorting the ids yourself. Staff of an organization may read a board an applicant has shared with them — find its id through `organization_shares.list` — but only read it: every write against a board the account does not own answers 404. A board nobody has given the caller access to answers 404, never 403. The response carries a weak `ETag`; send it back as `If-Match` on an update to be refused rather than overwrite a change somebody else made in the meantime.","operationId":"boards.get","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A board with one card waiting in Applied":{"value":{"applicationCount":12,"columns":{"accepted":[],"applied":["app_123"],"archived":[],"interviewing":[],"offer":[],"rejected":[],"saved":[]},"createdAt":"2026-01-04T09:30:00.000Z","id":"brd_7","isActive":true,"name":"Spring search","settings":{"autoRetire":{"enabled":false,"status":"rejected","timeframe":"three_months"},"hiddenStatuses":["archived"],"sorts":["date_desc"],"timeFilter":"all"},"updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"columns":{"$ref":"#/components/schemas/BoardColumns"},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"},"settings":{"$ref":"#/components/schemas/BoardSettings"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","name","isActive","applicationCount","createdAt","updatedAt","columns","settings"],"type":"object"}}},"description":"Read one board with its columns and settings"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one board with its columns and settings","tags":["boards"],"x-audience":"both","x-kind":"read","x-mcp-tool":"boards_get","x-sandbox-only":false,"x-scope":"boards:read"},"patch":{"description":"Changes a board's name, its active flag, or both; a field you leave out is left alone. Activating a board deactivates whichever board was active before, and deactivating the only board an account has is refused with 422 because something has to be active. Send the `ETag` from a read as `If-Match` to be refused with 412 if the board changed in between. A board’s display settings are changed elsewhere, with `boards.update_settings`.","operationId":"boards.update","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Rename a board":{"value":{"name":"Spring search"}}},"schema":{"properties":{"isActive":{"type":"boolean"},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Rename a board":{"value":{"applicationCount":12,"createdAt":"2026-01-04T09:30:00.000Z","id":"brd_7","isActive":true,"name":"Spring search","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/BoardSummary"}}},"description":"Rename a board or make it the active one"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Rename a board or make it the active one","tags":["boards"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"boards_update","x-sandbox-only":false,"x-scope":"boards:write"}},"/boards/{boardId}/applications":{"get":{"description":"Returns the cards on a single board, filtered and ordered as asked, in the `{ data, hasMore, nextCursor }` envelope every list uses. Filter with `status` (repeat the parameter for several columns), `search` (a case-insensitive match on the job title or the company name), and `appliedAfter` / `appliedBefore` — a card with no application date is excluded whenever either date bound is given. `sort` defaults to `applied_at_desc`. Call `boards.list` first if you do not know the board id, and `applications.get` for one card with everything on it.","operationId":"applications.list","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/ApplicationStatus"},"type":"array"}},{"in":"query","name":"search","required":false,"schema":{"minLength":1,"type":"string"}},{"in":"query","name":"appliedAfter","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"appliedBefore","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"sort","required":false,"schema":{"default":"applied_at_desc","enum":["applied_at_desc","applied_at_asc","updated_at_desc","company_asc","title_asc"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Everything still waiting for a reply":{"value":{"data":[{"applicationDate":"2026-02-11T00:00:00.000Z","applicationLink":"https://example.com/jobs/staff-engineer","boardId":"brd_7","company":{"id":"co_42","industry":"software","linkedin":null,"name":"Northwind","size":"medium","type":"private","website":"https://northwind.example"},"counts":{"coachNotes":0,"interviews":1},"createdAt":"2026-02-11T17:05:00.000Z","creationMethod":"form","id":"app_123","isAutoRetired":false,"job":{"compensation":{"currency":"USD","payAmount":195000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null},"description":"Own the billing platform.","location":{"city":"Austin","country":"United States","postalCode":null,"state":"Texas","street":null,"street2":null},"title":"Staff Engineer","workMode":"remote","workType":"full_time"},"notes":"Referred by a former colleague.","resume":null,"source":"LinkedIn","status":"applied","statusChangedAt":"2026-02-11T17:05:00.000Z","updatedAt":"2026-02-11T17:05:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/PublicApplication"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the applications on one board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the applications on one board","tags":["applications"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"applications_list","x-sandbox-only":false,"x-scope":"applications:read"},"post":{"description":"Files a new application on the named board and answers 201 with the whole card. `job.title` is required, and the company is named either by `company.name` (found or created under that name) or by `company.id` from `companies.list`. `status` defaults to `applied`, which opens the card's status history — use `applications.move` afterwards rather than filing the card in the column you eventually want. Everything else has a sensible default and can be filled in later with `applications.update`. Send an `Idempotency-Key` header if a retry must not file the application twice.","operationId":"applications.create","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"File an application you submitted today":{"value":{"company":{"industry":"software","name":"Northwind"},"job":{"title":"Staff Engineer","workMode":"remote"},"source":"LinkedIn"}}},"schema":{"properties":{"applicationDate":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"applicationLink":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/CompanyInput"},"job":{"$ref":"#/components/schemas/JobInput"},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"resumeId":{"type":["string","null"]},"source":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["job","company"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"File an application you submitted today":{"value":{"applicationDate":"2026-02-11T00:00:00.000Z","applicationLink":"https://example.com/jobs/staff-engineer","boardId":"brd_7","company":{"id":"co_42","industry":"software","linkedin":null,"name":"Northwind","size":"medium","type":"private","website":"https://northwind.example"},"counts":{"coachNotes":0,"interviews":1},"createdAt":"2026-02-11T17:05:00.000Z","creationMethod":"form","id":"app_123","isAutoRetired":false,"job":{"compensation":{"currency":"USD","payAmount":195000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null},"description":"Own the billing platform.","location":{"city":"Austin","country":"United States","postalCode":null,"state":"Texas","street":null,"street2":null},"title":"Staff Engineer","workMode":"remote","workType":"full_time"},"notes":"Referred by a former colleague.","resume":null,"source":"LinkedIn","status":"applied","statusChangedAt":"2026-02-11T17:05:00.000Z","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicApplication"}}},"description":"Add an application to a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Add an application to a board","tags":["applications"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"applications_create","x-sandbox-only":false,"x-scope":"applications:write"}},"/boards/{boardId}/applications/bulk-move":{"post":{"description":"Moves up to 200 cards on one board into the same status in a single transaction: either every card moves or none does, so a batch that names a card on another board or another account is refused with 422 and changes nothing. This is the operation for \"archive everything I was rejected from before June\" — find the ids with `applications.list` and send them here rather than calling `applications.move` in a loop, which would leave the board half-changed if one call failed. Each card that actually changes column closes its open status-history row and opens a new one; a card already in that column is left untouched and is not counted in `movedCount`. Returns the board’s updated columns.","operationId":"applications.bulk_move","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Archive two rejections":{"value":{"applicationIds":["app_123","app_124"],"status":"archived"}}},"schema":{"properties":{"applicationIds":{"items":{"type":"string"},"maxItems":200,"minItems":1,"type":"array"},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["applicationIds","status"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Archive two rejections":{"value":{"board":{"columns":{"accepted":[],"applied":[],"archived":["app_124","app_123"],"interviewing":[],"offer":[],"rejected":[],"saved":[]},"id":"brd_7"},"movedCount":2}}},"schema":{"additionalProperties":false,"properties":{"board":{"additionalProperties":false,"properties":{"columns":{"$ref":"#/components/schemas/BoardColumns"},"id":{"type":"string"}},"required":["id","columns"],"type":"object"},"movedCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["board","movedCount"],"type":"object"}}},"description":"Move many applications into one column at once"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Move many applications into one column at once","tags":["applications"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"applications_bulk_move","x-sandbox-only":false,"x-scope":"applications:write"}},"/boards/{boardId}/export":{"get":{"description":"Returns every application on a board flattened into the same columns the web app's CSV export writes, with every value already rendered as text. A column no application on the board has a value for is left out of every row, so read the keys from the rows rather than assuming a fixed set. Ask for `?format=csv`, or send `Accept: text/csv`, and the same rows come back as a downloadable CSV file instead of JSON. Use `table.list_rows` instead when you want typed values and public ids to write back with; this is for handing a board to something that eats spreadsheets. Staff of an organization the board is shared with may export it, and get exactly the columns the share exposes — the applicant’s résumé is never one of them. A board is exported whole rather than in pages — an export split across requests is not one file — so `hasMore` is always false and `nextCursor` always null.","operationId":"exports.list_applications","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"in":"query","name":"format","required":false,"schema":{"enum":["json","csv"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A board with one application on it":{"value":{"data":[{"company_name":"Acme","job_title":"Staff Engineer","status":"Applied"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}},"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"Export a board as spreadsheet rows"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Export a board as spreadsheet rows","tags":["exports"],"x-audience":"both","x-kind":"read","x-mcp-tool":"exports_list_applications","x-sandbox-only":false,"x-scope":"applications:read"}},"/boards/{boardId}/imports":{"post":{"description":"Creates applications from already-parsed rows. Send the rows, not a file: parsing a spreadsheet is the caller's job, and this endpoint takes no upload. Each row needs at least `jobTitle` and `companyName`. The import is per row, not all or nothing — a row naming a job this board already holds is counted in `skipped`, a row the importer cannot make sense of is counted in `errors` and described in `errorDetails` with its position, and every other row still lands. Send an `Idempotency-Key` header if a retry must not import the batch twice. Up to 5000 rows at a time, and `imports:write` alone is enough to create every one of them: scopes in this API are exact rather than hierarchical, so granting it is granting the power to create applications whether or not `applications:write` was granted too. Read the cards it filed back with `applications.list`.","operationId":"imports.create","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Import two rows from a spreadsheet":{"value":{"rows":[{"companyName":"Acme","jobTitle":"Staff Engineer"},{"companyName":"Northwind","jobTitle":"Principal Engineer"}]}}},"schema":{"properties":{"rows":{"items":{"properties":{"applicationDate":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"applicationLink":{"type":["string","null"]},"applicationSource":{"type":["string","null"]},"city":{"type":["string","null"]},"companyIndustry":{"type":"string"},"companyLinkedin":{"type":["string","null"]},"companyName":{"type":"string"},"companySize":{"type":["string","null"]},"companyType":{"type":["string","null"]},"companyWebsite":{"type":["string","null"]},"country":{"type":["string","null"]},"jobDescription":{"type":["string","null"]},"jobTitle":{"type":"string"},"notes":{"type":["string","null"]},"payAmount":{"type":["number","null"]},"payFrequency":{"type":"string"},"postalCode":{"type":["string","null"]},"salaryRangeMax":{"type":["number","null"]},"salaryRangeMin":{"type":["number","null"]},"state":{"type":["string","null"]},"status":{"type":"string"},"streetAddress":{"type":["string","null"]},"streetAddress2":{"type":["string","null"]},"workMode":{"type":"string"},"workType":{"type":"string"}},"required":["companyName","jobTitle"],"type":"object"},"maxItems":5000,"minItems":1,"type":"array"}},"required":["rows"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Import two rows from a spreadsheet":{"value":{"created":2,"errorDetails":[],"errors":0,"skipped":0}}},"schema":{"additionalProperties":false,"properties":{"created":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"errorDetails":{"items":{"additionalProperties":false,"properties":{"error":{"type":"string"},"row":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["row","error"],"type":"object"},"type":"array"},"errors":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skipped":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["created","skipped","errors","errorDetails"],"type":"object"}}},"description":"Import a batch of applications onto a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Import a batch of applications onto a board","tags":["imports"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"imports_create","x-sandbox-only":false,"x-scope":"imports:write"}},"/boards/{boardId}/insights":{"get":{"description":"Answers how a job search is going: how many applications there are and how many are still live, the interview and offer rates, how long applications wait in each stage, where the applications came from, which ones have gone stale, and the mix of roles and pay. Every figure is computed over `range`, and `generatedAt` is the instant the numbers were taken. Staff of an organization the board is shared with may read it too, and see exactly what the applicant sees. A board this credential cannot read answers 404. The applications the figures are computed from are listed by `applications.list`.","operationId":"insights.get_dashboard","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"in":"query","name":"range","required":false,"schema":{"$ref":"#/components/schemas/InsightsRange"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The whole history of one board":{"value":{"activity":{"buckets":[],"heatmap":[]},"attention":{"staleApplications":[],"upcomingInterviews":[]},"compensation":{"count":0,"median":null,"rangeMax":null,"rangeMin":null},"funnel":[{"reached":38,"status":"applied"}],"generatedAt":"2026-02-11T17:05:00.000Z","headline":{"active":9,"interviewRate":31,"lastWeek":5,"offerRate":7,"responseTimeDays":12,"thisWeek":3,"total":42},"range":"all","roleMix":{"companySize":[],"location":[],"workMode":[],"workType":[]},"sources":[{"applications":20,"interviews":6,"source":"LinkedIn"}],"statusCounts":[{"count":9,"status":"applied"}],"timeInStatus":{"completedSecondsByStatus":{"applied":1036800},"currentlyWaitingInAppliedSeconds":604800}}}},"schema":{"additionalProperties":false,"properties":{"activity":{"additionalProperties":false,"properties":{"buckets":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"cumulative":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"startsOn":{"type":"string"}},"required":["startsOn","count","cumulative"],"type":"object"},"type":"array"},"heatmap":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"date":{"type":"string"}},"required":["date","count"],"type":"object"},"type":"array"}},"required":["buckets","heatmap"],"type":"object"},"attention":{"additionalProperties":false,"properties":{"staleApplications":{"items":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"company":{"type":"string"},"daysWaiting":{"minimum":0,"type":"number"},"jobTitle":{"type":"string"}},"required":["applicationId","company","jobTitle","daysWaiting"],"type":"object"},"type":"array"},"upcomingInterviews":{"items":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"company":{"type":"string"},"jobTitle":{"type":"string"},"time":{"type":"string"},"type":{"anyOf":[{"$ref":"#/components/schemas/InterviewType"},{"type":"null"}]}},"required":["applicationId","company","jobTitle","time","type"],"type":"object"},"type":"array"}},"required":["upcomingInterviews","staleApplications"],"type":"object"},"compensation":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"median":{"type":["number","null"]},"rangeMax":{"type":["number","null"]},"rangeMin":{"type":["number","null"]}},"required":["median","rangeMin","rangeMax","count"],"type":"object"},"funnel":{"items":{"additionalProperties":false,"properties":{"reached":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["status","reached"],"type":"object"},"type":"array"},"generatedAt":{"type":"string"},"headline":{"additionalProperties":false,"properties":{"active":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviewRate":{"type":"number"},"lastWeek":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"offerRate":{"type":"number"},"responseTimeDays":{"type":["number","null"]},"thisWeek":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","active","interviewRate","offerRate","responseTimeDays","thisWeek","lastWeek"],"type":"object"},"range":{"$ref":"#/components/schemas/InsightsRange"},"roleMix":{"additionalProperties":false,"properties":{"companySize":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"},"location":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"},"workMode":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"},"workType":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"}},"required":["location","companySize","workMode","workType"],"type":"object"},"sources":{"items":{"additionalProperties":false,"properties":{"applications":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"source":{"type":"string"}},"required":["source","applications","interviews"],"type":"object"},"type":"array"},"statusCounts":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["status","count"],"type":"object"},"type":"array"},"timeInStatus":{"additionalProperties":false,"properties":{"completedSecondsByStatus":{"additionalProperties":{"type":"number"},"propertyNames":{"$ref":"#/components/schemas/ApplicationStatus"},"type":"object"},"currentlyWaitingInAppliedSeconds":{"type":["number","null"]}},"required":["completedSecondsByStatus","currentlyWaitingInAppliedSeconds"],"type":"object"}},"required":["range","generatedAt","headline","funnel","statusCounts","sources","activity","attention","timeInStatus","roleMix","compensation"],"type":"object"}}},"description":"Read the statistics for one board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the statistics for one board","tags":["insights"],"x-audience":"both","x-kind":"read","x-mcp-tool":"insights_get_dashboard","x-sandbox-only":false,"x-scope":"insights:read"}},"/boards/{boardId}/settings":{"patch":{"description":"Changes the display settings of a single board: which status columns are hidden, how cards are sorted, how far back the time filter reaches, and whether stale applications are retired automatically. A field you leave out keeps its current value; sending an empty array for `hiddenStatuses` unhides every column. These settings are shared with the spreadsheet view, so narrowing the time filter here narrows it there too. The board’s own name and active flag are changed with `boards.update`.","operationId":"boards.update_settings","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Hide the archived column and sort newest first":{"value":{"hiddenStatuses":["archived"],"sorts":["date_desc"]}}},"schema":{"properties":{"autoRetire":{"properties":{"enabled":{"type":"boolean"},"status":{"$ref":"#/components/schemas/AutoRetireStatus"},"timeframe":{"$ref":"#/components/schemas/AutoRetireTimeframe"}},"type":"object"},"hiddenStatuses":{"items":{"$ref":"#/components/schemas/ApplicationStatus"},"type":"array"},"sorts":{"items":{"$ref":"#/components/schemas/BoardSort"},"type":"array"},"timeFilter":{"$ref":"#/components/schemas/TimeFilter"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Hide the archived column and sort newest first":{"value":{"autoRetire":{"enabled":false,"status":"rejected","timeframe":"three_months"},"hiddenStatuses":["archived"],"sorts":["date_desc"],"timeFilter":"all"}}},"schema":{"$ref":"#/components/schemas/BoardSettings"}}},"description":"Change how one board's cards are filtered and ordered"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change how one board's cards are filtered and ordered","tags":["boards"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"boards_update_settings","x-sandbox-only":false,"x-scope":"boards:write"}},"/boards/{boardId}/shares":{"post":{"description":"Gives an organization read-only sight of one board, so its coaches can follow the search and leave notes on the applications. The account must already be an applicant member of that organization — accept the invitation with `invitations.accept` first — and sharing a board that is already shared with the same organization answers with the existing share rather than failing. Withdraw it with `shares.delete`; `shares.list` shows everything currently shared.","operationId":"shares.create","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Let a career centre follow the spring search":{"value":{"organizationSlug":"northwind-careers"}}},"schema":{"properties":{"organizationSlug":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},"required":["organizationSlug"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Let a career centre follow the spring search":{"value":{"boardId":"brd_7","boardName":"Spring search","createdAt":"2026-02-01T09:30:00.000Z","id":"shr_42","organization":{"name":"Northwind Careers","slug":"northwind-careers"}}}},"schema":{"$ref":"#/components/schemas/BoardShare"}}},"description":"Share a board with an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Share a board with an organization","tags":["shares"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"shares_create","x-sandbox-only":false,"x-scope":"boards:write"}},"/boards/{boardId}/table":{"get":{"description":"Returns every application on a board as one flat row per application, with a value for each of the twenty-five columns the spreadsheet view shows and no nesting. Reach for this over `applications.list` when you want to scan, compare or bulk-edit a whole board; `table.apply_edits` writes cells back. Sort with `sort` naming a column and `direction`; empty cells sort last either way. Staff of an organization the board is shared with may read it — without the pay amounts, which a share does not expose — and a board this credential cannot read answers 404.","operationId":"table.list_rows","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}},{"in":"query","name":"sort","required":false,"schema":{"enum":["title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"string"}},{"in":"query","name":"direction","required":false,"schema":{"default":"asc","enum":["asc","desc"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The first page of a board, newest applications first":{"value":{"data":[{"applicationDate":"2026-02-01T00:00:00.000Z","applicationLink":null,"city":"Chicago","companyIndustry":"technology","companyLinkedin":null,"companyName":"Acme","companySize":null,"companyType":null,"companyWebsite":null,"country":"United States","createdAt":"2026-02-01T09:30:00.000Z","description":null,"id":"app_123","interviewCount":1,"notes":null,"payAmount":210000,"payFrequency":"annually","salaryRangeMax":null,"salaryRangeMin":null,"source":"LinkedIn","state":"Illinois","status":"applied","title":"Staff Engineer","updatedAt":"2026-02-11T17:05:00.000Z","workMode":"remote","workType":"full_time"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"applicationDate":{"type":["string","null"]},"applicationLink":{"type":["string","null"]},"city":{"type":["string","null"]},"companyIndustry":{"$ref":"#/components/schemas/CompanyIndustry"},"companyLinkedin":{"type":["string","null"]},"companyName":{"type":"string"},"companySize":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"companyType":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"companyWebsite":{"type":["string","null"]},"country":{"type":["string","null"]},"createdAt":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string"},"interviewCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"notes":{"type":["string","null"]},"payAmount":{"type":["number","null"]},"payFrequency":{"$ref":"#/components/schemas/PayFrequency"},"salaryRangeMax":{"type":["number","null"]},"salaryRangeMin":{"type":["number","null"]},"source":{"type":["string","null"]},"state":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/ApplicationStatus"},"title":{"type":"string"},"updatedAt":{"type":"string"},"workMode":{"$ref":"#/components/schemas/WorkMode"},"workType":{"$ref":"#/components/schemas/WorkType"}},"required":["id","title","companyName","status","applicationDate","source","workMode","workType","payAmount","payFrequency","salaryRangeMin","salaryRangeMax","city","state","country","companyIndustry","companySize","companyType","companyWebsite","companyLinkedin","applicationLink","description","notes","interviewCount","createdAt","updatedAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Read a board as a flat table of rows"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read a board as a flat table of rows","tags":["table"],"x-audience":"both","x-kind":"read","x-mcp-tool":"table_list_rows","x-sandbox-only":false,"x-scope":"applications:read"}},"/boards/{boardId}/table/edits":{"post":{"description":"Applies up to 500 cell edits in one transaction: every edit lands, or none of them do. Each edit names an application, a column and the new value; send `null` to clear an optional column. Enum columns take the public spelling the rest of the API uses, for example `status: \"interviewing\"`. The three read-only columns — `interviewCount`, `createdAt` and `updatedAt` — are refused, and so is an edit naming an application that is not on the board in the path. A rejected edit is reported with its position in the batch as `edits[n]`, so fix that one and send the batch again. Read the rows first with `table.list_rows`.","operationId":"table.apply_edits","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Move one card to Interviewing and note why":{"value":{"edits":[{"applicationId":"app_123","field":"status","value":"interviewing"},{"applicationId":"app_123","field":"notes","value":"Screen booked"}]}}},"schema":{"properties":{"edits":{"items":{"properties":{"applicationId":{"type":"string"},"field":{"type":"string"},"value":{"type":["string","number","null"]}},"required":["applicationId","field","value"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"}},"required":["edits"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Move one card to Interviewing and note why":{"value":{"appliedCount":2}}},"schema":{"additionalProperties":false,"properties":{"appliedCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["appliedCount"],"type":"object"}}},"description":"Write a batch of cell edits to a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Write a batch of cell edits to a board","tags":["table"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"table_apply_edits","x-sandbox-only":false,"x-scope":"applications:write"}},"/boards/{boardId}/table/view-settings":{"get":{"description":"Answers which columns are hidden, the order they appear in, how wide they are, and the column the table is sorted by. The layout belongs to the credential's own account rather than to the board, so a board that has never been laid out answers with the defaults instead of 404. This is presentation only — it changes nothing about which applications `table.list_rows` returns. Save a layout with `table.save_view_settings`.","operationId":"table.get_view_settings","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A board laid out with the notes column hidden":{"value":{"columnOrder":["title","companyName","status"],"columnWidths":{"title":220},"hiddenFields":["notes","description"],"sort":{"direction":"desc","field":"applicationDate"}}}},"schema":{"$ref":"#/components/schemas/TableViewSettings"}}},"description":"Read the saved table layout for a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the saved table layout for a board","tags":["table"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"table_get_view_settings","x-sandbox-only":false,"x-scope":"boards:read"},"put":{"description":"Replaces the whole saved layout: which columns are hidden, the order they appear in, their widths and the sort. Send the layout you want to end up with, read from `table.get_view_settings` and amended — this is a PUT, so a field left out is not left alone. A column name the table no longer has is dropped rather than refused, so a layout saved before a column was renamed keeps working. Widths are clamped to what the grid can render.","operationId":"table.save_view_settings","parameters":[{"in":"path","name":"boardId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Hide the long text columns and sort by application date":{"value":{"columnOrder":["title","companyName","status"],"columnWidths":{"title":220},"hiddenFields":["notes","description"],"sort":{"direction":"desc","field":"applicationDate"}}}},"schema":{"properties":{"columnOrder":{"items":{"type":"string"},"type":"array"},"columnWidths":{"additionalProperties":{"type":"number"},"propertyNames":{"type":"string"},"type":"object"},"hiddenFields":{"items":{"type":"string"},"type":"array"},"sort":{"anyOf":[{"properties":{"direction":{"type":"string"},"field":{"type":"string"}},"required":["field","direction"],"type":"object"},{"type":"null"}]}},"required":["hiddenFields","columnOrder","columnWidths","sort"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Hide the long text columns and sort by application date":{"value":{"columnOrder":["title","companyName","status"],"columnWidths":{"title":220},"hiddenFields":["notes","description"],"sort":{"direction":"desc","field":"applicationDate"}}}},"schema":{"$ref":"#/components/schemas/TableViewSettings"}}},"description":"Save the table layout for a board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Save the table layout for a board","tags":["table"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"table_save_view_settings","x-sandbox-only":false,"x-scope":"boards:write"}},"/companies":{"get":{"description":"Returns every employer the account has recorded, ordered by name, each with the number of applications filed against it. `search` matches the name case-insensitively. Companies are created as a side effect of filing an application, so this is also the answer to \"which employers am I tracking\"; use `companies.list_active_with_jobs` instead when the question is \"have I already applied here, and for what\".","operationId":"companies.list","parameters":[{"in":"query","name":"search","required":false,"schema":{"minLength":1,"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The first page of companies":{"value":{"data":[{"applicationCount":3,"createdAt":"2026-01-04T09:30:00.000Z","id":"co_42","industry":"software","linkedin":null,"name":"Northwind","notes":null,"size":"medium","type":"private","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://northwind.example"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/PublicCompany"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the companies on this account"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the companies on this account","tags":["companies"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"companies_list","x-sandbox-only":false,"x-scope":"companies:read"},"post":{"description":"Creates an employer on the account without filing an application against it, for building a shortlist before applying. Filing an application with `applications.create` already creates the company it names, so reach for this only when there is no application yet. A name the account already uses is refused with 409, because the card editor offers employers by name and two of them would be indistinguishable. Everything but `name` is optional.","operationId":"companies.create","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"Shortlist an employer before applying":{"value":{"industry":"software","name":"Northwind"}}},"schema":{"properties":{"industry":{"$ref":"#/components/schemas/CompanyIndustry"},"linkedin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"name":{"maxLength":255,"minLength":1,"type":"string"},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"website":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Shortlist an employer before applying":{"value":{"applicationCount":0,"createdAt":"2026-01-04T09:30:00.000Z","id":"co_42","industry":"software","linkedin":null,"name":"Northwind","notes":null,"size":"medium","type":"private","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://northwind.example"}}},"schema":{"$ref":"#/components/schemas/PublicCompany"}}},"description":"Record a company"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Record a company","tags":["companies"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"companies_create","x-sandbox-only":false,"x-scope":"companies:write"}},"/companies/{companyId}":{"delete":{"description":"Removes an employer together with its jobs and every application, interview and note that referred to them — the same cascade the web app performs, so a company with applications is deleted rather than refused. Call `companies.get` first and read `applicationCount` if you need to know what will go with it. This cannot be undone. Answers 204 with no body.","operationId":"companies.delete","parameters":[{"in":"path","name":"companyId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a company and every application filed against it","tags":["companies"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"companies_delete","x-sandbox-only":false,"x-scope":"companies:write"},"get":{"description":"Returns a single employer with its profile and the number of applications the account has filed against it. A company belonging to another account answers 404, never 403. The response carries a weak `ETag` for use as `If-Match` on `companies.update`.","operationId":"companies.get","parameters":[{"in":"path","name":"companyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One employer and how often you have applied there":{"value":{"applicationCount":3,"createdAt":"2026-01-04T09:30:00.000Z","id":"co_42","industry":"software","linkedin":null,"name":"Northwind","notes":null,"size":"medium","type":"private","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://northwind.example"}}},"schema":{"$ref":"#/components/schemas/PublicCompany"}}},"description":"Read one company"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one company","tags":["companies"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"companies_get","x-sandbox-only":false,"x-scope":"companies:read"},"patch":{"description":"Changes an employer's name or profile. A field you leave out keeps its current value; sending `null` clears one. The change is visible on every application filed against this company, so renaming it here renames it across the whole board rather than only on one card. Send the `ETag` from `companies.get` as `If-Match` to be refused with 412 if it changed in between.","operationId":"companies.update","parameters":[{"in":"path","name":"companyId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Record what the company actually does":{"value":{"industry":"software","size":"medium"}}},"schema":{"properties":{"industry":{"$ref":"#/components/schemas/CompanyIndustry"},"linkedin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"name":{"maxLength":255,"minLength":1,"type":"string"},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/CompanyType"},{"type":"null"}]},"website":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Record what the company actually does":{"value":{"applicationCount":3,"createdAt":"2026-01-04T09:30:00.000Z","id":"co_42","industry":"software","linkedin":null,"name":"Northwind","notes":null,"size":"medium","type":"private","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://northwind.example"}}},"schema":{"$ref":"#/components/schemas/PublicCompany"}}},"description":"Edit a company"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Edit a company","tags":["companies"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"companies_update","x-sandbox-only":false,"x-scope":"companies:write"}},"/companies/active-with-jobs":{"get":{"description":"Returns every company the account has actually applied to on its active board, with the job titles applied for at each. This is the cheap answer to \"have I already applied here, and for what\" before filing another application — it names companies rather than ids because it is a check against a name somebody typed. It skips saved cards that were never applied for, and it ignores boards that are not active; use `companies.list` for the whole roster of employers. One board's employers come back in one page: `hasMore` is always false and `nextCursor` always null.","operationId":"companies.list_active_with_jobs","parameters":[],"responses":{"200":{"content":{"application/json":{"examples":{"Two employers already applied to":{"value":{"data":[{"companyName":"Northwind","jobs":["Staff Engineer"]},{"companyName":"Contoso","jobs":["Backend Engineer"]}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":"string"},"jobs":{"items":{"type":"string"},"type":"array"}},"required":["companyName","jobs"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the employers already applied to on the active board"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the employers already applied to on the active board","tags":["companies"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"companies_list_active_with_jobs","x-sandbox-only":false,"x-scope":"companies:read"}},"/contacts":{"get":{"description":"Returns the people this account keeps track of, surname first by default, each with the companies and applications they are linked to. `search` matches a name, an email address or a company name; `companyId` and `boardId` narrow the list to the people attached to one company or to the applications on one board. Walk the pages with `cursor`. Use `contacts.get` for one person by id, and `interactions.list` for what has been said to them.","operationId":"contacts.list","parameters":[{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"companyId","required":false,"schema":{"type":"string"}},{"in":"query","name":"boardId","required":false,"schema":{"type":"string"}},{"in":"query","name":"sort","required":false,"schema":{"default":"last_name_asc","enum":["last_name_asc","first_name_asc","created_at_desc","updated_at_desc"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The first page of contacts":{"value":{"data":[{"applications":[{"companyName":"Acme","id":"app_123","title":"Staff Engineer"}],"category":"Recruiter","companies":[{"id":"co_42","name":"Acme"}],"createdAt":"2026-01-04T09:30:00.000Z","email":"dana@acme.example","firstName":"Dana","id":"ct_42","lastName":"Okafor","notes":"Owns hiring for the platform team.","phone":null,"source":"LinkedIn","updatedAt":"2026-02-11T17:05:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/PublicContact"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the contacts on this account"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the contacts on this account","tags":["contacts"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"contacts_list","x-sandbox-only":false,"x-scope":"contacts:read"},"post":{"description":"Creates a contact and links them to the companies and applications you name. A company named without an id is created if this account has no company by that name, so an agent importing a list of people does not have to look each company up first. Every application id must be one this account owns. Send an `Idempotency-Key` header if a retry must not create a second copy of the same person. Change them afterwards with `contacts.update`.","operationId":"contacts.create","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"Record the recruiter for a role already applied to":{"value":{"applicationIds":["app_123"],"category":"Recruiter","companies":[{"id":"co_42","name":"Acme"}],"email":"dana@acme.example","firstName":"Dana","lastName":"Okafor","notes":"Owns hiring for the platform team.","source":"LinkedIn"}}},"schema":{"properties":{"applicationIds":{"items":{"type":"string"},"type":"array"},"category":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null},"companies":{"items":{"properties":{"id":{"type":["string","null"]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"type":"array"},"email":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null},"firstName":{"maxLength":255,"minLength":1,"type":"string"},"lastName":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null},"notes":{"default":null,"type":["string","null"]},"phone":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null},"source":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null}},"required":["firstName"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Record the recruiter for a role already applied to":{"value":{"applications":[{"companyName":"Acme","id":"app_123","title":"Staff Engineer"}],"category":"Recruiter","companies":[{"id":"co_42","name":"Acme"}],"createdAt":"2026-01-04T09:30:00.000Z","email":"dana@acme.example","firstName":"Dana","id":"ct_42","lastName":"Okafor","notes":"Owns hiring for the platform team.","phone":null,"source":"LinkedIn","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicContact"}}},"description":"Add a contact"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Add a contact","tags":["contacts"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"contacts_create","x-sandbox-only":false,"x-scope":"contacts:write"}},"/contacts/{contactId}":{"delete":{"description":"Deletes a contact together with the whole history of interactions logged against them. This cannot be undone, and the companies and applications they were linked to are left untouched. A contact belonging to another account answers 404. Answers 204 with no body. Read what is about to be lost first with `contacts.get`.","operationId":"contacts.delete","parameters":[{"in":"path","name":"contactId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a contact and every interaction with them","tags":["contacts"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"contacts_delete","x-sandbox-only":false,"x-scope":"contacts:write"},"get":{"description":"Returns a single contact, the companies they work for and the applications they are attached to. A contact belonging to another account answers 404, never 403. The response carries a weak `ETag`; send it back as `If-Match` on an update to be refused rather than overwrite a change somebody else made in the meantime. Find the id with `contacts.list`.","operationId":"contacts.get","parameters":[{"in":"path","name":"contactId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A recruiter at one of the companies applied to":{"value":{"applications":[{"companyName":"Acme","id":"app_123","title":"Staff Engineer"}],"category":"Recruiter","companies":[{"id":"co_42","name":"Acme"}],"createdAt":"2026-01-04T09:30:00.000Z","email":"dana@acme.example","firstName":"Dana","id":"ct_42","lastName":"Okafor","notes":"Owns hiring for the platform team.","phone":null,"source":"LinkedIn","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicContact"}}},"description":"Read one contact with everything they are linked to"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one contact with everything they are linked to","tags":["contacts"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"contacts_get","x-sandbox-only":false,"x-scope":"contacts:read"},"patch":{"description":"Changes the fields you name on a contact and leaves the rest alone. Naming `companies` or `applicationIds` replaces that whole list rather than adding to it, so read the contact first with `contacts.get` and send the list you want to end up with. Send the `ETag` from that read as `If-Match` to be refused with 412 if the contact changed in between.","operationId":"contacts.update","parameters":[{"in":"path","name":"contactId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Record where the introduction came from":{"value":{"source":"LinkedIn"}}},"schema":{"properties":{"applicationIds":{"items":{"type":"string"},"type":"array"},"category":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"companies":{"items":{"properties":{"id":{"type":["string","null"]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"type":"array"},"email":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"firstName":{"maxLength":255,"minLength":1,"type":"string"},"lastName":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"notes":{"type":["string","null"]},"phone":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"source":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Record where the introduction came from":{"value":{"applications":[{"companyName":"Acme","id":"app_123","title":"Staff Engineer"}],"category":"Recruiter","companies":[{"id":"co_42","name":"Acme"}],"createdAt":"2026-01-04T09:30:00.000Z","email":"dana@acme.example","firstName":"Dana","id":"ct_42","lastName":"Okafor","notes":"Owns hiring for the platform team.","phone":null,"source":"LinkedIn","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicContact"}}},"description":"Change a contact"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change a contact","tags":["contacts"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"contacts_update","x-sandbox-only":false,"x-scope":"contacts:write"}},"/contacts/{contactId}/interactions":{"post":{"description":"Records that a conversation happened: which contact, what kind, when, and any note worth keeping. `interactionTime` is when the conversation took place, not when it is being written down, so backfilling last week's calls puts them where they belong on the timeline. Logging a `follow_up` is what puts the contact on the follow-up list `people.get_overview` answers with. Send an `Idempotency-Key` header if a retry must not log the same conversation twice.","operationId":"interactions.create","parameters":[{"in":"path","name":"contactId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Record an email sent to a recruiter":{"value":{"interactionTime":"2026-02-10T15:00:00.000Z","notes":"Asked about the timeline for the platform team role.","type":"email"}}},"schema":{"properties":{"interactionTime":{"format":"date-time","type":"string"},"notes":{"default":null,"type":["string","null"]},"type":{"$ref":"#/components/schemas/ContactInteractionType"}},"required":["type","interactionTime"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Record an email sent to a recruiter":{"value":{"contactId":"ct_42","createdAt":"2026-02-10T15:04:00.000Z","id":"ix_88","interactionTime":"2026-02-10T15:00:00.000Z","notes":"Asked about the timeline for the platform team role.","type":"email","updatedAt":"2026-02-10T15:04:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInteraction"}}},"description":"Log an interaction with a contact"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Log an interaction with a contact","tags":["interactions"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"interactions_create","x-sandbox-only":false,"x-scope":"contacts:write"}},"/contacts/linkable-applications":{"get":{"description":"Returns applications on this account matching `search`, reduced to the job title and company name a picker needs. Use it to turn a role a person mentioned into the application id that `contacts.create` and `contacts.update` take, rather than listing every application to find one. Leaving `search` out returns the most recent applications. A page holds at most 50 matches however large a `limit` you ask for, because a picker is not a way to read the whole applications table; `hasMore` and `nextCursor` say when there are more.","operationId":"contacts.list_linkable_applications","parameters":[{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Find the application a recruiter was talking about":{"value":{"data":[{"companyName":"Acme","id":"app_123","title":"Staff Engineer"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title","companyName"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Search the applications a contact can be linked to"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Search the applications a contact can be linked to","tags":["contacts"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"contacts_list_linkable_applications","x-sandbox-only":false,"x-scope":"contacts:read"}},"/interactions":{"get":{"description":"Returns every conversation logged against this account's contacts, most recent first. Narrow with `contactId` for one person, `type` for one kind of contact, and `from`/`to` for a window of time — both are ISO-8601 instants compared against `interactionTime`, the moment the conversation happened rather than the moment it was written down. Use `interactions.create` to add one and `people.get_overview` for who is overdue a follow-up.","operationId":"interactions.list","parameters":[{"in":"query","name":"contactId","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","required":false,"schema":{"$ref":"#/components/schemas/ContactInteractionType"}},{"in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"to","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"sort","required":false,"schema":{"default":"interaction_time_desc","enum":["interaction_time_desc","interaction_time_asc","created_at_desc","updated_at_desc"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Everything said to one contact":{"value":{"data":[{"contactId":"ct_42","createdAt":"2026-02-10T15:04:00.000Z","id":"ix_88","interactionTime":"2026-02-10T15:00:00.000Z","notes":"Asked about the timeline for the platform team role.","type":"email","updatedAt":"2026-02-10T15:04:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/PublicInteraction"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List logged interactions with contacts"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List logged interactions with contacts","tags":["interactions"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"interactions_list","x-sandbox-only":false,"x-scope":"contacts:read"}},"/interactions/{interactionId}":{"delete":{"description":"Removes one interaction from a contact's history. The contact itself is untouched; use `contacts.delete` to remove the person and every interaction with them at once. This cannot be undone, and an interaction belonging to another account answers 404. Answers 204 with no body.","operationId":"interactions.delete","parameters":[{"in":"path","name":"interactionId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a logged interaction","tags":["interactions"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"interactions_delete","x-sandbox-only":false,"x-scope":"contacts:write"},"get":{"description":"Returns a single interaction with a contact: what kind it was, when it happened, and any note taken at the time. An interaction belonging to another account answers 404, never 403. The response carries a weak `ETag` for `interactions.update` to send back as `If-Match`. Find the id with `interactions.list`.","operationId":"interactions.get","parameters":[{"in":"path","name":"interactionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"An email to a recruiter":{"value":{"contactId":"ct_42","createdAt":"2026-02-10T15:04:00.000Z","id":"ix_88","interactionTime":"2026-02-10T15:00:00.000Z","notes":"Asked about the timeline for the platform team role.","type":"email","updatedAt":"2026-02-10T15:04:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInteraction"}}},"description":"Read one logged interaction"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one logged interaction","tags":["interactions"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"interactions_get","x-sandbox-only":false,"x-scope":"contacts:read"},"patch":{"description":"Changes the kind, the note or the time of an interaction already logged; a field you leave out is left alone. The contact it belongs to cannot be changed — delete it with `interactions.delete` and log it again against the right person. Send the `ETag` from `interactions.get` as `If-Match` to be refused with 412 if it changed in between.","operationId":"interactions.update","parameters":[{"in":"path","name":"interactionId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Fix the note taken during a call":{"value":{"notes":"Asked about the timeline for the platform team role."}}},"schema":{"properties":{"interactionTime":{"format":"date-time","type":"string"},"notes":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/ContactInteractionType"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Fix the note taken during a call":{"value":{"contactId":"ct_42","createdAt":"2026-02-10T15:04:00.000Z","id":"ix_88","interactionTime":"2026-02-10T15:00:00.000Z","notes":"Asked about the timeline for the platform team role.","type":"email","updatedAt":"2026-02-10T15:04:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInteraction"}}},"description":"Correct a logged interaction"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Correct a logged interaction","tags":["interactions"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"interactions_update","x-sandbox-only":false,"x-scope":"contacts:write"}},"/interviews":{"get":{"description":"Returns interviews soonest first. With no `applicationId` it lists every interview the account has, which is how an agent answers \"what is coming up this week\" — narrow it with `from` and `to`. With an `applicationId` it lists that card's interviews instead, and organization staff reading a shared board may call it that way for the cards that board holds. `from` and `to` are ignored when an `applicationId` is given, because a single card has few enough interviews to read whole. A credential restricted to one organization must name an `applicationId`: the whole account's diary is not that organization's to read. Read a single interview whole with `interviews.get`.","operationId":"interviews.list","parameters":[{"in":"query","name":"applicationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"to","required":false,"schema":{"format":"date-time","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Everything scheduled":{"value":{"data":[{"applicationId":"app_123","createdAt":"2026-02-11T17:05:00.000Z","feedback":null,"id":"iv_42","location":"Zoom","notes":"Two hours, systems design.","time":"2026-02-20T15:00:00.000Z","type":"technical","updatedAt":"2026-02-11T17:05:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/PublicInterview"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List interviews"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List interviews","tags":["interviews"],"x-audience":"both","x-kind":"read","x-mcp-tool":"interviews_list","x-sandbox-only":false,"x-scope":"interviews:read"}},"/interviews/{interviewId}":{"delete":{"description":"Removes an interview from the card it was scheduled against, together with the notes and feedback recorded on it. Use `interviews.update` instead when the interview happened and only its outcome needs writing down — a deleted interview is gone from the counts the card shows and from the insights figures. Answers 204 with no body.","operationId":"interviews.delete","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Cancel an interview","tags":["interviews"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"interviews_delete","x-sandbox-only":false,"x-scope":"interviews:write"},"get":{"description":"Returns a single interview with its time, type, location, notes and the feedback recorded afterwards. An interview belonging to another account answers 404, never 403. The response carries a weak `ETag` for use as `If-Match` on `interviews.update`.","operationId":"interviews.get","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One scheduled interview":{"value":{"applicationId":"app_123","createdAt":"2026-02-11T17:05:00.000Z","feedback":null,"id":"iv_42","location":"Zoom","notes":"Two hours, systems design.","time":"2026-02-20T15:00:00.000Z","type":"technical","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInterview"}}},"description":"Read one interview"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one interview","tags":["interviews"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"interviews_get","x-sandbox-only":false,"x-scope":"interviews:read"},"patch":{"description":"Edits one interview: reschedule it, change its type or location, or write the `feedback` afterwards. A field you leave out keeps its current value and `null` clears one. Naming an `applicationId` moves the interview to another of your cards. Send the `ETag` from `interviews.get` as `If-Match` to be refused with 412 if it changed in between.","operationId":"interviews.update","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}},{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Write down how it went":{"value":{"feedback":"Went well; a follow-up is likely."}}},"schema":{"properties":{"applicationId":{"type":"string"},"feedback":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"maxLength":65535,"type":"string"},{"type":"null"}]},"time":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"type":{"anyOf":[{"$ref":"#/components/schemas/InterviewType"},{"type":"null"}]}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Write down how it went":{"value":{"applicationId":"app_123","createdAt":"2026-02-11T17:05:00.000Z","feedback":null,"id":"iv_42","location":"Zoom","notes":"Two hours, systems design.","time":"2026-02-20T15:00:00.000Z","type":"technical","updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/PublicInterview"}}},"description":"Change an interview or record how it went"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change an interview or record how it went","tags":["interviews"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"interviews_update","x-sandbox-only":false,"x-scope":"interviews:write"}},"/invitations":{"get":{"description":"Returns the invitations addressed to this account that have not been accepted, declined or revoked, each with the organization, the role offered, who sent it and when it runs out. Answer one with `invitations.accept` or `invitations.decline`. Accepting as an applicant does not expose anything by itself — a board is only visible to the organization once `shares.create` is called for it.","operationId":"invitations.list_mine","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One invitation from a college career centre":{"value":{"data":[{"expiresAt":"2026-03-01T00:00:00.000Z","id":"inv_3f1b0c2e-6d5a-4f7b-9c8d-0a1b2c3d4e5f","invitedByDisplayName":"Jordan Reyes","organization":{"name":"Northwind Careers","slug":"northwind-careers","type":"college"},"role":"applicant"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"invitedByDisplayName":{"type":"string"},"organization":{"additionalProperties":false,"properties":{"name":{"type":"string"},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"}},"required":["slug","name","type"],"type":"object"},"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["id","organization","role","invitedByDisplayName","expiresAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the organization invitations waiting for an answer"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the organization invitations waiting for an answer","tags":["invitations"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"invitations_list_mine","x-sandbox-only":false,"x-scope":"organizations:read"}},"/invitations/{invitationId}/accept":{"post":{"description":"Joins the organization in the role the invitation offered, and answers with that organization and role. Accepting as an applicant shares nothing on its own: the organization sees a board only once `shares.create` has been called for it. An invitation that has expired, been revoked, or already been answered is refused, and one addressed to anybody else answers 404. List what is waiting with `invitations.list_mine`.","operationId":"invitations.accept","parameters":[{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Join a college career centre as an applicant":{"value":{"organizationSlug":"northwind-careers","role":"applicant"}}},"schema":{"additionalProperties":false,"properties":{"organizationSlug":{"type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["organizationSlug","role"],"type":"object"}}},"description":"Accept an organization invitation"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Accept an organization invitation","tags":["invitations"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"invitations_accept","x-sandbox-only":false,"x-scope":"organizations:write"}},"/invitations/{invitationId}/decline":{"post":{"description":"Turns down an invitation without joining the organization. Nothing about this account is disclosed to them by declining, and the same organization can invite the account again later. An invitation already answered, revoked or expired is refused, and one addressed to anybody else answers 404. Answers 200 with an empty object. `invitations.accept` is the other answer.","operationId":"invitations.decline","parameters":[{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Turn down an invitation":{"value":{}}},"schema":{"additionalProperties":false,"properties":{},"type":"object"}}},"description":"Decline an organization invitation"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Decline an organization invitation","tags":["invitations"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"invitations_decline","x-sandbox-only":false,"x-scope":"organizations:write"}},"/me":{"get":{"description":"Answers who the calling credential acts as, in which environment, with which scopes, and which organizations that account belongs to. Call it first when you are handed a credential and do not yet know what it can reach: the scopes it lists are exactly the ones every other operation checks, and `environment` tells you whether the data you are about to change is real. It sits behind no scope of its own, so any credential this API recognises can discover what it holds; every other operation does check one, and refuses with 403 `insufficient_scope` whose `WWW-Authenticate` header names the scope it wanted. A credential restricted to one organization is told about that organization alone, never the others its owner belongs to. A sandbox credential answers with its synthetic tenant address rather than the owner's, because that is the account the rows it can see belong to. Users are not addressable resources here, so no user id is returned. Follow it with `boards.list` to find the board to work on.","operationId":"me.get","parameters":[],"responses":{"200":{"content":{"application/json":{"examples":{"A live key with read access to a personal job search":{"value":{"credential":{"displayPrefix":"jat_live_9f2c","kind":"api_key","restrictedToOrganization":null,"scopes":["boards:read","profile:read"]},"environment":"live","organizations":[],"sandbox":null,"user":{"displayName":"Someone","email":"someone@example.com"}}}},"schema":{"additionalProperties":false,"properties":{"credential":{"additionalProperties":false,"properties":{"displayPrefix":{"type":"string"},"kind":{"enum":["api_key","oauth_access_token"],"type":"string"},"restrictedToOrganization":{"anyOf":[{"additionalProperties":false,"properties":{"name":{"type":"string"},"slug":{"type":"string"}},"required":["slug","name"],"type":"object"},{"type":"null"}]},"scopes":{"items":{"enum":["applications:read","applications:write","boards:read","boards:write","companies:read","companies:write","contacts:read","contacts:write","interviews:read","interviews:write","insights:read","imports:write","resumes:read","resumes:write","profile:read","profile:write","organizations:read","organizations:write","organization_members:write","coach_notes:read","coach_notes:write","billing:read","billing:write","sandbox:manage"],"type":"string"},"type":"array"}},"required":["kind","displayPrefix","scopes","restrictedToOrganization"],"type":"object"},"environment":{"enum":["live","sandbox"],"type":"string"},"organizations":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"},"slug":{"type":"string"}},"required":["slug","name","role"],"type":"object"},"type":"array"},"sandbox":{"anyOf":[{"additionalProperties":false,"properties":{"lastResetAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"seededAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"tenantEmail":{"type":"string"}},"required":["tenantEmail","seededAt","lastResetAt"],"type":"object"},{"type":"null"}]},"user":{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"email":{"type":"string"}},"required":["email","displayName"],"type":"object"}},"required":["user","environment","credential","organizations","sandbox"],"type":"object"}}},"description":"Describe the account and credential this request is acting as"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Describe the account and credential this request is acting as","tags":["me"],"x-audience":"both","x-kind":"read","x-mcp-tool":"me_get","x-sandbox-only":false,"x-scope":null}},"/organizations":{"get":{"description":"Returns every organization the account is a member of, most recently joined first, with the role it holds in each. Start here when you have been asked to do something for \"the career centre\" and do not yet know its slug: every other organization operation is addressed by the `slug` this returns. A credential restricted to one organization sees only that one. An account that belongs to none answers with an empty list rather than an error. Read one whole, with the seat allowance, using `organizations.get`.","operationId":"organizations.list","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A coach who works for one career centre":{"value":{"data":[{"id":"org_5c1f9a7e-2b64-4f0b-9c2a-7d8e1f3a4b5c","joinedAt":"2026-01-06T12:00:00.000Z","name":"Northside Career Center","role":"coach","slug":"northside-career-center","type":"college"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"joinedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"name":{"type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"}},"required":["id","slug","name","type","role","joinedAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the organizations this account belongs to"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the organizations this account belongs to","tags":["organizations"],"x-audience":"both","x-kind":"read","x-mcp-tool":"organizations_list","x-sandbox-only":false,"x-scope":"organizations:read"},"post":{"description":"Creates an organization with the calling account as its owner, and answers with the slug every other organization operation is addressed by. The slug is derived from the name rather than chosen: a name that yields nothing usable, or one somebody else already holds, is resolved with a suffix instead of being refused, so read the slug back from this response rather than guessing it. A credential restricted to one organization may not create another. The slug it answers with is what `organizations.get` and every other organization operation take.","operationId":"organizations.create","parameters":[],"requestBody":{"content":{"application/json":{"examples":{"Open a career centre":{"value":{"name":"Northside Career Center","type":"college","website":"https://careers.northside.example"}}},"schema":{"properties":{"name":{"maxLength":255,"minLength":2,"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"},"website":{"format":"uri","maxLength":2048,"type":"string"}},"required":["name","type"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Open a career centre":{"value":{"createdAt":"2026-01-04T09:30:00.000Z","id":"org_5c1f9a7e-2b64-4f0b-9c2a-7d8e1f3a4b5c","name":"Northside Career Center","slug":"northside-career-center","type":"college","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://careers.northside.example"}}},"schema":{"$ref":"#/components/schemas/OrganizationSummary"}}},"description":"Create an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Create an organization","tags":["organizations"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"organizations_create","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}":{"delete":{"description":"Deletes the organization, its cohorts, its invitations and every note its staff wrote, and stops every board its applicants shared with it from being shared. No applicant loses any of their own data: the boards stay with the people who own them. This cannot be undone. Only an owner may call it, and an organization with a live subscription is refused with 409 until the subscription is cancelled. Answers 204 with no body. Cancel a live subscription first through `billing.create_portal_session`.","operationId":"organizations.delete","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete an organization","tags":["organizations"],"x-audience":"organization","x-kind":"destructive","x-mcp-tool":"organizations_delete","x-sandbox-only":false,"x-scope":"organizations:write"},"get":{"description":"Returns an organization, the role the calling account holds in it, and — for staff only — the seat allowance. `myRole` is worth reading before you try to change anything: an owner may do everything, an admin everything but billing and touching another owner, a coach may invite applicants and write notes, and an applicant may only read. An organization the account does not belong to answers 404, never 403, so a slug cannot be probed for existence. An applicant member receives `seats: null`. The people behind `myRole` are listed by `members.list`.","operationId":"organizations.get","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A career centre read by one of its owners":{"value":{"createdAt":"2026-01-04T09:30:00.000Z","id":"org_5c1f9a7e-2b64-4f0b-9c2a-7d8e1f3a4b5c","myRole":"owner","name":"Northside Career Center","seats":{"available":7,"complimentarySeats":2,"freeSeats":3,"inUse":18,"isOverLimit":false,"limit":25,"purchasedSeats":20,"subscriptionStatus":"active"},"slug":"northside-career-center","type":"college","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://careers.northside.example"}}},"schema":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"myRole":{"$ref":"#/components/schemas/OrganizationRole"},"name":{"type":"string"},"seats":{"anyOf":[{"$ref":"#/components/schemas/SeatSummary"},{"type":"null"}]},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"website":{"type":["string","null"]}},"required":["id","slug","name","type","website","createdAt","updatedAt","myRole","seats"],"type":"object"}}},"description":"Read one organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one organization","tags":["organizations"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"organizations_get","x-sandbox-only":false,"x-scope":"organizations:read"},"patch":{"description":"Changes the fields you name and leaves the rest alone. Send `website: null` to clear the website; leaving it out keeps whatever is there. The slug never changes, even when the name does, so every link and every restricted credential keeps working. Owners and admins may call it; anybody else is told the organization does not exist. Removing the organization altogether is `organizations.delete`.","operationId":"organizations.update","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Rename a career centre":{"value":{"name":"Northside Career Center"}}},"schema":{"properties":{"name":{"maxLength":255,"minLength":2,"type":"string"},"type":{"$ref":"#/components/schemas/OrganizationType"},"website":{"anyOf":[{"format":"uri","maxLength":2048,"type":"string"},{"type":"null"}]}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Rename a career centre":{"value":{"createdAt":"2026-01-04T09:30:00.000Z","id":"org_5c1f9a7e-2b64-4f0b-9c2a-7d8e1f3a4b5c","name":"Northside Career Center","slug":"northside-career-center","type":"college","updatedAt":"2026-02-11T17:05:00.000Z","website":"https://careers.northside.example"}}},"schema":{"$ref":"#/components/schemas/OrganizationSummary"}}},"description":"Change an organization's name, type or website"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change an organization's name, type or website","tags":["organizations"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"organizations_update","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/audit-events":{"get":{"description":"Everything that has been done to the organization — invitations sent and revoked, roles changed, members removed, cohorts opened and closed, notes written, rosters exported, subscriptions changed — newest first. The actor is a label rather than an address, and an action taken by our support team on the organization's behalf says so through `performedBySupport` rather than naming anybody. Owners and admins only. Every value in `details` is spelled the public way, the same as `action`. Walk the pages with `cursor`, which the previous page returns as `nextCursor`. Actions taken through `organization_invitations.create` and `members.update_role` all land here.","operationId":"audit_events.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The most recent things that happened":{"value":{"data":[{"action":"invitation_sent","actorLabel":"Dana Reyes","boardId":null,"createdAt":"2026-02-11T17:05:00.000Z","details":{"role":"applicant"},"id":"evt_1841","performedBySupport":false,"subjectEmail":"student@northside.example","subjectLabel":"student@northside.example"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"action":{"$ref":"#/components/schemas/OrganizationAuditAction"},"actorLabel":{"type":"string"},"boardId":{"type":["string","null"]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"details":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"id":{"type":"string"},"performedBySupport":{"type":"boolean"},"subjectEmail":{"type":["string","null"]},"subjectLabel":{"type":["string","null"]}},"required":["id","action","actorLabel","performedBySupport","subjectEmail","subjectLabel","boardId","details","createdAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Read an organization's audit log"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read an organization's audit log","tags":["audit_events"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"audit_events_list","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/billing":{"get":{"description":"Returns the seat allowance, how much of it is in use, the subscription behind it and what a seat costs on each cadence. Seats are counted against applicant members and invitations still waiting for an answer, so an organization can never oversell its allowance and discover the shortfall when somebody clicks an accept link. `isOverLimit` is what locks every staff read of applicant data, so check it here when `roster.list` or `organization_shares.list` starts answering 403. Both prices come back null on a deployment with no payment provider configured, which is never the same thing as free. Owners and admins may call it.","operationId":"billing.get","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A career centre with twenty purchased seats":{"value":{"canPurchase":true,"pricing":{"annual":{"amountInMinorUnits":5000,"currency":"usd","interval":"annual"},"monthly":{"amountInMinorUnits":500,"currency":"usd","interval":"monthly"}},"seats":{"available":7,"complimentarySeats":2,"freeSeats":3,"inUse":18,"isOverLimit":false,"limit":25,"purchasedSeats":20,"subscriptionStatus":"active"},"subscription":{"billingInterval":"monthly","cancelAtPeriodEnd":false,"currentPeriodEnd":"2026-03-11T17:05:00.000Z","purchasedSeats":20,"status":"active"}}}},"schema":{"additionalProperties":false,"properties":{"canPurchase":{"type":"boolean"},"pricing":{"additionalProperties":false,"properties":{"annual":{"anyOf":[{"additionalProperties":false,"properties":{"amountInMinorUnits":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"currency":{"type":"string"},"interval":{"$ref":"#/components/schemas/BillingInterval"}},"required":["interval","amountInMinorUnits","currency"],"type":"object"},{"type":"null"}]},"monthly":{"anyOf":[{"additionalProperties":false,"properties":{"amountInMinorUnits":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"currency":{"type":"string"},"interval":{"$ref":"#/components/schemas/BillingInterval"}},"required":["interval","amountInMinorUnits","currency"],"type":"object"},{"type":"null"}]}},"required":["monthly","annual"],"type":"object"},"seats":{"$ref":"#/components/schemas/SeatSummary"},"subscription":{"anyOf":[{"additionalProperties":false,"properties":{"billingInterval":{"anyOf":[{"$ref":"#/components/schemas/BillingInterval"},{"type":"null"}]},"cancelAtPeriodEnd":{"type":"boolean"},"currentPeriodEnd":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"purchasedSeats":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"}},"required":["status","purchasedSeats","billingInterval","currentPeriodEnd","cancelAtPeriodEnd"],"type":"object"},{"type":"null"}]}},"required":["seats","subscription","canPurchase","pricing"],"type":"object"}}},"description":"Read an organization’s seats and subscription"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read an organization’s seats and subscription","tags":["billing"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"billing_get","x-sandbox-only":false,"x-scope":"billing:read"}},"/organizations/{organizationSlug}/billing/checkout-session":{"post":{"description":"Answers with a URL on the payment provider’s own checkout page, which a person has to open and complete — nothing is charged here, and the seat count only changes once the payment clears. Owners only. An organization that already has a live subscription is refused with 409: change the seat count through `billing.create_portal_session` instead. A **sandbox** credential never reaches the payment provider at all; it gets a URL on our own documentation site describing what the live call would have done, so an integration can be exercised end to end without anybody spending anything. A sandbox organization has no subscription state to be in, so the 409 above never fires there — only the owners-only check does. Do not write a test that expects it in sandbox.","operationId":"billing.create_checkout_session","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Buy twenty seats billed monthly":{"value":{"interval":"monthly","seats":20}}},"schema":{"properties":{"interval":{"$ref":"#/components/schemas/BillingInterval"},"seats":{"maximum":10000,"minimum":1,"type":"integer"}},"required":["seats","interval"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Buy twenty seats billed monthly":{"value":{"url":"https://checkout.stripe.com/c/pay/cs_live_a1b2c3"}}},"schema":{"$ref":"#/components/schemas/BillingRedirect"}}},"description":"Start buying seats for an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Start buying seats for an organization","tags":["billing"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"billing_create_checkout_session","x-sandbox-only":false,"x-scope":"billing:write"}},"/organizations/{organizationSlug}/billing/portal-session":{"post":{"description":"Answers with a URL on the payment provider’s own customer portal, where an owner changes the seat count, updates the card or cancels. A person has to open it; nothing changes until they act there, and the seat count follows once the change clears. Owners only, and an organization with no subscription yet is refused with 409 — start one with `billing.create_checkout_session`. A **sandbox** credential never reaches the payment provider; it gets a URL on our own documentation site describing what the live call would have done. A sandbox organization has no subscription state to be in, so the 409 above never fires there — only the owners-only check does. Do not write a test that expects it in sandbox.","operationId":"billing.create_portal_session","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Send an owner to manage their subscription":{"value":{"url":"https://billing.stripe.com/p/session/live_a1b2c3"}}},"schema":{"$ref":"#/components/schemas/BillingRedirect"}}},"description":"Open the self-service billing portal for an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Open the self-service billing portal for an organization","tags":["billing"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"billing_create_portal_session","x-sandbox-only":false,"x-scope":"billing:write"}},"/organizations/{organizationSlug}/coach-notes/{noteId}":{"delete":{"description":"Deletes a note. The author may delete their own, and an owner or admin of the note's organization may delete anybody's; everyone else is told the note does not exist. This cannot be undone, and the applicant may already have read it. The note is addressed through the organization that owns it, so a credential confined to one organization can only reach its own notes. Answers 204 with no body. To correct a note rather than lose it, use `coach_notes.update`.","operationId":"coach_notes.delete","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"noteId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Take back a note left on an application","tags":["coach_notes"],"x-audience":"organization","x-kind":"destructive","x-mcp-tool":"coach_notes_delete","x-sandbox-only":false,"x-scope":"coach_notes:write"},"patch":{"description":"Replaces the body of an existing note. The author may edit their own, and an owner or admin of the note's organization may edit anybody's; everyone else is told the note does not exist. The applicant can already see it, so an edit corrects the record rather than hiding anything — to take a note back, delete it with `coach_notes.delete`. The note is addressed through the organization that owns it, so a credential confined to one organization can only reach its own notes.","operationId":"coach_notes.update","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"noteId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Correct a note":{"value":{"body":"Ask them about the take-home before Thursday."}}},"schema":{"properties":{"body":{"maxLength":10000,"minLength":1,"type":"string"}},"required":["body"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Correct a note":{"value":{"applicationId":"app_123","authorDisplayName":"Dana Reyes","body":"Ask them about the take-home before Thursday.","createdAt":"2026-02-11T17:05:00.000Z","id":"note_54","organization":{"name":"Northside Career Center","slug":"northside-career-center"},"updatedAt":"2026-02-11T17:05:00.000Z"}}},"schema":{"$ref":"#/components/schemas/CoachNote"}}},"description":"Reword a note already left on an application"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Reword a note already left on an application","tags":["coach_notes"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"coach_notes_update","x-sandbox-only":false,"x-scope":"coach_notes:write"}},"/organizations/{organizationSlug}/cohort-memberships":{"get":{"description":"Returns one row per stint — one period one applicant spent in one cohort — most recently joined first. Nothing here is ever rewritten: somebody who completed the autumn intake and is now in the spring one has two rows, not a corrected one, and a closed stint keeps its `leftAt` and `departureReason`. Narrow with `applicantEmail`, `cohortId`, or `active=true` for the stints still running. Only current applicant members of the organization are covered. Place somebody in a cohort with `cohort_memberships.create`.","operationId":"cohort_memberships.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"applicantEmail","required":false,"schema":{"anyOf":[{"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},{"type":"string"}]}},{"in":"query","name":"cohortId","required":false,"schema":{"type":"string"}},{"in":"query","name":"active","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Who is in the spring intake right now":{"value":{"data":[{"applicantEmail":"student@northside.example","cohortId":"coh_12","departureReason":null,"id":"cm_87","joinedAt":"2026-01-06T12:00:00.000Z","leftAt":null,"note":null}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/CohortMembership"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List every stint applicants have spent in cohorts"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List every stint applicants have spent in cohorts","tags":["cohort_memberships"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"cohort_memberships_list","x-sandbox-only":false,"x-scope":"organizations:read"},"post":{"description":"Starts a stint: records that this applicant is in this cohort from now on. An applicant may be in several cohorts at once, so this adds one rather than replacing what they are already in; asking again for a cohort they are already in is refused with 409 rather than opening a second overlapping stint. The person must already be an applicant member of the organization — to bring somebody in from outside, invite them with `organization_invitations.create` and name the `cohortId` there. Owners and admins may call it.","operationId":"cohort_memberships.create","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Place a student in the spring intake":{"value":{"cohortId":"coh_12","memberEmail":"student@northside.example"}}},"schema":{"properties":{"cohortId":{"type":"string"},"memberEmail":{"anyOf":[{"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},{"type":"string"}]}},"required":["memberEmail","cohortId"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Place a student in the spring intake":{"value":{"applicantEmail":"student@northside.example","cohortId":"coh_12","departureReason":null,"id":"cm_87","joinedAt":"2026-01-06T12:00:00.000Z","leftAt":null,"note":null}}},"schema":{"$ref":"#/components/schemas/CohortMembership"}}},"description":"Put an applicant into a cohort"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Put an applicant into a cohort","tags":["cohort_memberships"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"cohort_memberships_create","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/cohort-memberships/{membershipId}/end":{"post":{"description":"Closes a stint, on the record, with a reason. Nothing is deleted: the row stays and gains a leaving date, so the same applicant can be placed in the same cohort again later and both stints stand. The reason is required because \"no longer in it\" is the least useful thing a career centre can record — `completed`, `placed`, `withdrew` and `removed` are the whole difference between the four people it describes. Owners and admins may call it; a stint that is already closed is refused. Placing the same applicant in the same cohort again is `cohort_memberships.create`.","operationId":"cohort_memberships.end","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"membershipId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"A student finishes the programme":{"value":{"departureReason":"completed"}}},"schema":{"properties":{"departureReason":{"$ref":"#/components/schemas/CohortDepartureReason"},"note":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null}},"required":["departureReason"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"A student finishes the programme":{"value":{"applicantEmail":"student@northside.example","cohortId":"coh_12","departureReason":"completed","id":"cm_87","joinedAt":"2026-01-06T12:00:00.000Z","leftAt":"2026-06-30T17:00:00.000Z","note":null}}},"schema":{"$ref":"#/components/schemas/CohortMembership"}}},"description":"End an applicant's time in a cohort"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"End an applicant's time in a cohort","tags":["cohort_memberships"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"cohort_memberships_end","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/cohorts":{"get":{"description":"Returns the cohorts an organization groups its applicants into — an intake, a class, a programme — open ones first and then archived ones, alphabetical within each. Archived cohorts are left out unless you ask for them with `includeArchived=true`. Every cohort carries both of its sizes: how many applicants are in it now, and how many have been through it. An organization keeps few enough cohorts that the whole list comes back in one page. Open a new cohort with `cohorts.create`.","operationId":"cohorts.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"includeArchived","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The intakes currently taking applicants":{"value":{"data":[{"archivedAt":null,"createdAt":"2026-01-06T12:00:00.000Z","currentMemberCount":18,"formerMemberCount":4,"id":"coh_12","name":"Spring 2026 intake"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"archivedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"currentMemberCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"formerMemberCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name","archivedAt","createdAt","currentMemberCount","formerMemberCount"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List an organization's cohorts"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List an organization's cohorts","tags":["cohorts"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"cohorts_list","x-sandbox-only":false,"x-scope":"organizations:read"},"post":{"description":"Creates a cohort — an intake, a class, a programme — that applicants can then be placed into with `cohort_memberships.create`, and that the roster and the insights dashboard can be narrowed to. Names are unique within an organization, so a name somebody already used is refused with 409. Owners and admins may call it. Send an `Idempotency-Key` header if a retry must not create a second cohort.","operationId":"cohorts.create","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Open the spring intake":{"value":{"name":"Spring 2026 intake"}}},"schema":{"properties":{"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Open the spring intake":{"value":{"archivedAt":null,"createdAt":"2026-01-06T12:00:00.000Z","id":"coh_12","name":"Spring 2026 intake"}}},"schema":{"$ref":"#/components/schemas/Cohort"}}},"description":"Create a cohort"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Create a cohort","tags":["cohorts"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"cohorts_create","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/cohorts/{cohortId}":{"delete":{"description":"Deletes a cohort created by mistake. Only a cohort nobody has ever been placed in can be deleted, because deleting one would take the record of everyone's time in it along with it; anything else is refused with 409 in favour of `cohorts.update` with `archived: true`, which is almost always what was meant. Owners and admins may call it. Answers 204 with no body.","operationId":"cohorts.delete","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"cohortId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a cohort nobody has ever been in","tags":["cohorts"],"x-audience":"organization","x-kind":"destructive","x-mcp-tool":"cohorts_delete","x-sandbox-only":false,"x-scope":"organizations:write"},"patch":{"description":"Changes the fields you name and leaves the rest alone. `archived: true` closes the cohort to new applicants while keeping every record of who was in it — nobody is removed — and `archived: false` reopens it. Archiving is almost always what you want instead of `cohorts.delete`, which refuses any cohort somebody has been in. A name another cohort in this organization already holds is refused with 409. Owners and admins may call it.","operationId":"cohorts.update","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"cohortId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Rename the spring intake":{"value":{"name":"Spring 2026 intake"}}},"schema":{"properties":{"archived":{"type":"boolean"},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Rename the spring intake":{"value":{"archivedAt":null,"createdAt":"2026-01-06T12:00:00.000Z","id":"coh_12","name":"Spring 2026 intake"}}},"schema":{"$ref":"#/components/schemas/Cohort"}}},"description":"Rename a cohort, archive it, or reopen it"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Rename a cohort, archive it, or reopen it","tags":["cohorts"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"cohorts_update","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/insights":{"get":{"description":"Every number a director quotes in a status meeting, over one time range and optionally one cohort: how many applicants are sharing, how many applications and interviews and offers there have been, the median days to a first interview, the response rate, the funnel, week-by-week activity, a per-applicant table and the sources and companies the applications went to. It is built only from boards applicants have actually shared, so somebody who shares nothing contributes nothing to any figure here — count them with `roster.list` instead. For one applicant's own dashboard, read `insights.get_dashboard` with their board id. Staff only, and the seat lock applies.","operationId":"organization_insights.get_dashboard","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"range","required":false,"schema":{"$ref":"#/components/schemas/InsightsRange"}},{"in":"query","name":"cohortId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"How the whole centre is doing":{"value":{"funnel":[{"reached":214,"status":"applied"}],"generatedAt":"2026-02-11T17:05:00.000Z","headline":{"applicantsSharing":18,"applications":214,"interviews":37,"medianDaysToFirstInterview":11,"offers":6,"placements":4,"responseRatePercent":42.5},"perApplicant":[{"applicantEmail":"student@northside.example","applications":12,"displayName":"Sam Okafor","interviews":3,"lastActivityAt":"2026-02-11T17:05:00.000Z","offers":1,"shareId":"shr_31"}],"range":"all","topCompanies":[{"count":9,"label":"Globex"}],"topSources":[{"count":88,"label":"LinkedIn"}],"weeklyActivity":[{"activeApplicants":11,"applications":19,"interviews":4,"weekStartsOn":"2026-02-09"}]}}},"schema":{"additionalProperties":false,"properties":{"funnel":{"items":{"additionalProperties":false,"properties":{"reached":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"$ref":"#/components/schemas/ApplicationStatus"}},"required":["status","reached"],"type":"object"},"type":"array"},"generatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"headline":{"additionalProperties":false,"properties":{"applicantsSharing":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"applications":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"medianDaysToFirstInterview":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"offers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"placements":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"responseRatePercent":{"minimum":0,"type":"number"}},"required":["applicantsSharing","applications","interviews","offers","placements","medianDaysToFirstInterview","responseRatePercent"],"type":"object"},"perApplicant":{"items":{"additionalProperties":false,"properties":{"applicantEmail":{"type":"string"},"applications":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"displayName":{"type":["string","null"]},"interviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"lastActivityAt":{"type":["string","null"]},"offers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"shareId":{"type":["string","null"]}},"required":["applicantEmail","displayName","shareId","applications","interviews","offers","lastActivityAt"],"type":"object"},"type":"array"},"range":{"$ref":"#/components/schemas/InsightsRange"},"topCompanies":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"},"topSources":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","count"],"type":"object"},"type":"array"},"weeklyActivity":{"items":{"additionalProperties":false,"properties":{"activeApplicants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"applications":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"weekStartsOn":{"type":"string"}},"required":["weekStartsOn","applications","interviews","activeApplicants"],"type":"object"},"type":"array"}},"required":["range","generatedAt","headline","funnel","weeklyActivity","perApplicant","topSources","topCompanies"],"type":"object"}}},"description":"Read the aggregate figures across an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the aggregate figures across an organization","tags":["organization_insights"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"organization_insights_get_dashboard","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/invitations":{"get":{"description":"Returns every invitation the organization has ever sent, the latest to expire first, filtered by `status` when you name one. No accept link is included: the token behind it is stored only as a hash, so a link can be read once, at the moment it is issued, and never again — use `organization_invitations.resend` to mint a fresh one. `mayResend` and `mayRevoke` say what the calling account in particular may do with each row, so a coach sees `false` against invitations somebody else sent.","operationId":"organization_invitations.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/InvitationStatus"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The invitations still waiting for an answer":{"value":{"data":[{"email":"student@northside.example","expiresAt":"2026-02-25T17:05:00.000Z","id":"inv_9b1d4f30-6c2a-4c1e-8f7b-2d3e4f5a6b7c","invitedByDisplayName":"Dana Reyes","mayResend":true,"mayRevoke":true,"role":"applicant","status":"pending"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"email":{"type":"string"},"expiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"id":{"type":"string"},"invitedByDisplayName":{"type":"string"},"mayResend":{"type":"boolean"},"mayRevoke":{"type":"boolean"},"role":{"$ref":"#/components/schemas/OrganizationRole"},"status":{"$ref":"#/components/schemas/InvitationStatus"}},"required":["id","email","role","status","invitedByDisplayName","expiresAt","mayResend","mayRevoke"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the invitations an organization has issued"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the invitations an organization has issued","tags":["organization_invitations"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"organization_invitations_list","x-sandbox-only":false,"x-scope":"organizations:read"},"post":{"description":"Invites a batch of up to 100 addresses at one role and answers with an accept link for each. Each `acceptUrl` carries a secret token that is never stored and can never be read again: treat it exactly as you would a password, send it only to the address it was issued for, and never write it to a log. An address that would produce nothing — somebody who is already a member, or who already has an invitation waiting — comes back under `skipped` rather than failing the batch, because a pasted list of students routinely contains both. Who may invite whom follows the role: any staff member may invite an applicant, owners and admins may invite staff, and only an owner may invite another owner. Applicant seats are checked once for the whole batch, so a batch that would overrun the allowance creates none of it and is refused. `cohortId` puts an applicant into that cohort the moment they accept. The invitations still waiting are listed by `organization_invitations.list`.","operationId":"organization_invitations.create","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Invite two students into the spring intake":{"value":{"cohortId":"coh_12","emails":["student@northside.example","joined@northside.example"],"role":"applicant"}}},"schema":{"properties":{"cohortId":{"type":"string"},"emails":{"items":{"type":"string"},"maxItems":100,"minItems":1,"type":"array"},"message":{"maxLength":1000,"type":"string"},"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["emails","role"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Invite two students into the spring intake":{"value":{"created":[{"acceptUrl":"https://www.jobapplicationtracking.com/invitations/TQ8vJm3rN1pX6yZ0aB2cD4eF5gH7iK9lM0nO1pQ2rS3","email":"student@northside.example","expiresAt":"2026-02-25T17:05:00.000Z","id":"inv_9b1d4f30-6c2a-4c1e-8f7b-2d3e4f5a6b7c","role":"applicant"}],"skipped":[{"email":"joined@northside.example","reason":"already_a_member"}]}}},"schema":{"additionalProperties":false,"properties":{"created":{"items":{"$ref":"#/components/schemas/IssuedOrganizationInvitation"},"type":"array"},"skipped":{"items":{"additionalProperties":false,"properties":{"email":{"type":"string"},"reason":{"enum":["already_a_member","already_invited"],"type":"string"}},"required":["email","reason"],"type":"object"},"type":"array"}},"required":["created","skipped"],"type":"object"}}},"description":"Invite people to an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Invite people to an organization","tags":["organization_invitations"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"organization_invitations_create","x-sandbox-only":false,"x-scope":"organization_members:write"}},"/organizations/{organizationSlug}/invitations/{invitationId}":{"delete":{"description":"Withdraws an invitation nobody has answered yet, which stops its accept link working immediately and frees the applicant seat it was holding. Owners and admins may revoke any invitation; a coach may revoke only the ones they sent. The row stays in `organization_invitations.list` with a `revoked` status, because the organization is entitled to the record that the invitation happened. Answers 204 with no body.","operationId":"organization_invitations.revoke","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Withdraw an invitation","tags":["organization_invitations"],"x-audience":"organization","x-kind":"destructive","x-mcp-tool":"organization_invitations_revoke","x-sandbox-only":false,"x-scope":"organization_members:write"}},"/organizations/{organizationSlug}/invitations/{invitationId}/resend":{"post":{"description":"Mints a fresh token and pushes back the expiry of an invitation nobody has answered, and answers with the new accept link. The previous link stops working the moment this succeeds. Each `acceptUrl` carries a secret token that is never stored and can never be read again: treat it exactly as you would a password, send it only to the address it was issued for, and never write it to a log. Only an invitation `organization_invitations.list` marks `mayResend` can be resent: owners and admins may resend any, a coach only the ones they sent themselves, and an invitation already accepted, declined or revoked cannot be resent at all.","operationId":"organization_invitations.resend","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Nudge a student who never clicked the first link":{"value":{"acceptUrl":"https://www.jobapplicationtracking.com/invitations/TQ8vJm3rN1pX6yZ0aB2cD4eF5gH7iK9lM0nO1pQ2rS3","email":"student@northside.example","expiresAt":"2026-02-25T17:05:00.000Z","id":"inv_9b1d4f30-6c2a-4c1e-8f7b-2d3e4f5a6b7c","role":"applicant"}}},"schema":{"$ref":"#/components/schemas/IssuedOrganizationInvitation"}}},"description":"Reissue an invitation that went unanswered"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Reissue an invitation that went unanswered","tags":["organization_invitations"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"organization_invitations_resend","x-sandbox-only":false,"x-scope":"organization_members:write"}},"/organizations/{organizationSlug}/leave":{"post":{"description":"Ends the calling account's own membership, whatever its role, and stops every board it had shared with that organization from being shared. Nothing of the account's own is deleted. The sole owner of an organization is refused with 422: hand ownership to somebody else with `members.update_role` first, or delete the organization outright with `organizations.delete`. Answers with the boards that stopped being shared.","operationId":"members.leave","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"An applicant leaves their career centre":{"value":{"unsharedBoardIds":["brd_7"]}}},"schema":{"additionalProperties":false,"properties":{"unsharedBoardIds":{"items":{"type":"string"},"type":"array"}},"required":["unsharedBoardIds"],"type":"object"}}},"description":"Leave an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Leave an organization","tags":["members"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"members_leave","x-sandbox-only":false,"x-scope":"organizations:write"}},"/organizations/{organizationSlug}/members":{"get":{"description":"Returns the organization's members with the role each one holds and the `mem_…` id that `members.update_role` and `members.remove` address them by. Staff see everybody; an applicant member sees only the staff who coach them, because the other applicants on a roster are none of their business. The list is ordered by the date each person joined, oldest first.","operationId":"members.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The staff and applicants of a career centre":{"value":{"data":[{"displayName":"Dana Reyes","email":"coach@northside.example","id":"mem_41","joinedAt":"2026-01-06T12:00:00.000Z","role":"coach"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/OrganizationMember"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the people in an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the people in an organization","tags":["members"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"members_list","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/members/{memberId}":{"delete":{"description":"Ends a membership. The person keeps every board, application and note of their own — what they lose is the organization, and every board they had shared with it stops being shared immediately. Owners and admins may call it, and only an owner may remove another owner. To leave an organization yourself use `members.leave`, which checks that somebody is left to own it. Answers 204 with no body.","operationId":"members.remove","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"memberId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Remove somebody from an organization","tags":["members"],"x-audience":"organization","x-kind":"destructive","x-mcp-tool":"members_remove","x-sandbox-only":false,"x-scope":"organization_members:write"},"patch":{"description":"Moves one member between `owner`, `admin`, `coach` and `applicant`. Owners and admins may call it, but only an owner may promote somebody to owner or change an existing owner, so an admin cannot demote the person who created the organization. Promoting an applicant to staff frees the applicant seat they were using; demoting a staff member to applicant takes one. Read `members.list` first for the `mem_…` id.","operationId":"members.update_role","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"memberId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Promote a coach to admin":{"value":{"role":"admin"}}},"schema":{"properties":{"role":{"$ref":"#/components/schemas/OrganizationRole"}},"required":["role"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"examples":{"Promote a coach to admin":{"value":{"displayName":"Dana Reyes","email":"coach@northside.example","id":"mem_41","joinedAt":"2026-01-06T12:00:00.000Z","role":"admin"}}},"schema":{"$ref":"#/components/schemas/OrganizationMember"}}},"description":"Change a member's role in an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change a member's role in an organization","tags":["members"],"x-audience":"organization","x-kind":"write","x-mcp-tool":"members_update_role","x-sandbox-only":false,"x-scope":"organization_members:write"}},"/organizations/{organizationSlug}/roster":{"get":{"description":"One line per applicant member: the cohorts they are in, the boards they have shared, how their applications are spread across the funnel, how many interviews are coming up, and why each one might need a word. An applicant who has shared nothing still gets a line, carrying zeroes and a `no_share` reason — they are exactly the person a coach needs to notice. Narrow to one cohort with `cohortId=coh_…`, or to the applicants in none with `cohortId=none`. Staff only, and an organization over its seat limit is refused with 403 until an owner adds seats or removes applicants. The same rows as a spreadsheet are `roster.export`.","operationId":"roster.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"cohortId","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The spring intake, newest member first":{"value":{"data":[{"applicantDisplayName":"Sam Okafor","applicantEmail":"student@northside.example","cohorts":[{"departureReason":null,"id":"coh_12","joinedAt":"2026-01-06T12:00:00.000Z","leftAt":null,"name":"Spring 2026 intake"}],"joinedAt":"2026-01-06T12:00:00.000Z","lastActivityAt":"2026-02-11T17:05:00.000Z","needsAttention":[],"shares":[{"applicationCount":12,"boardId":"brd_7","boardName":"Spring search","isActive":true,"lastActivityAt":"2026-02-11T17:05:00.000Z","shareId":"shr_31"}],"totals":{"accepted":0,"applications":12,"applied":7,"interviewing":3,"offers":1,"rejected":1},"upcomingInterviews":2}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"applicantDisplayName":{"type":["string","null"]},"applicantEmail":{"type":"string"},"cohorts":{"items":{"additionalProperties":false,"properties":{"departureReason":{"anyOf":[{"$ref":"#/components/schemas/CohortDepartureReason"},{"type":"null"}]},"id":{"type":"string"},"joinedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"leftAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"name":{"type":"string"}},"required":["id","name","joinedAt","leftAt","departureReason"],"type":"object"},"type":"array"},"joinedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"lastActivityAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"needsAttention":{"items":{"$ref":"#/components/schemas/NeedsAttentionReason"},"type":"array"},"shares":{"items":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"boardId":{"type":"string"},"boardName":{"type":"string"},"isActive":{"type":"boolean"},"lastActivityAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"shareId":{"type":"string"}},"required":["shareId","boardId","boardName","isActive","applicationCount","lastActivityAt"],"type":"object"},"type":"array"},"totals":{"additionalProperties":false,"properties":{"accepted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"applications":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"applied":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interviewing":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"offers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"rejected":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["applications","applied","interviewing","offers","accepted","rejected"],"type":"object"},"upcomingInterviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["applicantEmail","applicantDisplayName","joinedAt","cohorts","shares","totals","upcomingInterviews","lastActivityAt","needsAttention"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"Read the roster of an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the roster of an organization","tags":["roster"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"roster_list","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/roster/export":{"get":{"description":"Builds the roster as a CSV file. Over REST it arrives as a download; ask for `?format=json` and the same file comes back inside the JSON response instead, which is how a tool call receives it. Narrow it to one cohort with `cohortId=coh_…`, or to the applicants in none with `cohortId=none`. Owners and admins only, and the seat lock applies. Taking a copy of every applicant's progress is recorded in the organization's audit log as `roster_exported`, naming you and the number of applicants covered — read `roster.list` instead when you only need the figures.","operationId":"roster.export","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"cohortId","required":false,"schema":{"type":"string"}},{"in":"query","name":"format","required":false,"schema":{"enum":["json","csv"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Take the whole roster away as a spreadsheet":{"value":{"applicantCount":18,"content":"Applicant,Email,Cohorts\nSam Okafor,student@northside.example,Spring 2026 intake\n","contentType":"text/csv; charset=utf-8","fileName":"northside-career-center-roster-2026-02-11.csv"}}},"schema":{"additionalProperties":false,"properties":{"applicantCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"content":{"type":"string"},"contentType":{"const":"text/csv; charset=utf-8","type":"string"},"fileName":{"type":"string"}},"required":["fileName","contentType","applicantCount","content"],"type":"object"}},"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"Export the roster as a spreadsheet"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Export the roster as a spreadsheet","tags":["roster"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"roster_export","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/shares":{"get":{"description":"Returns every board an applicant has chosen to show this organization, most recently shared first, with the cohorts each applicant is currently in. This is the entry point to an applicant's data: take the `board.id` from a row and read it with `boards.get`, `applications.list`, `table.list_rows` and `insights.get_dashboard`, exactly as the web app does. Those reads are read-only for staff — a write against a board you do not own answers 404. Staff only, and an organization over its seat limit is refused with 403 until an owner adds seats or removes applicants.","operationId":"organization_shares.list","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The boards a career centre can read":{"value":{"data":[{"applicant":{"displayName":"Sam Okafor","email":"student@northside.example"},"board":{"applicationCount":12,"id":"brd_7","isActive":true,"name":"Spring search"},"cohorts":[{"id":"coh_12","name":"Spring 2026 intake"}],"id":"shr_31","sharedAt":"2026-01-08T09:00:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/OrganizationShare"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the boards applicants have shared with an organization"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the boards applicants have shared with an organization","tags":["organization_shares"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"organization_shares_list","x-sandbox-only":false,"x-scope":"organizations:read"}},"/organizations/{organizationSlug}/shares/{shareId}":{"get":{"description":"Returns a single share — who shared which board, when, and which cohorts they are in — together with the URLs of the four reads that follow from it: the board, its applications, the flat table view, and the insights dashboard. Use it when you hold a `shr_…` id and want the applicant's board without guessing how to address it. A share held by another organization answers 404, never 403. Staff only, and an organization over its seat limit is refused with 403. Find a share id with `organization_shares.list`.","operationId":"organization_shares.get","parameters":[{"in":"path","name":"organizationSlug","required":true,"schema":{"pattern":"^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])?$","type":"string"}},{"in":"path","name":"shareId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One student's shared board":{"value":{"applicant":{"displayName":"Sam Okafor","email":"student@northside.example"},"board":{"applicationCount":12,"id":"brd_7","isActive":true,"name":"Spring search"},"cohorts":[{"id":"coh_12","name":"Spring 2026 intake"}],"id":"shr_31","links":{"applications":"https://www.jobapplicationtracking.com/api/v1/boards/brd_7/applications","board":"https://www.jobapplicationtracking.com/api/v1/boards/brd_7","insights":"https://www.jobapplicationtracking.com/api/v1/boards/brd_7/insights","table":"https://www.jobapplicationtracking.com/api/v1/boards/brd_7/table"},"sharedAt":"2026-01-08T09:00:00.000Z"}}},"schema":{"additionalProperties":false,"properties":{"applicant":{"additionalProperties":false,"properties":{"displayName":{"type":["string","null"]},"email":{"type":"string"}},"required":["email","displayName"],"type":"object"},"board":{"additionalProperties":false,"properties":{"applicationCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"type":"string"},"isActive":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","isActive","applicationCount"],"type":"object"},"cohorts":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"type":"array"},"id":{"type":"string"},"links":{"additionalProperties":false,"properties":{"applications":{"type":"string"},"board":{"type":"string"},"insights":{"type":"string"},"table":{"type":"string"}},"required":["board","applications","table","insights"],"type":"object"},"sharedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","applicant","board","sharedAt","cohorts","links"],"type":"object"}}},"description":"Read one shared board and where to read it from"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one shared board and where to read it from","tags":["organization_shares"],"x-audience":"organization","x-kind":"read","x-mcp-tool":"organization_shares_get","x-sandbox-only":false,"x-scope":"organizations:read"}},"/people/analytics":{"get":{"description":"Answers how much networking happened over the window and how that compares with the equal-length window immediately before it, plus the contacts talked to most. Every comparison is like for like: thirty days against the previous thirty, never a running total against a window. Each metric says in `comparison.kind` whether a percentage is even meaningful — the `all` range has no earlier window, and growth from an empty window has no percentage. Use `people.get_overview` for who to contact next.","operationId":"people.get_analytics","parameters":[{"in":"query","name":"range","required":false,"schema":{"default":"30d","enum":["7d","30d","90d","1y","all"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"Thirty days against the thirty before them":{"value":{"generatedAt":"2026-02-11T17:05:00.000Z","interactionsByType":[{"count":11,"type":"email"}],"interactionVolume":[],"metrics":[{"comparison":{"changePercent":38,"direction":"up","kind":"compared","previous":8},"current":11,"name":"interactions"}],"range":"30d","topContacts":[{"companyName":"Acme","contactId":"ct_42","interactionCount":4,"name":"Dana Okafor"}]}}},"schema":{"additionalProperties":false,"properties":{"generatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"interactionsByType":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"type":{"$ref":"#/components/schemas/ContactInteractionType"}},"required":["type","count"],"type":"object"},"type":"array"},"interactionVolume":{"items":{"additionalProperties":false,"properties":{"countsByType":{"additionalProperties":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"propertyNames":{"$ref":"#/components/schemas/ContactInteractionType"},"type":"object"},"label":{"type":"string"},"startsOn":{"type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["startsOn","label","countsByType","total"],"type":"object"},"type":"array"},"metrics":{"items":{"additionalProperties":false,"properties":{"comparison":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"no_previous_window","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"previous_window_was_empty","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"changePercent":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"direction":{"enum":["up","down","neutral"],"type":"string"},"kind":{"const":"compared","type":"string"},"previous":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","previous","changePercent","direction"],"type":"object"}]},"current":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"enum":["new_contacts","interactions","active_contacts","meetings"],"type":"string"}},"required":["name","current","comparison"],"type":"object"},"type":"array"},"range":{"enum":["7d","30d","90d","1y","all"],"type":"string"},"topContacts":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":["string","null"]},"contactId":{"type":"string"},"interactionCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"}},"required":["contactId","name","companyName","interactionCount"],"type":"object"},"type":"array"}},"required":["range","generatedAt","metrics","topContacts","interactionVolume","interactionsByType"],"type":"object"}}},"description":"Compare this window of networking against the one before it"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Compare this window of networking against the one before it","tags":["people"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"people_get_analytics","x-sandbox-only":false,"x-scope":"contacts:read"}},"/people/overview":{"get":{"description":"Answers who is owed a follow-up, which interviews are coming up, what was said recently, and how much networking happened over the window. Two parts deliberately ignore `range`: upcoming interviews, and the \"gone quiet\" rule behind the follow-up list, because both are about what to do next rather than about a historical window. Reach for this before `contacts.list` when the question is what to do rather than who exists; `people.get_analytics` has the comparison against the previous window.","operationId":"people.get_overview","parameters":[{"in":"query","name":"range","required":false,"schema":{"default":"30d","enum":["7d","30d","90d","1y","all"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"The last thirty days of networking":{"value":{"followUps":[{"companyName":"Acme","contactId":"ct_42","lastInteractionAt":"2026-01-06T15:00:00.000Z","name":"Dana Okafor","reason":"gone_quiet"}],"generatedAt":"2026-02-11T17:05:00.000Z","headline":{"activeContactsInRange":6,"interactionsInRange":11,"totalContacts":24,"upcomingInterviews":1},"interactionsByType":[{"count":11,"type":"email"}],"interactionVolume":[],"range":"30d","recentInteractions":[],"upcomingInterviews":[]}}},"schema":{"additionalProperties":false,"properties":{"followUps":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":["string","null"]},"contactId":{"type":"string"},"lastInteractionAt":{"type":["string","null"]},"name":{"type":"string"},"reason":{"enum":["follow_up_logged","gone_quiet"],"type":"string"}},"required":["contactId","name","companyName","lastInteractionAt","reason"],"type":"object"},"type":"array"},"generatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"headline":{"additionalProperties":false,"properties":{"activeContactsInRange":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"interactionsInRange":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"totalContacts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"upcomingInterviews":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["totalContacts","activeContactsInRange","interactionsInRange","upcomingInterviews"],"type":"object"},"interactionsByType":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"type":{"$ref":"#/components/schemas/ContactInteractionType"}},"required":["type","count"],"type":"object"},"type":"array"},"interactionVolume":{"items":{"additionalProperties":false,"properties":{"countsByType":{"additionalProperties":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"propertyNames":{"$ref":"#/components/schemas/ContactInteractionType"},"type":"object"},"label":{"type":"string"},"startsOn":{"type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["startsOn","label","countsByType","total"],"type":"object"},"type":"array"},"range":{"enum":["7d","30d","90d","1y","all"],"type":"string"},"recentInteractions":{"items":{"additionalProperties":false,"properties":{"companyName":{"type":["string","null"]},"contactId":{"type":"string"},"contactName":{"type":"string"},"interactionId":{"type":"string"},"interactionTime":{"type":"string"},"notes":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/ContactInteractionType"}},"required":["interactionId","contactId","contactName","companyName","type","notes","interactionTime"],"type":"object"},"type":"array"},"upcomingInterviews":{"items":{"additionalProperties":false,"properties":{"applicationId":{"type":"string"},"companyName":{"type":"string"},"contactNames":{"items":{"type":"string"},"type":"array"},"interviewId":{"type":"string"},"jobName":{"type":"string"},"time":{"type":"string"}},"required":["interviewId","applicationId","jobName","companyName","time","contactNames"],"type":"object"},"type":"array"}},"required":["range","generatedAt","headline","followUps","upcomingInterviews","recentInteractions","interactionVolume","interactionsByType"],"type":"object"}}},"description":"Summarise the networking side of this job search"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Summarise the networking side of this job search","tags":["people"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"people_get_overview","x-sandbox-only":false,"x-scope":"contacts:read"}},"/profile":{"get":{"description":"Returns the name, contact details, address and work-eligibility answers this account has saved for filling in employers' application forms. Most of it is encrypted at rest and decrypted for this response, so treat it as sensitive: it is the one part of the API that answers with a home address and a phone number. An account that has filled nothing in answers with every field empty rather than 404. Change it with `profile.update`; `me.get` describes the credential instead.","operationId":"profile.get","parameters":[],"responses":{"200":{"content":{"application/json":{"examples":{"A filled-in profile":{"value":{"authorizedForWorkInUnitedStates":"yes","city":"Chicago","country":"United States","county":"Cook","currentCompany":"Northwind","currentTitle":"Senior Engineer","email":"riley@example.com","firstName":"Riley","hasBachelorDegree":"yes","lastName":"Bennett","linkedIn":"https://www.linkedin.com/in/riley-bennett","middleName":"","phone":"5551234567","phoneCountryCode":"1","postalCode":"60601","requiresVisaSponsorship":"no","state":"Illinois","streetAddress1":"18 Prairie Street","streetAddress2":"","streetAddress3":"","title":""}}},"schema":{"$ref":"#/components/schemas/Profile"}}},"description":"Read the personal details used to fill in application forms"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read the personal details used to fill in application forms","tags":["profile"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"profile_get","x-sandbox-only":false,"x-scope":"profile:read"},"patch":{"description":"Changes the fields you name and leaves the rest alone. Send an empty string to clear a field. Everything sensitive is re-encrypted at rest, and the response is the whole profile as it now stands. Send the `ETag` from `profile.get` as `If-Match` to be refused with 412 if the profile changed in between.","operationId":"profile.update","parameters":[{"description":"The ETag of the version you read. The write is refused with 412 if the resource has changed since.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Record a new phone number":{"value":{"phone":"5551234567"}}},"schema":{"properties":{"authorizedForWorkInUnitedStates":{"enum":["yes","no"],"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"county":{"type":"string"},"currentCompany":{"type":"string"},"currentTitle":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"hasBachelorDegree":{"enum":["yes","no"],"type":"string"},"lastName":{"type":"string"},"linkedIn":{"type":"string"},"middleName":{"type":"string"},"phone":{"type":"string"},"phoneCountryCode":{"type":"string"},"postalCode":{"type":"string"},"requiresVisaSponsorship":{"enum":["yes","no"],"type":"string"},"state":{"type":"string"},"streetAddress1":{"type":"string"},"streetAddress2":{"type":"string"},"streetAddress3":{"type":"string"},"title":{"type":"string"}},"required":[],"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"examples":{"Record a new phone number":{"value":{"authorizedForWorkInUnitedStates":"yes","city":"Chicago","country":"United States","county":"Cook","currentCompany":"Northwind","currentTitle":"Senior Engineer","email":"riley@example.com","firstName":"Riley","hasBachelorDegree":"yes","lastName":"Bennett","linkedIn":"https://www.linkedin.com/in/riley-bennett","middleName":"","phone":"5551234567","phoneCountryCode":"1","postalCode":"60601","requiresVisaSponsorship":"no","state":"Illinois","streetAddress1":"18 Prairie Street","streetAddress2":"","streetAddress3":"","title":""}}},"schema":{"$ref":"#/components/schemas/Profile"}}},"description":"Change the personal details used to fill in application forms"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Change the personal details used to fill in application forms","tags":["profile"],"x-audience":"personal","x-kind":"write","x-mcp-tool":"profile_update","x-sandbox-only":false,"x-scope":"profile:write"}},"/resumes":{"get":{"description":"Returns every résumé uploaded to this account, newest first, described but not delivered — the file itself is never inlined. Use `resumes.get` for a short-lived download link, and `applications.attach_resume` to record which one was sent for a particular job.","operationId":"resumes.list","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One résumé on file":{"value":{"data":[{"createdAt":"2026-01-04T09:30:00.000Z","fileName":"riley-bennett-platform.pdf","fileSizeBytes":148221,"fileType":"application/pdf","id":"rs_5","name":"Platform engineering","updatedAt":"2026-01-04T09:30:00.000Z"}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"fileName":{"type":"string"},"fileSizeBytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"fileType":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","name","fileName","fileType","fileSizeBytes","createdAt","updatedAt"],"type":"object"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the résumés on this account"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the résumés on this account","tags":["resumes"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"resumes_list","x-sandbox-only":false,"x-scope":"resumes:read"},"post":{"description":"Stores a new résumé on this account. Over REST, send it as `multipart/form-data` with a `file` part and a `name` field; a tool call sends the same thing as JSON, with `file` as `{ fileName, contentType, contentBase64 }`. The file must be a PDF, DOC or DOCX and no larger than ten mebibytes — anything else is refused with 415 or 413. The `name` is what you will recognise it by later; the file name is kept as it arrived. Uploading does not attach it to anything, so follow with `applications.attach_resume` to record which job it was sent for, and read it back with `resumes.get`.","operationId":"resumes.create","parameters":[],"requestBody":{"content":{"multipart/form-data":{"examples":{"Upload the platform engineering résumé":{"value":{"file":{"contentBase64":"JVBERi0xLjcK","contentType":"application/pdf","fileName":"riley-bennett-platform.pdf"},"name":"Platform engineering"}}},"schema":{"properties":{"file":{"properties":{"contentBase64":{"contentEncoding":"base64","format":"base64","pattern":"^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$","type":"string"},"contentType":{"minLength":1,"type":"string"},"fileName":{"maxLength":255,"minLength":1,"type":"string"}},"required":["fileName","contentType","contentBase64"],"type":"object"},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name","file"],"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"Upload the platform engineering résumé":{"value":{"createdAt":"2026-01-04T09:30:00.000Z","fileName":"riley-bennett-platform.pdf","fileSizeBytes":148221,"fileType":"application/pdf","id":"rs_5","name":"Platform engineering","updatedAt":"2026-01-04T09:30:00.000Z"}}},"schema":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"fileName":{"type":"string"},"fileSizeBytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"fileType":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","name","fileName","fileType","fileSizeBytes","createdAt","updatedAt"],"type":"object"}}},"description":"Upload a résumé"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Upload a résumé","tags":["resumes"],"x-audience":"personal","x-kind":"write","x-max-body-bytes":15029590,"x-mcp-tool":"resumes_create","x-sandbox-only":false,"x-scope":"resumes:write"}},"/resumes/{resumeId}":{"delete":{"description":"Removes a résumé and its stored file, and detaches it from every application that recorded it as the one sent. The applications themselves are untouched; they simply stop naming a résumé. This cannot be undone, and a résumé belonging to another account answers 404. Answers 204 with no body. To stop one application naming a résumé without deleting the file, use `applications.detach_resume`.","operationId":"resumes.delete","parameters":[{"in":"path","name":"resumeId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Delete a résumé","tags":["resumes"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"resumes_delete","x-sandbox-only":false,"x-scope":"resumes:write"},"get":{"description":"Returns a résumé's details together with `downloadUrl`, a signed link to the file that stops working at `downloadUrlExpiresAt` — about fifteen minutes out. The link carries its own authorization, so fetch it without a bearer token, and do not store it: ask again when it lapses. A résumé belonging to another account answers 404. Find the id to pass here with `resumes.list`.","operationId":"resumes.get","parameters":[{"in":"path","name":"resumeId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"A résumé and a link to the PDF":{"value":{"createdAt":"2026-01-04T09:30:00.000Z","downloadUrl":"https://files.jobapplicationtracking.com/resumes/rs_5?signature=…","downloadUrlExpiresAt":"2026-02-11T17:20:00.000Z","fileName":"riley-bennett-platform.pdf","fileSizeBytes":148221,"fileType":"application/pdf","id":"rs_5","name":"Platform engineering","updatedAt":"2026-01-04T09:30:00.000Z"}}},"schema":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"downloadUrl":{"type":"string"},"downloadUrlExpiresAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"fileName":{"type":"string"},"fileSizeBytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"fileType":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"updatedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"}},"required":["id","name","fileName","fileType","fileSizeBytes","createdAt","updatedAt","downloadUrl","downloadUrlExpiresAt"],"type":"object"}}},"description":"Read one résumé and get a link to download it"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Read one résumé and get a link to download it","tags":["resumes"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"resumes_get","x-sandbox-only":false,"x-scope":"resumes:read"}},"/sandbox":{"get":{"description":"Returns the synthetic tenant a sandbox credential acts as, when its sample data was planted, when it was last reset, and the earliest moment another reset will be accepted. Only sandbox credentials may call it; a live credential is refused with 403 `sandbox_only`. Seeding happens the first time a sandbox credential is used, so this answers even if nobody has reset anything yet. Throw the tenant away and plant a fresh one with `sandbox.reset`.","operationId":"sandbox.get","parameters":[],"responses":{"200":{"content":{"application/json":{"examples":{"A freshly seeded sandbox":{"value":{"canResetAt":"2026-02-11T17:06:00.000Z","lastResetAt":null,"organizationSlug":"northwind-careers","seededAt":"2026-02-11T17:05:00.000Z","tenantEmail":"sandbox-9f2c1a7b3d4e5f60@sandbox.invalid"}}},"schema":{"$ref":"#/components/schemas/SandboxEnvironment"}}},"description":"Describe the sandbox this credential acts on"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Describe the sandbox this credential acts on","tags":["sandbox"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"sandbox_get","x-sandbox-only":true,"x-scope":"sandbox:manage"}},"/sandbox/reset":{"post":{"description":"Deletes everything in the sandbox tenant and seeds a new one from the sample world, which is how an integration test gets back to a known state. Existing sandbox credentials keep working — they resolve to whichever tenant the sandbox holds today — but every id handed out before the reset is gone. A reset within a minute of the last one is refused with 409, and a live credential is refused with 403 `sandbox_only`. Read the tenant it planted with `sandbox.get`.","operationId":"sandbox.reset","parameters":[],"responses":{"202":{"content":{"application/json":{"examples":{"Start the next test run clean":{"value":{"canResetAt":"2026-02-11T17:06:00.000Z","lastResetAt":null,"organizationSlug":"northwind-careers","seededAt":"2026-02-11T17:05:00.000Z","tenantEmail":"sandbox-9f2c1a7b3d4e5f60@sandbox.invalid"}}},"schema":{"$ref":"#/components/schemas/SandboxEnvironment"}}},"description":"Throw the sandbox away and plant a fresh copy of the sample data"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Throw the sandbox away and plant a fresh copy of the sample data","tags":["sandbox"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"sandbox_reset","x-sandbox-only":true,"x-scope":"sandbox:manage"}},"/shares":{"get":{"description":"Returns every share this applicant has created: which board, which organization, and when. A share is read-only consent — the organization's staff can see the board and leave coach notes on it, and can change nothing. Create one with `shares.create` and withdraw one with `shares.delete`.","operationId":"shares.list","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"One board shared with a career centre":{"value":{"data":[{"boardId":"brd_7","boardName":"Spring search","createdAt":"2026-02-01T09:30:00.000Z","id":"shr_42","organization":{"name":"Northwind Careers","slug":"northwind-careers"}}],"hasMore":false,"nextCursor":null}}},"schema":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/BoardShare"},"type":"array"},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"],"type":"object"}}},"description":"List the boards this account has shared with organizations"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"List the boards this account has shared with organizations","tags":["shares"],"x-audience":"personal","x-kind":"read","x-mcp-tool":"shares_list","x-sandbox-only":false,"x-scope":"boards:read"}},"/shares/{shareId}":{"delete":{"description":"Withdraws an organization's sight of a board. Every coach note that organization left on the board goes with it, exactly as it does in the web app — the notes exist only because the share did. The board itself and everything on it are untouched, and the account stays a member of the organization. Only the applicant who created the share may remove it. Answers 204 with no body. Create a share with `shares.create`, and see the ones in force with `shares.list`.","operationId":"shares.delete","parameters":[{"in":"path","name":"shareId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Done. The response has no body."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request was refused. The body is an RFC 9457 problem."}},"summary":"Stop sharing a board with an organization","tags":["shares"],"x-audience":"personal","x-kind":"destructive","x-mcp-tool":"shares_delete","x-sandbox-only":false,"x-scope":"boards:write"}}},"security":[{"apiKey":[]},{"oauth2":[]}],"servers":[{"url":"https://www.jobapplicationtracking.com/api/v1"}],"tags":[{"name":"applications"},{"name":"audit_events"},{"name":"billing"},{"name":"boards"},{"name":"coach_notes"},{"name":"cohort_memberships"},{"name":"cohorts"},{"name":"companies"},{"name":"contacts"},{"name":"exports"},{"name":"imports"},{"name":"insights"},{"name":"interactions"},{"name":"interviews"},{"name":"invitations"},{"name":"me"},{"name":"members"},{"name":"organization_insights"},{"name":"organization_invitations"},{"name":"organization_shares"},{"name":"organizations"},{"name":"people"},{"name":"profile"},{"name":"resumes"},{"name":"roster"},{"name":"sandbox"},{"name":"shares"},{"name":"table"}]}