subs.add
Add a subcontractor to a job: a company and the one email they will sign in with. Returns a link once; share it with them yourself (Doing Work does not send it). They see the job summary, the work address, your scope note and upcoming visit times, and can leave you notes. They never see prices, the customer's name or contact details, or other subcontractors. Lasts expires_in_days (default 90, up to 365) until removed. Owner or office only.
| Who | Agents can call this |
| REST | POST /v1/subs |
| MCP tool | subs_add |
| Writes | yes, send an Idempotency-Key |
| Area | Field work (checklists, forms, time, notes, change orders, subcontractors) |
When to use it
Add a subcontractor to a job: a company and the one email they will sign in with. Returns a link once; share it with them yourself (Doing Work does not send it).
What to tell the owner
Say what you did in plain words and what happens next.
Input
| Field | Type | Required |
|---|---|---|
job_id | string (uuid) | yes |
company_name | string | yes |
email | string (email) | yes |
contact_name | string | no |
trade | string | no |
scope_note | string | no |
expires_in_days | integer | no |
Example
POST https://doingwork.work/v1/subs
content-type: application/json
Idempotency-Key: 3f1c...
{
"job_id": "00000000-0000-4000-8000-000000000000",
"company_name": "...",
"email": "owner@example.com"
}Output
JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.
Errors
| Code | Status | What to do |
|---|---|---|
invalid_input, invalid_token, rate_limited | Can happen on any call. See errors. |