Open an email thread
The email thread with a candidate about a Job (jobId + personKey) or with one of a Client's contacts (clientId + clientContactId), opened on first use: its state, its latest messages and whether a message can be sent now. A candidate thread opens only for an applicant or someone whose request for the Job is still open; nobody is cold-emailed. Replies arrive on the thread.
bearerAuthorizationBearer <API key or OAuth token>An organization API key (ink_live_…, ADR-0124), or the OAuth access token a person's AI client gets from the Recruiter MCP sign-in. Only the Authorization header is accepted.
Idempotency-Key?stringMakes a write safe to repeat: the same key and input return the first result. Required for agents' writes and for anything a person confirms.
^[A-Za-z0-9._:-]+$8 <= length <= 128application/json- body
input*confirmation?stringThe id from a confirm or awaiting_approval Outcome, sent with the same input and key to go ahead.
Done. A replay of the same key and input omits output.
application/json- response
status*unknownoutput?actionId*stringcurl -X POST 'https://www.invyte.ai/api/recruiter/v1/operations/correspondence.thread' \ -H 'Content-Type: application/json' \ -d '{ "input": {}}'{ "status": "done", "output": { "threadId": "string", "jobId": "string", "personKey": "string", "clientId": "string", "clientContactId": "string", "memberUserId": "string", "subject": "string", "state": "new", "lastOutboundAt": "2019-08-24T14:15:22Z", "lastInboundAt": "2019-08-24T14:15:22Z", "contact": { "kind": "application", "reason": "opted_out" }, "messages": [ { "id": "string", "direction": "outbound", "subject": "string", "body": "string", "authorUserId": "string", "sentAt": "2019-08-24T14:15:22Z", "receivedAt": "2019-08-24T14:15:22Z", "autoReply": true, "fromRecipient": true, "createdAt": "2019-08-24T14:15:22Z" } ] }, "actionId": "string"}Send an email on a thread POST
Email the thread's person from Invyte ("{First} at {Company} via Invyte", or the company alone for an agent), with replies coming back to the thread. Plain text. The first message needs a subject. With compose, Invyte writes the email for that purpose from the Job, the candidates the person may see and the thread, using body as what to say (and as the email when it can't write one); the review shows the words and why. Held until morning in the person's quiet hours (21:00–08:00 their time) or past their daily cap (heldUntil says when it goes); an answer to their own message is outside the cap. Refused when the person can't be written to now (withdrew, asked us to stop, asked not to be emailed, the Job stopped taking candidates, no longer the Client's contact).
Record that a person asked us to stop POST
The thread's person asked not to be contacted again ("please stop emailing me"): nothing more goes on the thread, and the opt-out reaches every other sender. An applicant stops getting this Job's application emails and can't be nudged; someone with no Application is no longer emailed about roles. Use only when the person said so themselves.