The request
Reference for Get job money, HeadHoncho API v1. It is a read, sent to the base address https://api.headhoncho.app.
GET /api/v1/jobs/{job_id}/money
The key needs the Money 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
| Name | Kind | Required | Description | Example |
|---|---|---|---|---|
job_id | id, in the path | Yes | The job id, or its number. | job_1138 |
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
summary: quoted, collected, still_owed, money_in (and whether it is the quote or what came in), parts, fees, profit and the company's share. shares: one per person paid on the job, with the rate, the working and whether it is projected or posted, then the company. lines: every payment, expense, fee and cut, voided ones included and marked. checks: whether the shares and fees add back to money in, to the cent.
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.
| Field | Type | Meaning |
|---|---|---|
job | object | The job. |
job.id | id (text) | The id of this record. Ids are opaque text: keep them exactly as given. |
job.number | whole number | The number people say out loud, such as the job number. |
job.status | text | The job status. |
currency | text | The three-letter currency code (ISO 4217). Every money value in the answer is in it. |
summary | object | The summary. |
summary.quoted | money (number) | The price quoted for the job. In the company's currency. |
summary.collected | money (number) | The money received on the job so far. In the company's currency. |
summary.still_owed | money (number) | The still owed. In the company's currency. |
summary.money_in | money (number) | The money in. In the company's currency. |
summary.money_in_basis | text | Which money counted as money in. |
summary.parts | money (number) | The parts. In the company's currency. |
summary.fees | money (number) | What the payment processor kept. In the company's currency. |
summary.profit | money (number) | The job's profit, worked out the way the app works it out. In the company's currency. |
summary.company_share | money (number) | The company share. In the company's currency. |
summary.technicians_total | money (number) | The technicians total. In the company's currency. |
shares | list of objects | The shares. |
shares[].worker_id | id (text) | The id of the worker. |
shares[].name | text | The name, as the app shows it. |
shares[].role | text | The role: what this person does on a job. |
shares[].rate | text | How the cut is worked out, in words. |
shares[].working | text | The sum, shown the way the app shows it. |
shares[].share | money (number) | The share. In the company's currency. |
shares[].parts_paid | money (number) | The parts paid. In the company's currency. |
shares[].payout | money (number) | The payout. In the company's currency. |
shares[].projected | true or false | True while the figure is an estimate that the job has not closed on yet. |
lines | list of objects | The lines, oldest first. |
lines[].id | id (text) | The id of this record. Ids are opaque text: keep them exactly as given. |
lines[].kind | text | What sort of thing this is. |
lines[].on | date (YYYY-MM-DD) | The date it happened, as a date in the company's time zone. |
lines[].amount | money (number) | The amount. In the company's currency. |
lines[].method | text | How it was paid, such as card or cash. |
lines[].who | text | The person it concerns. |
lines[].memo | text | A free-text note on the line. Empty when there is none. |
lines[].voided | true or false | True when the line was voided. A voided line counts in no figure. |
lines[].type | text | What sort of thing this is. |
checks | object | The checks. |
checks.adds_up | true or false | True when the figures agree with each other. |
checks.payouts | money (number) | The payouts. In the company's currency. |
checks.fees | money (number) | What the payment processor kept. In the company's currency. |
checks.money_in | money (number) | The money in. In the company's currency. |
One derivation
This is the arithmetic the job's Money tab shows, computed by the same function, so the API and the screen cannot disagree. A share is projected until the job closes and the cut is posted.
Voided lines
A voided payment or expense is listed with voided: true and its reason, and counts in no figure.
Errors that apply
| Code | Status | What it means |
|---|---|---|
| `missing_key` | 401 | Send your key as Authorization: Bearer hh_live_... |
| `unknown_key` | 401 | That key is not one we issued, or it was revoked. |
| `no_access` | 403 | This credential does not reach that. Ask the person who made it for access. |
| `not_found` | 404 | No such record in the companies this credential reaches. |
| `invalid` | 422 | Some fields were refused. See fields. |
| `no_credits` | 402 | Out of credits. Top up on Settings › Credits, or turn on auto top-up. |
Related
- List field reports: What technicians reported from the field and nobody booked yet: what they collected, how, the parts and the job's total, newest first.
- The same records in the app: the Finance panel.
- How the API fits together: the model, API keys, errors and the MCP server.