{"name":"team.yardstick/yardstick","slug":"yardstick","title":"Yardstick ATS","description":"Manage hiring in Yardstick's ATS: jobs, candidates, applications, interviews, and scorecards.","url":"https://mcp.market/server/yardstick","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-12T15:02:10.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-21T00:46:11.416Z","last_ok_at":"2026-09-21T00:46:11.416Z","latency_ms":358},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/yardstickinc/yardstick-mcp","website":"https://portal.yardstick.team/docs/mcp","version":"0.6.7","remotes":[{"type":"streamable-http","url":"https://api.yardstick.team/mcp"}],"packages":[],"tools":[{"name":"yardstick_access_grants_create","description":"Create a reasoned, revocable, audited access grant.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"subject_person_id":{"type":"string","minLength":1},"scope":{"type":"string","enum":["job","department","application","report"]},"target_id":{"type":"string","minLength":1},"artifact_classes":{"type":"array","items":{"type":"string","enum":["application","interview_plan","scorecard","decision_brief","report"]},"minItems":1,"maxItems":20},"reason":{"type":"string","minLength":1,"maxLength":2000},"effective_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"revocable":{"type":"boolean"}},"required":["subject_person_id","scope","target_id","artifact_classes","reason"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_access_grants_list","description":"List explicit access grants visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_access_grants_read","description":"Read one explicit access grant by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"access_grant_id":{"type":"string","minLength":1}},"required":["access_grant_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_access_grants_revoke","description":"Revoke an explicit access grant with optional reason text.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"access_grant_id":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":2000}},"required":["access_grant_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_application_interview_sessions_ensure","description":"Ensure an application interview session for an explicit round id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"interview_plan_id":{"type":"string","minLength":1},"round_id":{"type":"string","minLength":1},"round_title":{"type":"string","minLength":1}},"required":["application_id","round_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_application_interview_sessions_list","description":"List interview sessions for an application.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_archive_bind","description":"Bind an already-previewed application archive with explicit approval metadata and matching idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":2000},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["application_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_archive_preview","description":"Preview application archive approval requirements only; bind fields are rejected.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"reason":{"type":"string","maxLength":2000}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_create","description":"Create a recruiter or agent-sourced application for an existing person and job posting.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1}},"required":["person_id","job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_email_decision_apply","description":"Apply an application status-change email decision with idempotency metadata.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_email_decision_preview","description":"Preview the candidate email decision for an application status change without mutating the application or drafts.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_list","description":"List application person + Job attachments visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_read","description":"Read one application person + Job attachment by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_status_email_poc_bind","description":"Bind the fixed applications-owned status/email approval POC with explicit approval metadata and a matching idempotency key.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"current_status":{"type":"string","const":"Interviewing"},"target_status":{"type":"string","const":"Offer"},"email_type":{"type":"string","const":"offer"},"decision":{"type":"string","const":"review_edit"},"requested_sender_identity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"personalization_instruction":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"mode":{"type":"string","enum":["test","live"]},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["application_id","current_status","target_status","email_type","decision","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_status_email_poc_preview","description":"Preview the fixed applications-owned Interviewing to Offer status/email approval POC without mutating status or email state.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"current_status":{"type":"string","const":"Interviewing"},"target_status":{"type":"string","const":"Offer"},"email_type":{"type":"string","const":"offer"},"decision":{"type":"string","const":"review_edit"},"requested_sender_identity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"personalization_instruction":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"mode":{"type":"string","enum":["test","live"]}},"required":["application_id","current_status","target_status","email_type","decision"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_transition_bind","description":"Bind an already-previewed application transition with explicit approval metadata and matching idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["Offer","Hired","Offer Rejected","Disqualified","Withdrawn"]},"reason":{"type":"string","maxLength":2000},"employment_start_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["application_id","status","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_transition_direct","description":"Directly write a non-terminal application transition; approval-only statuses are rejected. Optionally target a configured stage by id with pipeline_stage_id (the resolved stage is reported back).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["Screening","Interviewing","On Hold"]},"reason":{"type":"string","maxLength":2000},"pipeline_stage_id":{"type":"string","minLength":1}},"required":["application_id","status"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_transition_preview","description":"Preview approval-required application transitions only; bind fields and direct-write targets are rejected. Optionally target a configured stage by id with pipeline_stage_id (status must match the stage's mapped status).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["Offer","Hired","Offer Rejected","Disqualified","Withdrawn"]},"reason":{"type":"string","maxLength":2000},"employment_start_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"pipeline_stage_id":{"type":"string","minLength":1}},"required":["application_id","status"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_applications_update","description":"Update one application with schema-bound public API fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"stage":{"type":"string","maxLength":200}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_ats_imports_apply","description":"Apply an approved ATS import preview with a preview_hash matching the stored dry-run. Creates people/jobs/interview_plans(stub)/job_postings/applications with idempotent replay; never sends outreach, merges people, or deletes records.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"import_id":{"type":"string","minLength":1},"preview_hash":{"type":"string","minLength":1}},"required":["import_id","preview_hash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_ats_imports_dry_run","description":"Preview a structured-row ATS import of candidates, jobs, and applications (source_kind: csv). JSON rows only; no raw CSV/archive file reads, no application conversion side effects, and low-confidence stage/fuzzy matches require explicit apply decisions.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"source_kind":{"type":"string","enum":["csv","greenhouse"]},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"candidates":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"email":{"anyOf":[{"type":"string","format":"email","maxLength":320},{"type":"null"}]},"phone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}]},"linkedin_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"current_title":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"current_company":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false},"maxItems":1000},"jobs":{"type":"array","items":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"department":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"location":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"location_type":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"status":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}]}},"additionalProperties":false},"maxItems":1000},"applications":{"type":"array","items":{"type":"object","properties":{"candidate_email":{"anyOf":[{"type":"string","format":"email","maxLength":320},{"type":"null"}]},"candidate_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"job_title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"stage":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"employment_start_date":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}]}},"additionalProperties":false},"maxItems":1000},"session_id":{"type":"string","minLength":1},"metadata":{"type":"object","additionalProperties":{}}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_ats_imports_read","description":"Read one ATS import dry-run/apply batch and its rows by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"import_id":{"type":"string","minLength":1}},"required":["import_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_audit_log_list","description":"List public Yardstick audit log entries visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_create","description":"Create a stage automation rule (trigger + typed action from the 3-type palette: send_scheduling_link / create_task / send_email). Inert — fires no side effect.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_stage_id":{"type":"string","minLength":1},"trigger":{"type":"string","enum":["stage_enter","stage_exit"]},"action":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"send_scheduling_link"},"interview_session_id":{"type":"string","minLength":1},"interview_id":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"create_task"},"task_type":{"type":"string","minLength":1,"maxLength":200},"task_title":{"type":"string","minLength":1,"maxLength":500},"assigned_user_email":{"type":"string","minLength":1,"maxLength":320},"due_date":{"type":"string","minLength":1,"maxLength":64},"context":{"type":"object","additionalProperties":{}}},"required":["type","task_type","task_title","assigned_user_email"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"send_email"},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold"]}},"required":["type","email_type"],"additionalProperties":false}]},"condition":{"type":"object","additionalProperties":{}},"is_active":{"type":"boolean"},"position":{"type":"integer","minimum":0}},"required":["pipeline_stage_id","trigger","action"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_delete","description":"Delete a stage automation rule. Plain delete (no approval preview→bind): rules are inert config, so deleting unfired config moves no candidates.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"rule_id":{"type":"string","minLength":1}},"required":["rule_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_list","description":"List the organization's stage automation rules. Rules are inert config — authoring fires no side effect; the executor child runs rules later.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_preview","description":"Dry-run preview: resolve the active rules + their resolved action params for a sample application entering/leaving a stage. INERT — mints no scheduling link, creates no task, sends no email; executes nothing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"trigger":{"type":"string","enum":["stage_enter","stage_exit"]},"pipeline_stage_id":{"type":"string","minLength":1}},"required":["application_id","trigger","pipeline_stage_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_read","description":"Read one stage automation rule by public id (its trigger, typed action, target stage, and is_active state).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"rule_id":{"type":"string","minLength":1}},"required":["rule_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_rules_update","description":"Edit a stage automation rule's trigger, typed action, condition, position, or is_active state.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"rule_id":{"type":"string","minLength":1},"trigger":{"type":"string","enum":["stage_enter","stage_exit"]},"action":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"send_scheduling_link"},"interview_session_id":{"type":"string","minLength":1},"interview_id":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"create_task"},"task_type":{"type":"string","minLength":1,"maxLength":200},"task_title":{"type":"string","minLength":1,"maxLength":500},"assigned_user_email":{"type":"string","minLength":1,"maxLength":320},"due_date":{"type":"string","minLength":1,"maxLength":64},"context":{"type":"object","additionalProperties":{}}},"required":["type","task_type","task_title","assigned_user_email"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"send_email"},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold"]}},"required":["type","email_type"],"additionalProperties":false}]},"condition":{"type":"object","additionalProperties":{}},"is_active":{"type":"boolean"},"position":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]}},"required":["rule_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_automation_runs_list","description":"List the organization's stage automation runs (what fired for which candidate, success/failure). Filterable by application-id and rule-id. Read-only; runs are system-written by the executor and include skipped (deferred) send_email rows so run state is fully observable.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"rule_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_configure_bind","description":"Bind an approved built-in-agent configure preview (same config plus approval metadata and a matching idempotency key). Writes only the built-in agent's declared settings keys and records one audit row.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1},"config":{"type":"object","additionalProperties":{}},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["built_in_agent_id","config","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_configure_preview","description":"Preview configuring a built-in agent (config is validated against the built-in agent's declared schema; enabled is a first-class key, so { enabled: false } is the off switch). Side-effect free; pass config via --body-json.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1},"config":{"type":"object","additionalProperties":{}}},"required":["built_in_agent_id","config"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_enable_bind","description":"Bind an approved built-in-agent enable preview with explicit approval metadata and a matching idempotency key. Writes the built-in agent's declared settings home and records one audit row.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["built_in_agent_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_enable_preview","description":"Preview enabling a built-in agent; returns the approval-required envelope stating exactly what starts happening (and what is never sent without you) plus binding fields. Side-effect free.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1}},"required":["built_in_agent_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_list","description":"List the built-in-agent catalog with each built-in agent's current status, explicit defaults or disabled state, and latest work summary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_read","description":"Read one built-in agent by catalog id (for example scorecard-chaser, nightly-screening, or interview-kit-prep): what it does, what it never does without you, current status, and latest work summary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1}},"required":["built_in_agent_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_built_in_agents_runs","description":"List the organization's built-in-agent run history as a flat work report. Nightly screening reports scheduled-work counts and held, released, or invalidated review outputs; interview-kit preparation reports the scheduled week and count-only results. It never includes candidate, draft, recipient, kit, or provider details. delivery_unknown is not delivered and is not retried. Filterable by built-in-agent id. Read-only and mode-scoped.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"built_in_agent_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_decision_brief_read","description":"Read the decision brief for an application.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_decision_brief_regenerate","description":"Regenerate a decision brief for an application with idempotency metadata.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1}},"required":["application_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_create","description":"Create a Department through the public Yardstick API.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":200}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_invitations_create","description":"Create a Department-scoped invitation without returning token material.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1},"email":{"type":"string","format":"email","maxLength":320},"name":{"type":"string","maxLength":200},"full_name":{"type":"string","maxLength":200},"role":{"type":"string","enum":["department_lead","recruiter"]},"expires_in_hours":{"type":"integer","minimum":1,"maximum":720}},"required":["department_id","email","role"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_invitations_list","description":"List redacted Department invitation views.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1}},"required":["department_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_list","description":"List Departments visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_members_add","description":"Add an existing person to a Department.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1}},"required":["department_id","person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_members_list","description":"List Department members for an authorized Department.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1}},"required":["department_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_members_remove","description":"Remove a Department member, optionally with a replacement lead.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1},"replacement_lead_person_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["department_id","person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_members_set_lead","description":"Set one Department member as lead.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1},"role":{"type":"string","const":"lead","default":"lead"}},"required":["department_id","person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_read","description":"Read one Department by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1}},"required":["department_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_departments_update","description":"Update one Department with schema-bound public API fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"department_id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":200}},"required":["department_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_automation_settings_read","description":"Read candidate email automation settings.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_automation_settings_update","description":"Update candidate email automation settings.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1}},"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_discard","description":"Discard a pending candidate email draft without provider mutation.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_history","description":"Read candidate email draft history and provenance.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_list","description":"List candidate email drafts with optional status and email-type filters.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"status":{"type":"string","minLength":1,"maxLength":200},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","scorecard_nudge","scorecard_escalation","decision_brief","prospect_outreach","candidate_follow_up"]}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_preview","description":"Read rendered preview content for a candidate email draft.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_read","description":"Read a redacted candidate email draft.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_send","description":"Send a pending candidate email draft with replay protection, or reclaim a never-delivered draft and send it.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"id":{"type":"string","minLength":1},"reclaim_not_delivered":{"type":"boolean"}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_drafts_update","description":"Save mutable candidate email draft fields or set/clear a validated sender override.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_sender_connections_list","description":"List redacted sender provider connection state.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_sender_defaults_list","description":"List candidate email sender defaults.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_sender_defaults_set","description":"Set the default sender policy for a candidate email type.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","scorecard_nudge","scorecard_escalation","decision_brief","prospect_outreach","candidate_follow_up"]},"default_sender_type":{"type":"string","enum":["org_shared","owner","job_hiring_manager"]},"org_shared_sender_identity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]}},"required":["email_type","default_sender_type"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_sender_settings_read","description":"Read redacted email sender settings with sanitized queue diagnostics.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_template_versions_list","description":"List immutable candidate email template versions.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_list","description":"List candidate email template policies without raw prompts.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_preview","description":"Preview a candidate email template for sample variables.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_preview_customization","description":"Preview AI sample customization for a candidate email template without publishing.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_publish","description":"Publish a validated candidate email template version.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_read","description":"Read candidate email template detail without raw prompts.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_rollback","description":"Rollback a candidate email template to an immutable version.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]},"version_id":{"type":"string","minLength":1}},"required":["email_type","version_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_email_templates_validate","description":"Validate candidate email template subject, HTML, and text bodies.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"email_type":{"type":"string","enum":["acknowledgment","advancement","interview_confirmation","rejection","offer_declined","offer","hired","withdrawn","on_hold","candidate_follow_up"]}},"required":["email_type"],"additionalProperties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_events_list","description":"List public Yardstick API events visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_final_recommendation_record","description":"Record direct final-recommendation evidence; this does not mutate application status.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"application_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"},"rating":{"type":"integer","minimum":0,"maximum":4},"notes":{"type":"string","maxLength":8000},"session_id":{"type":"string","minLength":1}},"required":["application_id","interviewer_user_id","rating"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_identity","description":"Return the current Yardstick API principal context.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_integrations_workspace_health_read","description":"Read sanitized Workspace integration health diagnostics.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_add_competencies","description":"Add competencies to a draft exactly as written — deterministic, no AI generation. Requires confirmed outcomes; the resulting stage must stay within 25 competencies. Optional source_stage {stage: competencies, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.add_competencies"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"name":{"type":"string","maxLength":300},"competency":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"details":{"type":"string","maxLength":5000},"definition":{"type":"string","maxLength":5000}},"additionalProperties":false},"minItems":1,"maxItems":25},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["items"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_add_questions","description":"Add questions to one draft round exactly as written — deterministic, no AI generation. Requires rounds; each round holds at most 50 questions. The first question edit on a round persists question_N ids for every question in that round. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.add_questions"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"round_id":{"type":"string","minLength":1,"maxLength":128},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"text":{"type":"string","minLength":1,"maxLength":5000},"guidance":{"type":"string","maxLength":10000},"followUpQuestions":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20},"tags":{"type":"array","items":{"type":"string","maxLength":128},"maxItems":20}},"required":["text"],"additionalProperties":false},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["round_id","questions"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_add_rounds","description":"Add interview rounds to a draft exactly as written — deterministic, no AI generation. Requires skills; the resulting sequence must stay within 20 rounds. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.add_rounds"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"title":{"type":"string","maxLength":300},"name":{"type":"string","maxLength":300},"round":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"purpose":{"type":"string","maxLength":5000},"duration":{"type":"integer","minimum":0,"maximum":480},"primaryFocus":{"type":"string","maxLength":500},"questionTypes":{"type":"array","items":{"type":"string","maxLength":300},"maxItems":50},"interviewerGuidance":{"type":"string","maxLength":5000},"recommendedQuestionCount":{"type":"integer","minimum":0,"maximum":100}},"additionalProperties":false},"minItems":1,"maxItems":20},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"interview_sequence"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["items"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_add_skills","description":"Add job skills to a draft exactly as written — deterministic, no AI generation. Requires competencies; the resulting stage must stay within 50 skills. Optional source_stage {stage: skills, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.add_skills"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"name":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"skill":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"details":{"type":"string","maxLength":5000},"requirement":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":128}},"additionalProperties":false},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"skills"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["items"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_clear_competencies","description":"Clear every competency from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Prunes the behavioral anchors of every cleared competency in the same write and reports the pruned ids. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: competencies, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.clear_competencies"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_clear_interview_sequence","description":"Clear every interview round from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Prunes the questions and directions of every cleared round in the same write and reports the pruned round ids. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.clear_interview_sequence"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"interview_sequence"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_clear_job_skills","description":"Clear every job skill from a draft, leaving the stage deliberately empty — deterministic, no AI generation. The item delete refuses to remove the last skill, so this is the only way to record that the section was addressed and left empty. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: skills, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.clear_job_skills"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"skills"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_clear_outcomes","description":"Clear every outcome from a draft, leaving the stage deliberately empty — deterministic, no AI generation. Outcomes have no item-level delete, and confirm_outcomes requires at least one outcome, so this is the only way to record that the section was addressed and left empty. The emptied draft cannot be published as a new plan; bind the emptying onto an already-live plan with modify_active. Optional source_stage {stage: outcomes, version} returns 409 when stale.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.clear_outcomes"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"outcomes"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_confirm_outcomes","description":"Confirm draft interview-plan outcomes before generating later stages.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.confirm_outcomes"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"accepted_outcomes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"text":{"type":"string","minLength":1,"maxLength":500},"title":{"type":"string","minLength":1,"maxLength":500},"description":{"type":"string","maxLength":5000},"priority":{"type":"string","maxLength":128},"tag":{"type":"string","maxLength":128}},"additionalProperties":false},"minItems":1,"maxItems":25},"source_stage":{"type":"object","properties":{"stage":{"type":"string","enum":["role_context","outcomes","competencies","skills"]},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false},"revision_notes":{"type":"string","maxLength":10000}},"required":["accepted_outcomes"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_delete_anchors","description":"Delete behavioral-anchor entries for draft items by item id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.delete_anchors"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"item_ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":100},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["item_ids"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_delete_competencies","description":"Delete draft competencies by id. Prunes each deleted competency's behavioral anchors in the same write and reports the pruned ids; the stage must keep at least one competency. Optional source_stage {stage: competencies, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.delete_competencies"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":25},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["ids"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_delete_questions","description":"Delete questions from one draft round by question id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.delete_questions"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"round_id":{"type":"string","minLength":1,"maxLength":128},"ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["round_id","ids"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_delete_rounds","description":"Delete draft interview rounds by id. Prunes each deleted round's questions and directions in the same write and reports the pruned ids; the sequence must keep at least one round. Optional source_stage {stage: interview_sequence, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.delete_rounds"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":20},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"interview_sequence"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["ids"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_delete_skills","description":"Delete draft job skills by id; the stage must keep at least one skill. Optional source_stage {stage: skills, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.delete_skills"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"skills"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["ids"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_anchors","description":"Generate scorecard behavioral anchors (levels 1-4) for each draft competency, or one competency when competency_id is supplied.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_anchors"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"competency_id":{"type":"string","maxLength":128},"instructions":{"type":"string","maxLength":10000},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_competencies","description":"Generate draft interview-plan competencies from confirmed outcomes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_competencies"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"outcomes"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false},"outcome_ids":{"type":"array","items":{"type":"string","maxLength":128},"maxItems":50},"instructions":{"type":"string","maxLength":10000}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_outcomes","description":"Generate draft interview-plan outcomes from explicit role context, or pass accepted_outcomes to store caller-written outcomes verbatim with no AI generation (the deterministic draft bootstrap).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_outcomes"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type"],"additionalProperties":false},"input":{"type":"object","properties":{"role_context":{"type":"object","properties":{"role_title":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"organization_context":{"type":"string","maxLength":10000},"additional_context":{"type":"string","maxLength":20000}},"additionalProperties":false},"instructions":{"type":"string","maxLength":10000},"accepted_outcomes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"text":{"type":"string","minLength":1,"maxLength":500},"title":{"type":"string","minLength":1,"maxLength":500},"description":{"type":"string","maxLength":5000},"priority":{"type":"string","maxLength":128},"tag":{"type":"string","maxLength":128}},"additionalProperties":false},"minItems":1,"maxItems":25},"source_job_id":{"type":"string"}},"required":["role_context"],"additionalProperties":false}},"required":["action","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_questions_directions","description":"Generate interview questions and interviewer/candidate directions for each draft round, or one round when round_id is supplied.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_questions_directions"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"round_id":{"type":"string","maxLength":128},"instructions":{"type":"string","maxLength":10000},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"interview_sequence"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_rounds","description":"Generate draft interview-plan rounds from confirmed skills.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_rounds"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"skills"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false},"instructions":{"type":"string","maxLength":10000},"accepted_rounds":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"title":{"type":"string","maxLength":300},"name":{"type":"string","maxLength":300},"round":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"purpose":{"type":"string","maxLength":5000},"duration":{"type":"integer","minimum":0,"maximum":480},"primaryFocus":{"type":"string","maxLength":500},"questionTypes":{"type":"array","items":{"type":"string","maxLength":300},"maxItems":50},"interviewerGuidance":{"type":"string","maxLength":5000},"recommendedQuestionCount":{"type":"integer","minimum":0,"maximum":100}},"additionalProperties":false},"minItems":1,"maxItems":20}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_generate_skills","description":"Generate draft interview-plan skills from confirmed competencies.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.generate_skills"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false},"instructions":{"type":"string","maxLength":10000},"accepted_skills":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"name":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"skill":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"details":{"type":"string","maxLength":5000},"requirement":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":128}},"additionalProperties":false},"minItems":1,"maxItems":50}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_list","description":"List interview-plan drafts, newest first. Optional job_id narrows the list to one job and takes a job_ public display id. Use this to find an ipd_ draft id again after an interrupted builder session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_read","description":"Read one interview-plan draft in full: every stage checkpoint (outcomes, competencies, job skills, interview sequence, questions and directions), stage_versions for source_stage preconditions, status, and source metadata. Question ids are always present (question_N fallback), so edits can target them directly.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"draft_id":{"type":"string","minLength":1}},"required":["draft_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_anchors","description":"Upsert behavioral anchors for draft items, keyed by item id with levels 1-4 — deterministic, no AI generation. Requires competencies; anchors keyed to unknown item ids are rejected by id. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_anchors"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"anchors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":4},"description":{"type":"string","minLength":1,"maxLength":5000}},"required":["level","description"],"additionalProperties":false},"minItems":1,"maxItems":4},"propertyNames":{"minLength":1,"maxLength":128}},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["anchors"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_competencies","description":"Replace draft competencies by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. Updating in place keeps the item id. Optional source_stage {stage: competencies, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_competencies"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"name":{"type":"string","maxLength":300},"competency":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"details":{"type":"string","maxLength":5000},"definition":{"type":"string","maxLength":5000}},"additionalProperties":false},"maxItems":25},"order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":25},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"competencies"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_questions","description":"Replace one draft round's questions by id and/or reorder them with order (a complete permutation of that round's resulting question ids) — deterministic, no AI generation. Read the draft first: stored questions expose stable question_N ids. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_questions"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"round_id":{"type":"string","minLength":1,"maxLength":128},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"text":{"type":"string","minLength":1,"maxLength":5000},"guidance":{"type":"string","maxLength":10000},"followUpQuestions":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20},"tags":{"type":"array","items":{"type":"string","maxLength":128},"maxItems":20}},"required":["text"],"additionalProperties":false},"maxItems":50},"order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["round_id"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_round_directions","description":"Set one draft round's interviewer and/or candidate directions exactly as written — deterministic, no AI generation. Provide at least one of the two direction fields. Optional source_stage {stage: questions_and_directions, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_round_directions"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"round_id":{"type":"string","minLength":1,"maxLength":128},"interviewer_directions":{"type":"string","maxLength":20000},"candidate_directions":{"type":"string","maxLength":20000},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"questions_and_directions"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"required":["round_id"],"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_rounds","description":"Replace draft interview rounds by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. A round updated in place keeps its id, so its questions and directions are preserved (not pruned). Optional source_stage {stage: interview_sequence, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_rounds"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"title":{"type":"string","maxLength":300},"name":{"type":"string","maxLength":300},"round":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"purpose":{"type":"string","maxLength":5000},"duration":{"type":"integer","minimum":0,"maximum":480},"primaryFocus":{"type":"string","maxLength":500},"questionTypes":{"type":"array","items":{"type":"string","maxLength":300},"maxItems":50},"interviewerGuidance":{"type":"string","maxLength":5000},"recommendedQuestionCount":{"type":"integer","minimum":0,"maximum":100}},"additionalProperties":false},"maxItems":20},"order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":20},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"interview_sequence"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_update_skills","description":"Replace draft job skills by id and/or reorder them with order (a complete permutation of resulting ids) — deterministic, no AI generation. Optional source_stage {stage: skills, version} returns 409 when stale.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.update_skills"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":128},"name":{"type":"string","maxLength":300},"title":{"type":"string","maxLength":300},"skill":{"type":"string","maxLength":300},"description":{"type":"string","maxLength":5000},"details":{"type":"string","maxLength":5000},"requirement":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":128}},"additionalProperties":false},"maxItems":50},"order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":50},"source_stage":{"type":"object","properties":{"stage":{"type":"string","const":"skills"},"version":{"type":"integer","minimum":0}},"required":["stage"],"additionalProperties":false}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plan_drafts_validate","description":"Validate an interview-plan draft without publishing it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.validate_draft"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan_draft"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type","id"],"additionalProperties":false},"input":{"type":"object","properties":{"include_warnings":{"type":"boolean"}},"additionalProperties":false}},"required":["action","resource","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_archive","description":"Archive one interview plan. Already-archived plans succeed without a write. A plan still attached to a job is refused — detach it from the job first.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_plan_id":{"type":"string","minLength":1}},"required":["interview_plan_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_list","description":"List published interview plans, newest first. Optional job_id narrows the list to one job and takes a job_ public display id. Use this to find an interview plan id when you only hold a job id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_modify_active_bind","description":"Bind an already-previewed interview-plan active modification with explicit approval metadata and matching idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.modify_active"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type"],"additionalProperties":false},"input":{"type":"object","properties":{"draft_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"active_plan_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"expected_draft_version":{"type":"integer","minimum":0},"expected_plan_version":{"type":"integer","minimum":0},"approval_id":{"type":"string","maxLength":128}},"required":["draft_id","active_plan_id"],"additionalProperties":false},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["action","input","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_modify_active_preview","description":"Preview interview-plan active-modification approval requirements only; bind fields are rejected.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.modify_active"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan"},"id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"}},"required":["type"],"additionalProperties":false},"input":{"type":"object","properties":{"draft_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"active_plan_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"expected_draft_version":{"type":"integer","minimum":0},"expected_plan_version":{"type":"integer","minimum":0},"approval_id":{"type":"string","maxLength":128}},"required":["draft_id","active_plan_id"],"additionalProperties":false}},"required":["action","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_publish_bind","description":"Bind an already-previewed interview-plan publish with explicit approval metadata and matching idempotency key.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.publish"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan"},"id":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},"input":{"type":"object","properties":{"draft_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"expected_draft_version":{"type":"integer","minimum":0},"approval_id":{"type":"string","maxLength":128}},"required":["draft_id"],"additionalProperties":false},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["action","input","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_publish_preview","description":"Preview interview-plan publish approval requirements only; bind fields are rejected.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"action":{"type":"string","const":"interview_plan.publish"},"resource":{"type":"object","properties":{"type":{"type":"string","const":"interview_plan"},"id":{"type":"string","minLength":1}},"required":["type"],"additionalProperties":false},"input":{"type":"object","properties":{"draft_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$"},"expected_draft_version":{"type":"integer","minimum":0},"approval_id":{"type":"string","maxLength":128}},"required":["draft_id"],"additionalProperties":false}},"required":["action","input"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_read","description":"Read one interview plan by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"interview_plan_id":{"type":"string","minLength":1}},"required":["interview_plan_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_plans_unarchive","description":"Restore one archived interview plan. Plans that are already live succeed without a write. If the plan's job has since acquired another live plan, the restore is refused and names that plan.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_plan_id":{"type":"string","minLength":1}},"required":["interview_plan_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_available_interviewers_list","description":"List organization members who can be assigned as interviewers, newest membership first. Use this to pick a usr_ public display id before assigning an interviewer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_cancel","description":"Cancel a scheduled interview session, releasing the provider booking and invalidating its scheduling links.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1,"maxLength":500},"skip_provider":{"type":"boolean"}},"required":["interview_session_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_complete","description":"Complete an interview session for an explicit interviewer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"}},"required":["interview_session_id","interviewer_user_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_interviewers_assign","description":"Assign an interviewer to an interview session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"}},"required":["interview_session_id","interviewer_user_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_interviewers_list","description":"List interviewers assigned to an interview session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1}},"required":["interview_session_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_interviewers_unassign","description":"Unassign an interviewer from an interview session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"}},"required":["interview_session_id","interviewer_user_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_read","description":"Read one interview session by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1}},"required":["interview_session_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_readiness","description":"Read interview-session scheduling readiness.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1}},"required":["interview_session_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_scheduling_link_generate","description":"Generate a scheduling link for an interview session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1}},"required":["interview_session_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_scorecard_submit","description":"Submit an interview-session scorecard with explicit ratings.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"},"ratings":{"type":"array","items":{"type":"object","properties":{"item_type":{"type":"string","minLength":1},"item_id":{"type":"string","minLength":1},"item_title":{"type":"string","minLength":1},"rating":{"type":"integer","minimum":0,"maximum":4},"notes":{"type":"string"}},"required":["item_type","item_id","item_title","rating"],"additionalProperties":false},"minItems":1},"overall_rating":{"type":"integer","minimum":1,"maximum":5},"overall_notes":{"type":"string","maxLength":8000}},"required":["interview_session_id","interviewer_user_id","ratings"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_interview_sessions_start","description":"Start an interview session for an explicit interviewer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"interview_session_id":{"type":"string","minLength":1},"interviewer_user_id":{"type":"string"}},"required":["interview_session_id","interviewer_user_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_archive_bind","description":"Bind an already-previewed job-posting archive with explicit approval metadata and matching idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["job_posting_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_archive_preview","description":"Preview job-posting archive approval requirements only; bind fields are rejected.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1}},"required":["job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_create","description":"Create a draft job posting through the public Yardstick API.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1,"maxLength":200},"interview_plan_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$","description":"Published interview plan id (ipd_...) returned by `interview-plans publish` — not an interview-plan draft id. The plan must already be attached to a Job via `jobs attach-artifact`."},"slug":{"type":"string","minLength":1,"maxLength":200},"department":{"type":"string","maxLength":200},"location":{"type":"string","maxLength":200},"location_type":{"type":"string","enum":["remote","hybrid","onsite"]},"location_country":{"type":"string","description":"Assigned ISO 3166-1 alpha-2 country code."},"salary_min":{"type":"integer","minimum":0},"salary_max":{"type":"integer","minimum":0},"salary_currency":{"type":"string","minLength":3,"maxLength":8},"salary_display":{"type":"boolean"},"description":{"type":"string","maxLength":20000},"requirements":{"type":"string","maxLength":20000},"custom_questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"question":{"type":"string","minLength":1,"maxLength":2000},"type":{"type":"string","enum":["text","textarea","single-select","yes-no"]},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"maxItems":50}},"required":["id","question","type","required"],"additionalProperties":false},"maxItems":50}},"required":["title","interview_plan_id","slug"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_list","description":"List job postings visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_publish_bind","description":"Bind an already-previewed job-posting publish with explicit approval metadata and matching idempotency key.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["job_posting_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_publish_preview","description":"Preview job-posting publish approval requirements only; bind fields are rejected.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1}},"required":["job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_read","description":"Read one job posting by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1}},"required":["job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_update","description":"Update a job posting with schema-bound public API fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"title":{"type":"string","minLength":1,"maxLength":200},"interview_plan_id":{"type":"string","pattern":"^ipd_[0-9A-Za-z]{16,64}$","description":"Published interview plan id (ipd_...) returned by `interview-plans publish` — not an interview-plan draft id. The plan must already be attached to a Job via `jobs attach-artifact`."},"slug":{"type":"string","minLength":1,"maxLength":200},"department":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"location_type":{"type":"string","enum":["remote","hybrid","onsite"]},"location_country":{"anyOf":[{"type":"string","description":"Assigned ISO 3166-1 alpha-2 country code."},{"type":"null"}],"description":"Assigned ISO 3166-1 alpha-2 country code."},"salary_min":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"salary_max":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"salary_currency":{"type":"string","minLength":3,"maxLength":8},"salary_display":{"type":"boolean"},"description":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"requirements":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"custom_questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"question":{"type":"string","minLength":1,"maxLength":2000},"type":{"type":"string","enum":["text","textarea","single-select","yes-no"]},"required":{"type":"boolean"},"options":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"maxItems":50}},"required":["id","question","type","required"],"additionalProperties":false},"maxItems":50}},"required":["job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_job_postings_validate","description":"Validate a draft job posting without mutating it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1}},"required":["job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_archive","description":"Archive one Job row only; linked job postings, applications, and interview plans are not mutated.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_attach_artifact","description":"Link an existing interview plan, job posting, or application to a Job. Idempotent when already linked to the same Job; conflicts when linked elsewhere. Requires jobs:write and the artifact's own write scope.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1},"artifact_type":{"type":"string","enum":["interview_plan","job_posting","application"]},"artifact_id":{"type":"string","minLength":1}},"required":["job_id","artifact_type","artifact_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_close","description":"Close one Job row only; linked job postings, applications, and interview plans are not mutated.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_create","description":"Create an internal Job container without mutating job postings, applications, or interview plans.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1,"maxLength":200},"department":{"type":"string","maxLength":200},"department_id":{"anyOf":[{"type":"string","pattern":"^dpt_[a-z0-9]+$"},{"type":"null"}]},"location":{"type":"string","maxLength":200},"location_type":{"type":"string","enum":["remote","hybrid","onsite"]},"description":{"type":"string","maxLength":20000},"status":{"type":"string","enum":["draft","open","paused"]}},"required":["title"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_detach_artifact","description":"Clear the link between an artifact and a Job. Idempotent when already unlinked. Requires jobs:write and the artifact's own write scope.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1},"artifact_type":{"type":"string","enum":["interview_plan","job_posting","application"]},"artifact_id":{"type":"string","minLength":1}},"required":["job_id","artifact_type","artifact_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_list","description":"List internal Job containers visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"include_archived":{"type":"boolean"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_prospect_matches","description":"List deterministic Talent CRM prospect matches for one Job. Read-only; includes evidence, caveats, and blocked lifecycle states without outreach, conversion, import, or AI ranking.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_read","description":"Read one internal Job container by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_jobs_update","description":"Update one internal Job container with schema-bound public API fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1},"title":{"type":"string","minLength":1,"maxLength":200},"department":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"department_id":{"anyOf":[{"type":"string","pattern":"^dpt_[a-z0-9]+$"},{"type":"null"}]},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"location_type":{"anyOf":[{"type":"string","enum":["remote","hybrid","onsite"]},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"status":{"type":"string","enum":["draft","open","paused"]}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_opportunities_deep_link","description":"Create a public deep link for an opportunity workflow view.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"opportunity_id":{"type":"string","minLength":1}},"required":["opportunity_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_opportunities_list","description":"List read-only opportunity workflow views visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_opportunities_next_action","description":"Read the next action state for an opportunity without mutating it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"opportunity_id":{"type":"string","minLength":1}},"required":["opportunity_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_opportunities_read","description":"Read one read-only opportunity workflow view by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"opportunity_id":{"type":"string","minLength":1}},"required":["opportunity_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_people_create","description":"Create a person through the public Yardstick API.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"name":{"type":"string","maxLength":500},"email":{"type":"string","format":"email","maxLength":320},"phone":{"type":"string","maxLength":50},"linkedin_url":{"type":"string","format":"uri","maxLength":2048},"resume_url":{"type":"string","format":"uri","maxLength":2048},"notes":{"type":"string","maxLength":10000}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_people_list","description":"List people visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_people_read","description":"Read one person by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1}},"required":["person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_people_update","description":"Update one person with schema-bound public API fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1},"name":{"type":"string","maxLength":500},"email":{"type":"string","format":"email","maxLength":320},"phone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}]},"linkedin_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"resume_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_assign_to_job","description":"Assign a pipeline to a job (jobs.pipeline_template_id) or clear it with pipeline_id: null. Pipeline validated by org; job resolved by org+mode.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_id":{"type":"string","minLength":1},"pipeline_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["job_id","pipeline_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_create","description":"Create a custom pipeline template with optional inline stages. Does not affect the org default pipeline or candidate tracking.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]{0,62}$"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"stages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]{0,62}$"},"stage_kind":{"type":"string","enum":["normal","offer","hired","rejected","terminal"]},"approval_scope":{"anyOf":[{"type":"string","enum":["applications:offer","applications:hire","applications:reject","applications:withdraw"]},{"type":"null"}]},"is_terminal":{"type":"boolean"}},"required":["name","slug","stage_kind"],"additionalProperties":false},"maxItems":100}},"required":["name","slug"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_list","description":"List the organization's pipeline templates with their ordered stages. Canonical default stages are flagged canonical_locked.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_read","description":"Read one pipeline template and its ordered stages by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1}},"required":["pipeline_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_reorder_stages","description":"Reorder all stages of a pipeline by supplying the complete stage id order. Constraint-safe; allowed for canonical stages.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"stage_ids":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":200}},"required":["pipeline_id","stage_ids"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_stages_create","description":"Append (or insert at a position) a stage to a pipeline with a kind and optional approval scope.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]{0,62}$"},"stage_kind":{"type":"string","enum":["normal","offer","hired","rejected","terminal"]},"approval_scope":{"anyOf":[{"type":"string","enum":["applications:offer","applications:hire","applications:reject","applications:withdraw"]},{"type":"null"}]},"is_terminal":{"type":"boolean"},"position":{"type":"integer","minimum":1}},"required":["pipeline_id","name","slug","stage_kind"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_stages_delete_bind","description":"Bind an approved pipeline-stage delete with explicit approval metadata and a matching idempotency key. Refuses while candidates remain.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"stage_id":{"type":"string","minLength":1},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["pipeline_id","stage_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_stages_delete_preview","description":"Preview deleting a pipeline stage; returns the candidate-count impact and binding fields. Canonical default stages are rejected.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"stage_id":{"type":"string","minLength":1}},"required":["pipeline_id","stage_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_stages_update","description":"Edit a pipeline stage. Canonical default stages allow display-name change only; slug/stage_kind/approval_scope/is_terminal are locked.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"stage_id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9_]{0,62}$"},"stage_kind":{"type":"string","enum":["normal","offer","hired","rejected","terminal"]},"approval_scope":{"anyOf":[{"type":"string","enum":["applications:offer","applications:hire","applications:reject","applications:withdraw"]},{"type":"null"}]},"is_terminal":{"type":"boolean"},"is_active":{"type":"boolean"}},"required":["pipeline_id","stage_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_pipelines_update","description":"Rename, re-describe, or toggle active for one pipeline template.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pipeline_id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"is_active":{"type":"boolean"}},"required":["pipeline_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospect_activities_create","description":"Create a bounded internal prospect activity note or touchpoint.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"activity_type":{"type":"string","enum":["note","call","meeting","source","status_change"]},"body":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}]},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"metadata":{"type":"object","additionalProperties":{}},"occurred_at":{"type":"string"}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospect_activities_list","description":"List bounded activity records for one Talent CRM prospect.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospect_imports_apply","description":"Apply an approved Prospect CRM import preview with preview_hash and explicit row decisions for advisory matches.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"import_id":{"type":"string","minLength":1},"preview_hash":{"type":"string","minLength":1},"decisions":{"type":"array","items":{"type":"object","properties":{"row_index":{"type":"integer","minimum":0,"maximum":499},"input_hash":{"type":"string","minLength":1},"decision":{"type":"string","enum":["create_new","link_existing","skip"]},"person_id":{"type":"string","minLength":1}},"required":["row_index","input_hash","decision"],"additionalProperties":false},"maxItems":500}},"required":["import_id","preview_hash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospect_imports_dry_run","description":"Preview a structured-row Prospect CRM import. JSON rows only; no raw CSV/resume file reads, outreach, application conversion, source ranking, or silent person merge.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"external_id":{"type":"string","maxLength":200},"name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"email":{"anyOf":[{"type":"string","format":"email","maxLength":320},{"type":"null"}]},"phone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}]},"linkedin_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"profile_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"resume_url":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"current_title":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"current_company":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"pool_ids":{"type":"array","items":{"type":"string","minLength":1},"maxItems":25},"pool_names":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":25},"owner_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"last_contacted_at":{"type":["string","null"]}},"additionalProperties":false},"minItems":1,"maxItems":500},"metadata":{"type":"object","additionalProperties":{}}},"required":["rows"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospect_imports_read","description":"Read one Prospect CRM import dry-run/apply batch by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"import_id":{"type":"string","minLength":1}},"required":["import_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_convert_bind","description":"Bind an approved prospect conversion preview with explicit approval metadata and matching idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"binding":{"type":"object","properties":{"preview_hash":{"type":"string","minLength":1},"approved_action_key":{"type":"string","minLength":1},"approved_input_hash":{"type":"string","minLength":1},"approved_idempotency_key":{"type":"string","minLength":1},"resource_version_precondition":{"type":"string","minLength":1}},"required":["preview_hash","approved_action_key","approved_input_hash","approved_idempotency_key","resource_version_precondition"],"additionalProperties":false}},"required":["prospect_id","job_posting_id","binding"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_convert_preview","description":"Preview conversion of one Prospect into one canonical Application; bind fields are rejected and no outreach/import/merge occurs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["prospect_id","job_posting_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_create","description":"Create Talent CRM prospect relationship state for an existing person.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"person_id":{"type":"string","minLength":1},"owner_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"last_contacted_at":{"type":["string","null"]},"last_reviewed_at":{"type":["string","null"]}},"required":["person_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_list","description":"List active Talent CRM prospects visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"owner_user_id":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_outreach_create_draft","description":"Create a pending review prospect outreach email draft. Sending stays on email draft send and requires communications:send.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"job_posting_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":240},{"type":"null"}]},"body":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000},{"type":"null"}]},"personalization_instruction":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"outreach_intent_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_outreach_preview","description":"Preview a one-off prospect outreach draft without creating a draft, sending email, enrolling a sequence, or creating an application.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"job_posting_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":240},{"type":"null"}]},"body":{"anyOf":[{"type":"string","minLength":1,"maxLength":8000},{"type":"null"}]},"personalization_instruction":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"outreach_intent_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_read","description":"Read one Talent CRM prospect by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_prospects_update","description":"Update bounded Talent CRM prospect relationship fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1},"owner_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"relationship_status":{"type":"string","enum":["active","archived"]},"source_label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"last_contacted_at":{"type":["string","null"]},"last_reviewed_at":{"type":["string","null"]},"next_follow_up_at":{"type":["string","null"]},"next_follow_up_note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"archived_reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_reporting_search","description":"Search redacted recruiting reporting summaries through the public reporting API.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"query_family":{"type":"string","enum":["role_health_attention","funnel_snapshot_by_role","stale_opportunity_queue","missing_feedback_queue","candidate_pool_strength","source_signals","prospect_ops_summary"]},"window_start":{"type":"string","minLength":1,"maxLength":128},"window_end":{"type":"string","minLength":1,"maxLength":128},"role_label":{"type":"string","minLength":1,"maxLength":500},"job_id":{"type":"string","minLength":1,"maxLength":128},"job_posting_id":{"type":"string","minLength":1,"maxLength":128},"statuses":{"type":"string","minLength":1,"maxLength":1000},"stages":{"type":"string","minLength":1,"maxLength":1000},"source_label":{"type":"string","minLength":1,"maxLength":500},"score_band":{"type":"string","minLength":1,"maxLength":100},"stale_days":{"type":"integer","minimum":0},"minimum_sample_size":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"required":["query_family","window_start","window_end"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_source_links_create","description":"Create an opaque source/referral link for a published job posting. Raw source_token is returned only in the create response; reads return token_hint, and active token-bearing links also return public_url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"source_label":{"type":"string","maxLength":200},"referrer_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"expires_at":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]}},"required":["job_posting_id","source_label"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_source_links_disable","description":"Disable a source/referral link so its public URL no longer stamps attribution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"source_link_id":{"type":"string","minLength":1},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["source_link_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_source_links_list","description":"List source/referral attribution links without raw token material or source quality ranking.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"job_posting_id":{"type":"string","minLength":1},"include_disabled":{"type":"boolean"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_source_links_read","description":"Read one source/referral attribution link by public id without raw token material.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"source_link_id":{"type":"string","minLength":1}},"required":["source_link_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pool_members_add","description":"Add an existing prospect to a Talent CRM pool.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pool_id":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1}},"required":["pool_id","prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pool_members_list","description":"List active prospect memberships for one Talent CRM pool.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"pool_id":{"type":"string","minLength":1}},"required":["pool_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pool_members_remove","description":"Remove an active prospect membership from a Talent CRM pool.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"pool_id":{"type":"string","minLength":1},"prospect_id":{"type":"string","minLength":1}},"required":["pool_id","prospect_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pools_create","description":"Create a Talent CRM pool.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":160},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pools_list","description":"List Talent CRM pools visible to the current principal. Archived pools are excluded unless include_archived is true.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1},"include_archived":{"type":"boolean"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pools_read","description":"Read one Talent CRM pool by public id.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"pool_id":{"type":"string","minLength":1}},"required":["pool_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_talent_pools_update","description":"Update bounded Talent CRM pool fields.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"idempotency_key":{"type":"string","minLength":1},"pool_id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":160},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"archived":{"type":"boolean"},"archived_reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["pool_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_tasks_deep_link","description":"Create a public task deep link for a caller-supplied task id.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"task_id":{"type":"string","minLength":1}},"required":["task_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"yardstick_tasks_list","description":"List Yardstick tasks visible to the current principal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","minLength":1},"limit":{"type":"integer","minimum":1,"maximum":100},"starting_after":{"type":"string","minLength":1}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-09-19T20:07:41.885Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:07:41.811Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1468ms"]},"poisoning":{"score":15,"max":15,"notes":["185 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 76 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 7 days ago"]},"identity":{"score":8,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://api.yardstick.team/mcp","reachable":true,"authRequired":false,"latencyMs":1468,"serverInfo":{"name":"team.yardstick/yardstick","version":"0.6.7"}}],"packages":[],"repo":{"found":true,"owner":"yardstickinc","repo":"yardstick-mcp","archived":false,"pushedAt":"2026-09-12T15:02:10Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/117398131?v=4","ownerCreatedAt":"2022-11-03T20:31:21Z","license":"MIT"},"icon":{"url":"https://portal.yardstick.team/email/yardstick/yardstick_mark@2x.png","source":"registry","width":580,"height":580},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-12T15:02:10.000Z","score":23}}}},"grade_history":[],"reviews":[]}