Private preview of the new site. Not live.

hub.links

A customer's hub links, newest first: when each was made, when it expires or was revoked, and how often and when it was last opened. The link itself is never shown again. Owner or office only.

WhoAgents can call this
RESTGET /v1/hub/links
MCP toolhub_links
Writesno
AreaCustomer hub, requests and customer emails

When to use it

Give a customer one page with everything they have with the shop: hub.createLink makes a link for one customer (shown once; send it yourself, Doing Work sends nothing). On it the customer sees their quotes, jobs, invoices with what is still owed, upcoming visits and requests, opens a quote, pays an invoice, asks to move or cancel a visit, and asks for new work (it arrives as a portal request).

What to tell the owner

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

Input

FieldTypeRequired
customer_idstring (uuid)yes

Example

GET https://doingwork.work/v1/hub/links?customer_id=00000000-0000-4000-8000-000000000000

Output

FieldTypeAlways there
linksarrayyes
links[].link_idstring (uuid)yes
links[].customer_idstring (uuid)yes
links[].created_bystring (uuid)yes
links[].created_atstring (date-time)yes
links[].expires_atstring (date-time)yes
links[].revoked_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
links[].last_opened_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
links[].opensintegeryes
links[].livebooleanyes
{
  "links": [
    {
      "link_id": "00000000-0000-4000-8000-000000000000",
      "customer_id": "00000000-0000-4000-8000-000000000000",
      "created_by": "00000000-0000-4000-8000-000000000000",
      "created_at": "...",
      "expires_at": "...",
      "revoked_at": "...",
      "last_opened_at": "...",
      "opens": 1,
      "live": true
    }
  ]
}

Errors

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