{"openapi":"3.1.0","info":{"title":"Exitinterview API","version":"0.1.0","description":"A fully local exit-interview toolkit: a hand-curated question bank, a structure/format guide, a theme-extraction methodology reference, and a real theme aggregator over caller-supplied exit-interview records.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://exitinterview.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/exitinterview/docs"},"termsOfService":"https://connectorbay.com/exitinterview/terms"},"servers":[{"url":"https://exitinterview.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/exitinterview/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/exit_interview_question_bank":{"post":{"operationId":"exit_interview_question_bank","summary":"A hand-curated exit-interview question bank across 5 categories: reason for leaving, manager/team","description":"A hand-curated exit-interview question bank across 5 categories: reason for leaving, manager/team\n    feedback, what would have made them stay, company-culture feedback, and whether they'd recommend the\n    company. Use for \"give me exit interview questions about company culture\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"reason-for-leaving | manager-team-feedback | what-would-have-made-them-stay | company-culture-feedback | recommend-company; omit for the full bank.","title":"Category"}},"title":"exit_interview_question_bankArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/exit_interview_structure_guide":{"post":{"operationId":"exit_interview_structure_guide","summary":"A structure/format guide for running exit interviews: in-person/video vs written-survey tradeoffs,","description":"A structure/format guide for running exit interviews: in-person/video vs written-survey tradeoffs,\n    who should conduct it (not the departing employee's direct manager), timing, and confidentiality\n    framing. Use for \"should the manager conduct the exit interview\", \"in-person or written exit survey\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"exit_interview_structure_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/exit_theme_extraction_methodology":{"post":{"operationId":"exit_theme_extraction_methodology","summary":"The methodology for aggregating exit-interview data across many departures to spot real patterns:","description":"The methodology for aggregating exit-interview data across many departures to spot real patterns:\n    minimum sample size, coding open text into categories, weighting/grouping by team and time window, and\n    acting on themes rather than any single anecdote. Use for \"how do we spot real patterns across exit\n    interviews instead of reacting to one complaint\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"exit_theme_extraction_methodologyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/exit_theme_aggregator":{"post":{"operationId":"exit_theme_aggregator","summary":"Aggregates exit-interview records across multiple departures: computes the real frequency","description":"Aggregates exit-interview records across multiple departures: computes the real frequency\n    distribution of primary reasons, percent who'd recommend the company, and average culture rating.\n    Explicitly flags the result as an insufficient sample if fewer than 4 departures are given. Use for\n    \"aggregate these exit interviews and tell me the top reason people are leaving\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"interviews":{"description":"List of records, each: {primary_reason_category, would_recommend?, culture_rating?}. primary_reason_category: compensation | management | growth | work-life-balance | role-fit | relocation-personal | other.","items":{"additionalProperties":true,"type":"object"},"minItems":1,"title":"Interviews","type":"array"}},"required":["interviews"],"title":"exit_theme_aggregatorArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}