{"openapi":"3.0.3","info":{"title":"JobEng API","version":"1.0","description":"Read and manage your company's jobs and applications in JobEng. Create keys in the JobEng app: Business Settings → API & webhooks. Guide: https://jobeng.ai/developers","contact":{"email":"info@sesysy.com"},"termsOfService":"https://jobeng.ai/terms"},"servers":[{"url":"https://api.jobeng.ai/api/public/v1"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"jbk_live_…"}},"responses":{"Unauthorized":{"description":"Missing, wrong, revoked or expired key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"The key lacks a permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Not found in your company","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Too many requests — see Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"Job":{"type":"object","properties":{"id":{"type":"string"},"reference":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"open":{"type":"boolean"},"description":{"type":"string"},"department":{"type":"string"},"location":{"type":"string"},"employment_type":{"type":"string"},"experience_level":{"type":"string"},"salary":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"currency":{"type":"string"},"period":{"type":"string"}}},"required_skills":{"type":"array","items":{"type":"string"}},"closing_date":{"type":"string","format":"date"},"applications_count":{"type":"integer"},"public_url":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"JobInput":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"short_description":{"type":"string"},"department":{"type":"string"},"location":{"type":"string"},"employment_type":{"type":"string","example":"full_time"},"experience_level":{"type":"string"},"salary_min":{"type":"number"},"salary_max":{"type":"number"},"salary_currency":{"type":"string","example":"GBP"},"salary_period":{"type":"string","example":"year"},"required_skills":{"type":"array","items":{"type":"string"}},"preferred_skills":{"type":"array","items":{"type":"string"}},"qualifications":{"type":"array","items":{"type":"string"}},"responsibilities":{"type":"array","items":{"type":"string"}},"closing_date":{"type":"string","format":"date"},"start_date":{"type":"string","format":"date"},"positions":{"type":"integer"},"status":{"type":"string","enum":["active","draft","paused"]}}},"Application":{"type":"object","properties":{"id":{"type":"string"},"job_id":{"type":"string"},"job_title":{"type":"string"},"candidate":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"location":{"type":"string"},"linkedin_url":{"type":"string"}}},"cover_letter":{"type":"string"},"resume_url":{"type":"string"},"stage":{"type":"string","enum":["new","applied","applicants","reviewed","shortlisted","technical","interview","interviewed","offered","offer_sent","hired","rejected","withdrawn","on_hold"]},"source":{"type":"string"},"applied_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}}},"paths":{"/me":{"get":{"summary":"The company and key","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/jobs":{"get":{"summary":"List jobs","parameters":[{"name":"status","in":"query","description":"open, closed, draft or all (default)","required":false,"schema":{"type":"string","enum":["open","closed","draft","all"]}},{"name":"limit","in":"query","description":"1–100, default 25","required":false,"schema":{"type":"integer"}},{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"updated_since","in":"query","description":"ISO date or time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"has_more":{"type":"boolean"},"next_cursor":{"type":"string","nullable":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"post":{"summary":"Create a job","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobInput"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Job"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"description":"Invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/jobs/{id}":{"get":{"summary":"Get a job","parameters":[{"name":"id","in":"path","description":"Job id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Job"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"summary":"Change a job","parameters":[{"name":"id","in":"path","description":"Job id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobInput"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Job"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"description":"Invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/jobs/{id}/close":{"post":{"summary":"Close a job","parameters":[{"name":"id","in":"path","description":"Job id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Job"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/applications":{"get":{"summary":"List applications","parameters":[{"name":"job_id","in":"query","description":"Only this job","required":false,"schema":{"type":"string"}},{"name":"stage","in":"query","description":"Only this stage","required":false,"schema":{"type":"string","enum":["new","applied","applicants","reviewed","shortlisted","technical","interview","interviewed","offered","offer_sent","hired","rejected","withdrawn","on_hold"]}},{"name":"limit","in":"query","description":"1–100, default 25","required":false,"schema":{"type":"integer"}},{"name":"cursor","in":"query","description":"next_cursor from the previous page","required":false,"schema":{"type":"string"}},{"name":"updated_since","in":"query","description":"ISO date or time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Application"}},"has_more":{"type":"boolean"},"next_cursor":{"type":"string","nullable":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"post":{"summary":"Add a candidate to one of your jobs","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["job_id","candidate"],"properties":{"job_id":{"type":"string"},"candidate":{"type":"object","required":["name","email"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"location":{"type":"string"},"linkedin_url":{"type":"string"},"current_title":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}}}},"cover_letter":{"type":"string"},"resume_url":{"type":"string","description":"https link to the CV"},"source":{"type":"string"},"consent":{"type":"boolean","description":"The candidate agreed to their data being sent to you"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Application"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Already applied in the last 30 days","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/applications/{id}":{"get":{"summary":"Get an application","parameters":[{"name":"id","in":"path","description":"Application id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Application"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"summary":"Move an application or add a note","parameters":[{"name":"id","in":"path","description":"Application id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","enum":["new","applied","applicants","reviewed","shortlisted","technical","interview","interviewed","offered","offer_sent","hired","rejected","withdrawn","on_hold"]},"note":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"starred":{"type":"boolean"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Application"}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"description":"Invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}