Add a client contact
Add a person at the Client. They get the Client's email updates; signing in to the client workspace is optional.
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/clients.addContact' \ -H 'Content-Type: application/json' \ -d '{ "input": { "clientId": "string", "name": "string", "email": "string", "role": "hiring_manager" }}'{ "status": "done", "output": { "clientId": "string", "contactId": "string" }, "replay": { "clientId": "string", "contactId": "string" }, "actionId": "string"}Undo a Client's decision on a candidate POST
Take back the Client's current decision on a candidate, as they asked. Name the decision (`decisionId` from `delivery.status`) so a newer one is never undone. The candidate waits on the Client again and the Client gets a short note confirming it.
Archive a Client POST
Archive a Client so new Jobs can't be put under it. Its Jobs and the roles held on it stay.