{"openapi":"3.1.0","info":{"title":"HireHive (BYOK) API","version":"0.1.0","description":"HireHive (BYOK) lets an AI assistant read your own HireHive data through the HireHive API with a key you supply (HireHive API token (starts with key_)). Read-only: 8 tools (list_jobs, get_job, list_job_categories, list_tags, list_pipeline_stages, list_user_categories, list_email_templates, list_application_forms). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-hirehive.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-hirehive/docs"},"termsOfService":"https://connectorbay.com/byok-hirehive/terms"},"servers":[{"url":"https://byok-hirehive.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-hirehive/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_jobs":{"post":{"operationId":"list_jobs","summary":"List jobs with title, status, employment type, experience level, salary text, category and city. Candidate and applicant","description":"List jobs with title, status, employment type, experience level, salary text, category and city. Candidate and applicant data is not included. Use for \"Which jobs are published in HireHive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"statuses":{"anyOf":[{"enum":["drafted","published","closed","internal"],"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs in this status.","title":"Statuses"},"types":{"anyOf":[{"enum":["full_time","part_time","contract","temporary","other","internship","volunteer"],"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs of this employment type.","title":"Types"},"experiences":{"anyOf":[{"enum":["na","intern","entry_level","mid_level","senior"],"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs at this experience level.","title":"Experiences"},"title":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs whose title matches this text.","title":"Title"},"job_code":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs with this internal job code.","title":"Job Code"},"sort":{"anyOf":[{"enum":["title","published_date","created_date"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort by title, published_date or created_date.","title":"Sort"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_jobsArguments","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/get_job":{"post":{"operationId":"get_job","summary":"Get one job with title, status, type, experience, salary text, category, city and public apply link. Use for \"Show me th","description":"Get one job with title, status, type, experience, salary text, category, city and public apply link. Use for \"Show me the details of this HireHive job\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"job_id":{"description":"Job ID in the form job_abc123, from list_jobs.","maxLength":200,"title":"Job Id","type":"string"}},"required":["company_id","job_id"],"title":"get_jobArguments","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/list_job_categories":{"post":{"operationId":"list_job_categories","summary":"List job categories with their display order and the IDs of the jobs in each. Use for \"Which job categories does HireHiv","description":"List job categories with their display order and the IDs of the jobs in each. Use for \"Which job categories does HireHive have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_job_categoriesArguments","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/list_tags":{"post":{"operationId":"list_tags","summary":"List candidate and job tags with color, type and active or archived status. Use for \"What tags are defined in HireHive\".","description":"List candidate and job tags with color, type and active or archived status. Use for \"What tags are defined in HireHive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_tagsArguments","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/list_pipeline_stages":{"post":{"operationId":"list_pipeline_stages","summary":"List the hiring pipeline stages with their parent stage (New, Screening, Interviewing, Offered, Hired, Rejected) and ord","description":"List the hiring pipeline stages with their parent stage (New, Screening, Interviewing, Offered, Hired, Rejected) and order. Use for \"What stages are in my HireHive hiring pipeline\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_pipeline_stagesArguments","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/list_user_categories":{"post":{"operationId":"list_user_categories","summary":"List the user categories (team groupings) defined for your HireHive account. Use for \"Which user categories exist in Hir","description":"List the user categories (team groupings) defined for your HireHive account. Use for \"Which user categories exist in HireHive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_user_categoriesArguments","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/list_email_templates":{"post":{"operationId":"list_email_templates","summary":"List email templates with name, subject, pipeline stage and whether they are private or the auto-response default. Use f","description":"List email templates with name, subject, pipeline stage and whether they are private or the auto-response default. Use for \"Which email templates are set up in HireHive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_email_templatesArguments","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/list_application_forms":{"post":{"operationId":"list_application_forms","summary":"List application, follow-up and feedback forms with name, type and how many jobs use each. Use for \"What application for","description":"List application, follow-up and feedback forms with name, type and how many jobs use each. Use for \"What application forms does HireHive have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"company_id":{"description":"Your HireHive company ID, shown in the dashboard Developer tab.","maxLength":200,"title":"Company Id","type":"string"},"type":{"anyOf":[{"enum":["application_questions","follow_up_questions","feedback_form"],"type":"string"},{"type":"null"}],"default":null,"description":"Form type to list.","title":"Type"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Records per page (1 to 100, default 30).","title":"Page Size"}},"required":["company_id"],"title":"list_application_formsArguments","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}}}}