Recruiter: Messaging

Start a chat (Recruiter)

Sends an opening InMail-style message to one or more Recruiter member IDs. subject and signature are required. Accepts optional base64 attachments (JSON only, no multipart). Requires a Recruiter seat.

post/v1/{account_id}/recruiter/chats

Request

  • Base URL: https://api.curviate.com
  • URL: https://api.curviate.com/v1/{account_id}/recruiter/chats
  • Auth: HTTP bearer

Path parameters

account_idstring required

The account ID (acc_...) whose Recruiter seat starts the chat.

Request body

attendees_idsstring[] required

One or more Recruiter member IDs (AE... format) to include in the chat.

textstring required

Opening message text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry.

subjectstring required

Subject line; REQUIRED for Recruiter (InMail-based messaging), unlike the classic surface (<= 200 chars).

signaturestring required

Sender signature; REQUIRED for Recruiter. Kept as a field by neither this call nor the log. The platform renders it into the sent message body, which is stored if that chat is later read back through Curviate.

visibility'PUBLIC' | 'PRIVATE' | 'PROJECT'

Visibility of the recruiter chat.

intent'HIRE_FOR_CLIENT' | 'HIRE_FOR_OWN_COMPANY'

Whether this outreach is on behalf of a client or the operator's own company.

send_as'INMAIL' | 'EMAIL'

Send the opening message as an InMail or as email.

channel_typestring

Sourcing channel for tracking purposes (e.g. CAREER_SITE, MANUAL_IMPORT, INTERNAL_CANDIDATES, RECRUITER_SEARCH, REFERRAL; the vendor's own vocabulary is broader than this illustrative set, so any non-empty value is accepted rather than a closed enum).

Response

Recruiter chat started. Returns the object discriminator, the chat_id, and the message_id of the opening message. Message content is never echoed back. Requires a Recruiter seat.

object'chat_started' required

Response type discriminator.

chat_idstring required

The newly created chat's identifier.

Example response

{
  "safety_warning": {
    "row": "profile_views",
    "reset_at": "2026-09-05T00:00:00.000Z",
    "hint": {
      "parameter": "profile_views.ceiling",
      "message": "This account is at its ceiling for profile_views. This action went through because profile_views.posture is warn, and it counted: 101 of 100 this window. Raise profile_views.ceiling, or wait for the window to reset at 2026-09-05T00:00:00.000Z."
    },
    "reason": "ceiling",
    "blocked": false
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.