talent_network:write and use the write rate tier.
Request
Both take{ "candidates": [ … ] } with 1 to 100 items. Reference each candidate by candidateUserId, or by email / linkedinUrl:
candidateUserIdwins when given. OtherwiselinkedinUrlbeatsemail, the same precedence as lookup.- An identity reference (email or LinkedIn) acts on every membership row your agency holds for that person. A candidate owned by two of your recruiters changes state for both, and the result’s
candidateUserIdslists every row acted on. - Duplicate references in one request collapse into a single action and report the same result at every index.
Response
A well-formed request always answers200 with a results array aligned by index with candidates. Branch on each result’s ok, then read status.
- off-market
- re-enable
not_found doesn’t distinguish another agency’s candidate from one that doesn’t exist. Statuses are never renamed, but new ones may be added, so treat an unknown status as informational.
Things to know
- Re-enabling a candidate whom Paraform detected as off the market overrides that detected signal.
- Resubmitting a candidate through
submitorsubmit-bulkputs them back on the market after an off-market call. The exception is a candidate Paraform has locked off the market, who returns only through a submission to a role. - Retries converge on
already_off_marketoralready_on_market, so these endpoints don’t need anIdempotency-Key. - A structurally malformed item (for example, a field with the wrong JSON type) fails the whole request with
400.