Archive (reject) application
Reject an application with an archive reason, an optional note and an optional rejection email.
MCP tool ashby_write → archive_application
Archives the application for that job only and moves the candidate to the Archived stage, like Archive in Ashby. The reason must be one from list_archive_reasons. A rejection email goes out only if you name a template, immediately or at the time you set. Other applications of the same candidate stay active. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| application_id string required | string | Application ID from list_applications or get_candidate. |
| archive_reason string required | string | Reason name from list_archive_reasons. |
| note string | string | Optional note stored with the archive reason. |
| email_template string | string | Rejection email template from list_email_templates. Without it no email is sent. |
| send string | string | 'immediately' or 'scheduled'. Default: immediately. With 'scheduled', set send_at. |
| send_at string | string | ISO 8601 date and time with offset, only with send set to scheduled. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ashby_write",
"arguments": {
"operation": "archive_application",
"arguments": {
"application_id": "7d2e4c18-5f3a-4b09-8a61-c0e9d3f1a742",
"archive_reason": "Not a fit",
"note": "About 1 year of backend work; the role asks for 3 or more.",
"email_template": "After screen",
"send": "immediately"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"application_id": "7d2e4c18-5f3a-4b09-8a61-c0e9d3f1a742",
"status": "Archived",
"archive_reason": "Not a fit",
"note_added": true,
"rejection_email": {
"template": "After screen",
"status": "sent"
}
},
"isError": false
}