Record an application event
POST
/api/applications
const url = 'http://127.0.0.1:8765/api/applications';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"event_kind":"applied","normalized_url":"https://boards.greenhouse.io/acme/jobs/101"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://127.0.0.1:8765/api/applications \ --header 'Content-Type: application/json' \ --data '{ "event_kind": "applied", "normalized_url": "https://boards.greenhouse.io/acme/jobs/101" }'Record an application event (applied, interview_scheduled, …) for a job. 0.1.11.4: applied is never refused for a posting that looks closed; the answer then also carries posting_note (“This posting looks closed: check it before you apply”; the key is absent otherwise).
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
event_kind
required
Applied | interview_scheduled | offer_received | rejected | withdrawn.
string
job_identity
Text identity for pasted jobs.
string
normalized_url
The posting URL (or job_identity).
string
notes
Free text.
string
occurred_at
ISO time; default now.
string
Example
{ "event_kind": "applied", "normalized_url": "https://boards.greenhouse.io/acme/jobs/101"}Responses
Section titled “Responses”Success.
Media typeapplication/json
object
key
additional properties
any
Example
{ "event": { "event_kind": "applied" }, "job_state": { "next_events": [], "since": "2026-09-29T10:00:00Z", "state": "applied" }}Forbidden / forbidden_origin: loopback peer and Host 127.0.0.1:<port> or localhost:<port> only (Origin too on writes).
Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{ "error": { "allowed_keys": [ "example" ], "code": "example", "message": "example" }}Target_unavailable
Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{ "error": { "code": "target_unavailable", "message": "..." }}Invalid_transition
Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{ "error": { "code": "invalid_transition", "message": "..." }}Unsupported_media_type: writes need Content-Type: application/json.
Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{ "error": { "allowed_keys": [ "example" ], "code": "example", "message": "example" }}Unknown_key, invalid_value
Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{ "error": { "code": "unknown_key", "message": "..." }}