Application mail

POST /me/emails Session or API key

Push a batch your own mail client fetched.

Stored under source external. HireAll provides no transport here and never classifies this mail — that is the point of the tier. external_id (the Message-ID in practice) is the dedup key: re-pushing the same id updates that message instead of storing a copy, so a nightly re-sync is safe. Content columns are refreshed; your read, deleted and triage state is not, so a re-sync cannot resurrect deleted mail or wipe a verdict. At most 100 messages per call, applied as one transaction — an oversized batch is refused, never truncated.

Body

messages array required
Up to 100 messages.
messages[].external_id string required
Dedup key; the Message-ID header.Example <CAF...@mail.gmail.com>
messages[].thread_id string
Provider thread id, if you have one.
messages[].from_addr string
Sender address.
messages[].from_name string
Sender display name — the matcher reads the company name from here.
messages[].subject string
Subject line.
messages[].body_text string
Plain-text body.
messages[].body_html string
HTML body; used when there is no text part.
messages[].received_at string (RFC3339)
When the message arrived.
curl
curl -X POST "https://freehire.me/api/v1/me/emails" \
  -H "Authorization: Bearer fhk_…" \
  -H 'Content-Type: application/json' \
  -d '{"messages":[{"external_id":"<CAF...@mail.gmail.com>","from_addr":"no-reply@us.greenhouse-mail.io","subject":"Thank you for applying","received_at":"2026-07-24T09:12:00Z"}]}'
json — response
{ "data": { "inserted": 1, "updated": 0 } }

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of HireAll is available