Send a follow-up to a Client
Send one due follow-up for a Job (from `delivery.dueFollowUps`): a reminder, digest, 72h notice or courtesy-day note to the Client, or the escalation to the Client's account owner (also due at once when every channel refused a delivery). Refused when it is not due.
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?replay?actionId*stringcurl -X POST 'https://www.invyte.ai/api/recruiter/v1/operations/delivery.followUp' \ -H 'Content-Type: application/json' \ -d '{ "input": { "deliveryId": "string", "kind": "reminder_24h" }}'{ "status": "done", "output": { "followUpId": "string", "jobId": "string", "kind": "reminder_24h", "applicationIds": [ "string" ], "carriedApplicationIds": [ "string" ], "channels": [ "email" ] }, "replay": { "followUpId": "string" }, "actionId": "string"}Follow-ups due with Clients POST
The follow-ups due now on candidates waiting on Clients, one per Job and kind, in order. Computed from when each candidate was sent, so a missed check loses nothing.
Client response times POST
Per Client: candidates waiting and the oldest, how many were decided, median and average hours to a decision, and escalations. Over the Jobs you can see.