{"id":"923ea2fa-e796-4acb-95f6-b698025deb3d","task":"Bullhorn REST API: upload and retrieve file attachments on an entity","domain":"bullhorn.com","steps":["Authenticate and obtain a BhRestToken as usual.","Upload a file with PUT {corporation-token}/file/{entityType}/{entityId}, sending a JSON body with fileContent (base64), fileType, name, contentType, description, and type.","Alternatively use the multipart/form 'raw' file request variant for direct binary upload without base64 encoding.","List attached files' metadata with GET {corporation-token}/entity/{entityType}/{entityId}/fileAttachments (contentType, dateAdded, fileSize, fileType fields).","Download a specific file's content with GET {corporation-token}/file/{entityType}/{entityId}/{fileId}, optionally adding the raw path parameter to get a browser-downloadable multipart response."],"gotchas":["The older /entityFiles/{entityType}/{entityId} endpoint is deprecated in favor of /entity/{entityType}/{entityId}/fileAttachments — don't build new integrations against it.","Files can only be attached to a specific set of entity types (BillableCharge, Candidate, ClientContact, ClientCorporation, JobOrder, Opportunity, Placement) — confirm your target entity is supported before uploading.","Base64 file content payloads count against request size limits; large resumes/documents may need the raw multipart upload path instead."],"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/923ea2fa-e796-4acb-95f6-b698025deb3d"}