Skip to content

Toolset negotiations

Responses and invitations: lists, states, messages.

10 tools. Mutations require an explicit confirm=true argument; Auth marks tools that need an hh.ru token.

Tool Operation Auth Confirm Description
get_negotiation GET /negotiations/{id} yes – Get full information about a single negotiation (response or invitation) by its id, including messages URL and available state actions.
get_negotiation_test_solution GET /negotiations/{nid}/test/solution yes – Get the results of tests completed by the applicant of a negotiation (attached to the vacancy).
list_collection_negotiations GET /negotiations/response yes – List negotiations of the unsorted responses collection ("/response") of a vacancy with resume-like filters: area, experience, education, salary range, age and others. The same URL pattern serves other collections: replace the last path segment with the collection id from the collections list.
list_negotiation_messages GET /negotiations/{nid}/messages yes – List all messages of a negotiation (response or invitation) thread. Note: hh.ru considers negotiation messaging legacy and recommends chats; use with_text_only to skip service messages.
list_negotiations GET /negotiations yes – List negotiations (responses and invitations) of the current user. Filter by status, vacancy or unread updates; ordered by last update (newest first) by default. The response contains collections with actions URLs used by other negotiation tools.
mark_negotiations_read POST /negotiations/read yes yes Mark negotiations as read. topic_id values in the body must belong to one vacancy (up to 50 ids). Mutation: requires confirm=True.
move_negotiation PUT /negotiations/{collection_name}/{nid} yes yes Change the employer or applicant state of a negotiation by moving it to another collection (for example from response to invitation). collection_name and nid come from the actions URL of the negotiation; an optional message can be attached. Mutation: requires confirm=True.
request_phone_interview POST /negotiations/phone_interview yes yes Invite an applicant to a vacancy by resume: creates an invitation negotiation, optionally sends an email message and an SMS notification. resume_id and vacancy_id are required in the body (sent form-encoded per the vendor spec). Mutation: requires confirm=True.
send_negotiation_message POST /negotiations/{nid}/messages yes yes Send a new message inside a negotiation thread. Sending is possible while the conversation is open (see the hh.ru rules for negotiations). Mutation: requires confirm=True.
update_negotiation PUT /negotiations/{id} yes yes Apply a collection action (for example invite or decline) to one or more negotiations. The {id} path value and required body arguments (topic_id, message, send_sms and others) come from actions[].url and actions[].arguments of the negotiation list. Mutation: requires confirm=True.