Ask a candidate for documents
request_candidate_documents[Document requests] Ask a candidate for up to 10 documents (certificate, reference letter, work sample...) with a message and due date. With notify (the default) the candidate is e-mailed. dry_run=true shows whether the e-mail would go out (will_send, not_requested, no_valid_email, suppressed) and stores nothing. documents[].source_field_id replaces one of the position's own file questions, as its form names it (form_cover_letter, custom_...); without it the request is a plain upload.
Every argument in full, with examples: get_tool_reference.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"candidate_id": "<candidate_id>",
"documents": "<documents>"
},
"name": "request_candidate_documents"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notify | No | Default true: e-mail the candidate "Documents requested" now (and the one reminder after the due date). false: the request only shows on their application page. | |
| dry_run | No | true: check everything and answer who would be e-mailed, without creating the request or sending anything. | |
| message | No | Message to the candidate, at most 2000 characters. | |
| due_date | No | Due date (YYYY-MM-DD), today or later. After it the candidate is reminded once by e-mail (when notify is true). | |
| documents | Yes | The documents to ask for, 1 to 10. | |
| llm_model | No | Your model id, e.g. "claude-opus-4-8"; "unknown" if unsure. For analytics. | |
| merchant_id | No | Optional company to act on. Admins and sub-merchant operators only; other callers always use their token's company. | |
| candidate_id | Yes | The candidate to ask (the `id` of a list_candidates row). | |
| application_id | No | Optional: the candidate's application this is for (an application `id` from get_candidate); the e-mail then names its position. | |
| conversation_id | No | The conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| notify | Yes | ||
| dry_run | Yes | ||
| message | No | ||
| due_date | No | ||
| documents | Yes | ||
| request_id | No | ||
| position_id | No | ||
| candidate_id | Yes | ||
| position_name | No | ||
| application_id | No | ||
| candidate_name | No | ||
| candidate_email | No | ||
| _mcp_instructions | No | Server-issued metadata for this conversation. |