{"openapi":"3.0.3","info":{"title":"ResumeJSON — Resume & CV Parser API","version":"0.1.0","description":"Turn a resume or CV into typed JSON. Send a PDF, a DOCX or plain text; get back name, contact details, every role with normalised dates, education, skills, certifications and languages. Median parse under two seconds.","contact":{"name":"ResumeJSON support","url":"https://resumejson.tiraisoft.com/docs"}},"servers":[{"url":"https://resumejson.tiraisoft.com"}],"tags":[{"name":"parsing","description":"Resume and CV extraction"}],"paths":{"/v1/parse":{"post":{"tags":["parsing"],"summary":"Parse a resume into structured JSON","description":"Accepts a JSON body with a `text` field, a multipart form with a `file` part, or the file bytes as the raw request body. PDF and DOCX are detected from the bytes, not from the Content-Type header.","operationId":"parseResume","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"The resume as plain text."}}},"example":{"text":"Jane Doe\nSenior Engineer\njane@example.com\n\nEXPERIENCE\nAcme — Engineer, 2020 to Present"}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF, DOCX or .txt resume."}}}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"The parsed resume.","headers":{"X-Parse-Ms":{"description":"Server-side parse time in milliseconds.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParseResponse"}}}},"400":{"description":"The body carried no resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Not called through RapidAPI.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Document larger than the limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"File type cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"File unreadable, or the document is not a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Model upstream unavailable. Retry after the Retry-After delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/health":{"get":{"tags":["parsing"],"summary":"Liveness and the active model","operationId":"health","responses":{"200":{"description":"Service is up.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"version":{"type":"string"},"model":{"type":"string"}}}}}}}}}},"components":{"schemas":{"ParseResponse":{"type":"object","required":["resume","meta"],"properties":{"resume":{"$ref":"#/components/schemas/Resume"},"meta":{"type":"object","properties":{"source":{"type":"string","enum":["text","pdf","docx"]},"characters":{"type":"integer"},"model":{"type":"string"},"durationMs":{"type":"integer"},"usage":{"type":"object","properties":{"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"}}}}}}},"Resume":{"type":"object","required":["basics","work","education","skills","certifications","languages","total_years_experience"],"properties":{"basics":{"type":"object","properties":{"full_name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"headline":{"type":"string","nullable":true},"links":{"type":"array","items":{"type":"string"}}}},"work":{"type":"array","items":{"$ref":"#/components/schemas/WorkEntry"}},"education":{"type":"array","items":{"$ref":"#/components/schemas/EducationEntry"}},"skills":{"type":"array","items":{"type":"string"}},"certifications":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"date":{"type":"string","nullable":true,"description":"YYYY-MM or YYYY"}}}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"proficiency":{"type":"string","nullable":true}}}},"total_years_experience":{"type":"number","nullable":true}}},"WorkEntry":{"type":"object","properties":{"company":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true,"description":"YYYY-MM, or YYYY when no month is stated."},"end_date":{"type":"string","nullable":true,"description":"null when the role is current."},"is_current":{"type":"boolean"},"location":{"type":"string","nullable":true},"highlights":{"type":"array","items":{"type":"string"}}}},"EducationEntry":{"type":"object","properties":{"institution":{"type":"string","nullable":true},"degree":{"type":"string","nullable":true},"field_of_study":{"type":"string","nullable":true},"start_date":{"type":"string","nullable":true},"end_date":{"type":"string","nullable":true}}},"Error":{"type":"object","properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["empty_input","too_large","unsupported_type","unreadable_file","not_a_resume","upstream_unavailable","upstream_invalid","not_via_rapidapi","gate_misconfigured","method_not_allowed","not_found","internal"]},"message":{"type":"string"}}}}}}}}