Private preview of the new site. Not live.

subs.list

Subcontractors on a job, or on every job in the shop: status invited, joined, expired or removed, when they last opened their page. The link is never shown again. Owner or office only.

WhoAgents can call this
RESTGET /v1/subs
MCP toolsubs_list
Writesno
AreaField work (checklists, forms, time, notes, change orders, subcontractors)

When to use it

Subcontractors on a job, or on every job in the shop: status invited, joined, expired or removed, when they last opened their page. The link is never shown again.

What to tell the owner

Tell them what you found in plain words. Don't read back raw fields.

Input

FieldTypeRequired
job_idstring (uuid)no
shop_idstring (uuid)no
include_removedbooleanno

Example

GET https://doingwork.work/v1/subs?job_id=00000000-0000-4000-8000-000000000000&shop_id=00000000-0000-4000-8000-000000000000&include_removed=True

Output

FieldTypeAlways there
subcontractorsarrayyes
subcontractors[].subcontractor_idstring (uuid)yes
subcontractors[].job_idstring (uuid)yes
subcontractors[].company_namestringyes
subcontractors[].contact_name['string', 'null']yes
subcontractors[].emailstringyes
subcontractors[].trade['string', 'null']yes
subcontractors[].scope_note['string', 'null']yes
subcontractors[].statusstringyes
subcontractors[].created_bystring (uuid)yes
subcontractors[].created_atstring (date-time)yes
subcontractors[].expires_atstring (date-time)yes
subcontractors[].joined_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
subcontractors[].removed_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
subcontractors[].last_opened_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
subcontractors[].opensintegeryes
{
  "subcontractors": [
    {
      "subcontractor_id": "00000000-0000-4000-8000-000000000000",
      "job_id": "00000000-0000-4000-8000-000000000000",
      "company_name": "...",
      "contact_name": "...",
      "email": "owner@example.com",
      "trade": "...",
      "scope_note": "...",
      "status": "...",
      "created_by": "00000000-0000-4000-8000-000000000000",
      "created_at": "...",
      "expires_at": "...",
      "joined_at": "...",
      "removed_at": "...",
      "last_opened_at": "...",
      "opens": 1
    }
  ]
}

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.