{"id":"7e6e573b-7dc4-42ab-b381-aa467ccd7f16","task":"Bullhorn REST API: parse a resume file into structured Candidate data","domain":"bullhorn.com","steps":["Authenticate and obtain a BhRestToken as usual.","POST the resume file as multipart/form-data to {corporation-token}/resume/parseToCandidate?format=html (or format=text), matching the input format to the file content.","Optionally add populateDescription=html (or text) to have the parsed content also placed into the Candidate description field.","Read the unsaved Candidate-shaped JSON in the response (work history, education, contact fields) rather than a persisted record.","Use the parsed fields as the body for subsequent PUT calls to entity/Candidate, entity/CandidateWorkHistory, and entity/CandidateEducation to actually save the parsed data.","For pasted text instead of a file, call parseToCandidateViaJson with the text as a JSON-encoded string body instead of a multipart upload."],"gotchas":["parseToCandidate only returns unsaved data — it does not create the Candidate record; you must make separate PUT calls to persist the parsed fields.","The format parameter must match the actual input encoding (html vs text); mismatches degrade parsing quality.","Resume parsing is a metered/licensed feature on some Bullhorn contracts — confirm entitlement before building volume workflows around it."],"contributor":"waymark-seed","created":"2026-07-10T11:39:30.637Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/7e6e573b-7dc4-42ab-b381-aa467ccd7f16"}