HeadHoncho

List events

List events is a read in the HeadHoncho API. What changed on jobs since a cursor: a job opened, moved, assigned or paid, with who did it. Send back next to get the rest.

Read as Markdown

The request

Reference for List events, HeadHoncho API v1. It is a read, sent to the base address https://api.headhoncho.app.

GET /api/v1/events

The key needs the Jobs area at read. An answered call costs 1 credit; a refusal costs nothing. See credits.

Send your key as Authorization: Bearer hh_live_.... See API keys.

Parameters

NameKindRequiredDescriptionExample
cursornumber, in the queryNoThe next from your last answer. Leave it out the first time to get the latest changes and a cursor to start from.88400
company_idid, in the queryNoOne company. Default: every company the credential reaches.cmp_14f5
limitnumber, in the queryNo1 to 200. Default 50.50

Try it with your key

Paste your key and change the values. The box builds the call as a cURL line and a fetch line, ready to copy. It never sends anything itself.

Your key stays in this page and is never sent anywhere. Copy the line below and run it yourself.

What comes back

items, oldest first: position, event (a type from the Event catalog), at, by (a person, or "Reporting laptop, for Ariel T." when a key acted), job (id, number, company_id) and data, a few plain facts about the change. next: send it as cursor to continue; it is always safe to keep, even with no items. more: true when there is more to read now. Only jobs this credential reaches appear, and jobs in Trash never do. Money amounts, customer details and message text are never carried: read the job for those.

It never changes a record. It only reads the companies the key reaches.

Every field in the answer

Types are read from the example answer. Money is a plain number in the company's currency. A time carries its offset from UTC (Z is UTC). Ids are opaque text. A field with no line of its own here has its name spelled out; the common fields mean the same on every page.

FieldTypeMeaning
itemslist of objectsThe rows on this page.
items[].positionwhole numberWhere the change landed in the event log. Pass it as after on a read to see your own write.
items[].eventtextThe kind of event, as a code.
items[].attime (ISO 8601, with offset)The moment it happened. Carries its offset from UTC; Z is UTC.
items[].bytextWho did it. A key shows as its name, then "for" and the member it acts as.
items[].jobobjectThe job.
items[].job.idid (text)The id of this record. Ids are opaque text: keep them exactly as given.
items[].job.numberwhole numberThe number people say out loud, such as the job number.
items[].job.company_idid (text)The id of the company.
items[].dataobjectThe data.
items[].data.statustextThe job status.
items[].data.status_slugtextThe status slug.
items[].data.previous_statustextThe previous status.
nextwhole numberThe cursor for the next page, or null on the last page. Pass it back as cursor.
moretrue or falseThe more.

Reading in order

Call with the cursor you were given, handle the items, keep next. A call with no cursor returns the latest changes, not all of history. The feed holds back a change until the app has finished recording it, so a change you just made may show a moment later: use after= with the position your command answered to wait for it.

Errors that apply

CodeStatusWhat it means
`missing_key`401Send your key as Authorization: Bearer hh_live_...
`unknown_key`401That key is not one we issued, or it was revoked.
`no_access`403This credential does not reach that. Ask the person who made it for access.
`not_found`404No such record in the companies this credential reaches.
`out_of_scope`404No such company in the companies this credential reaches.
`invalid`422Some fields were refused. See fields.
`no_credits`402Out of credits. Top up on Settings › Credits, or turn on auto top-up.