---
title: "Support"
url: https://services.dev/docs/operate/support
captured: [operate-support.txt]
---
# Support

URL: https://services.dev/docs/operate/support

> What a buyer asks for after an order, and how you answer it. The AI answers questions in the job's thread at once. A redo, a refund, a dispute or a contest lands in the console's support queue with its control, and each answer moves money the way the refund rules say, with members' earned pay untouched.

Buyer support answers one question: what did the buyer ask for, and what does each answer cost? Most questions never reach you. The AI answers facts in the job's [thread](https://services.dev/docs/service/talk.md) the moment they're asked, and holds anything a rule reserves for the person who adopts it. What reaches you is a short queue, each item with its control.

## The queue

```bash
open https://api.lawyer/console/support
```

```txt title="magic values: none"
Support · live · 4 open · the oldest 2d · AI answered 37 questions in matter threads this week without you
  send-back job_7Lq8  Trademark Office Action Response · the client, in the thread: "the response never argues our prior registration" · waiting at respond
  refund    job_7Lr2  Trademark Office Action Response · the office refused on 4 Nov · the client asks for the $349.00 back
  dispute   dsp_7Ls1  Demand Letter · product_not_received · evidence ready · due 20 Nov · sends itself 17 Nov
  contest   tsk_7Lt3  a signer contests a send-back of their review · yours to rule within 14 days
```

| The ask | You answer with | It costs | The money rules |
|---|---|---|---|
| a buyer: fix the work | `jobs send-back <job> <note> --from <step>` | the redo's AI, and a person's act again only if they already acted | [before and after release](https://services.dev/docs/money/refunds-and-disputes.md#before-and-after-release) |
| a buyer: their money back | `jobs refund <job> [--usd]` | your line, and the take on it comes back to you | each seller refunds only its own charge |
| a buyer's bank, instead of you | the evidence the record sends for the reason code | the network's fee, won or lost | [disputes](https://services.dev/docs/money/refunds-and-disputes.md#disputes) |
| a member contests a buyer's send-back | `tasks rule <task>` | nothing: a contest is about the record, not the money | an overturned send-back never counts on their [track record](https://services.dev/docs/people/pool/track.md) |

## A redo

A client writes in the thread that a response misses an argument, while the matter waits at the attorney's review. You send it back to the draft with their note:

```bash
npx services.dev jobs send-back job_7Lq8 "Argue the prior registration, Reg. No. 5,123,456, against likelihood of confusion" --from draft
```

```txt title="magic values: none"
← job_7Lq8 · sent back to draft · the AI redoes it with the note, and the adversarial review reads the note too
  client    pays nothing more
  attorney  keeps the claimed review, which opens on the new draft · no act yet, so nothing is paid twice
  clock     the office's date is 2027-01-12 · 61 days left · Dates at risk lists the matter if the redo runs inside 30
```

The note becomes the job's feedback. The AI reads it on the redo, the adversarial review reads it too, and the attorney's review opens on the new draft. A send-back after a person's act pays them again for the second act, from your line, because flat pay is earned on every outcome of the act.

## A refund on two sellers

The office refused a response api.lawyer filed. The client asks for the $349.00 back, and api.lawyer returns its own charge in full:

```bash
npx services.dev jobs refund job_7Lr2 --reason goodwill
```

```txt title="magic values: none"
← rfd_7Lr2 · $174.00 back to the client: all of your charge · services.dev's take on it reverses with it · processing stays spent
  attorney  the $175.00 attorney's fee is their own sale on their own account, and stands unless they refund it
  record    charge.refunded · the refusal's grounds are on the matter: the office's own answer, filed 4 Nov
```

The attorney's fee was their own sale on their own account, so the refund leaves it to them. The refusal itself stays on the matter, so your quality numbers count it ([Quality](https://services.dev/docs/operate/quality.md)).

## A dispute

```bash
npx services.dev disputes get dsp_7Ls1
```

```txt title="magic values: none"
dsp_7Ls1 · Demand Letter · $149.00 · product_not_received · needs_response · due 2026-11-20
  evidence  the signed letter and its hash · the certified mail receipt, delivered 2026-10-28 · the client opened the matter on 2026-10-29
  sends     itself on 2026-11-17, three days before it's due · Brand.disputes.evidence: 'auto'
```

With `Brand.disputes.evidence: 'auto'`, the record sends its evidence three days before it is due. With `'review'`, it waits for you in the queue.

Every call runs on every plan. A buyer's own controls, cancel and send back, are in their [customer portal](https://services.dev/docs/app/buyers.md).

## Controls

| Call (CLI) | API | Event | On the console | Plan |
|---|---|---|---|---|
| `jobs send-back <job> <note> --from <step>` | `POST /jobs/:id/send_back` | `job.sent_back` | `/console/support` | every plan |
| `jobs refund <job> [--usd] --reason <why>` | `POST /owner/jobs/:id/refund` | `charge.refunded` | `/console/support` | every plan |
| `disputes get <dsp>` | `GET /owner/disputes/:id` | `dispute.opened` | `/console/support` | every plan |
| `disputes submit <dsp>` | `POST /owner/disputes/:id/submit` | `dispute.closed` | `/console/support` | every plan |
| `tasks rule <task> upheld\|overturned` | `POST /owner/tasks/:id/rule` | `task.ruled` | `/console/support` | every plan |

---

- Up: [Run your Service](https://services.dev/docs/operate.md)
- Previous: [Incidents](https://services.dev/docs/operate/incidents.md)
- Next: [Limits](https://services.dev/docs/operate/limits.md)
