# Accept a delivered job. It is final; a job nobody accepts is final 7 days after delivery.

URL: https://services.dev/docs/examples/lingua/api/accept_job

## Accept a delivered job. It is final; a job nobody accepts is final 7 days after delivery.

`POST /jobs/{id}/accept` · `accept_job`

Status: live

### Parameters

- `id` string · required: The job, as every answer names it.
- `Services-Version` string
- `Idempotency-Key` string

### Returns

- 200 job: OK.
- 400 error: BLOCKED: body_invalid, version_unknown. (not captured yet)
- 401 error: BLOCKED: key_missing, key_invalid. (not captured yet)
- 403 error: BLOCKED: needs_the_party. (not captured yet)
- 404 error: EMPTY: not_found. (not captured yet)
- 409 error: BLOCKED: not_delivered.
- 500 error: BLOCKED: api_error. (not captured yet)

### CLI

```
$ npx services.dev accept job_7Hq2
job_7Hq2 · accepted · document.fr-CA.pdf · $49.00 final
```

### API

```
curl -X POST http://localhost:8787/jobs/job_7Hq2/accept
```

### MCP

```
→ tools/call accept_job {"id":"job_7Hq2"}
← job_7Hq2 · accepted · document.fr-CA.pdf · $49.00 final
```

### SDK

```
await job.accept()
```

### 200 job

```json
{
  "id": "job_7Hq2",
  "object": "job",
  "created": "2026-10-25T14:00:02.000Z",
  "livemode": false,
  "simulated": true,
  "service": "translation",
  "input": {
    "document": {
      "url": "https://example.com/document.pdf",
      "name": "document.pdf"
    },
    "to": "fr-CA"
  },
  "metadata": {},
  "price": {
    "usd": 49,
    "approved": false,
    "max_usd": 49
  },
  "payment": {
    "status": "final",
    "amount_usd": 49
  },
  "human": "AI delivers every job.",
  "stage": "review",
  "steps": [
    {
      "id": "stp_1",
      "object": "step",
      "step": "draft",
      "by": "ai",
      "status": "committed",
      "hash": "sha256:ae50756dd10330c01d51aab61bd32dddbb5093651ccd90845d927c6d37c773cd"
    },
    {
      "id": "stp_2",
      "object": "step",
      "step": "review",
      "by": "ai",
      "review": "adversarial",
      "verdict": "pass",
      "status": "committed",
      "hash": "sha256:1cd6aa9565ef165bb8295bc68a8c0c03908b8a12493f455902ee81ccd32c76bd"
    }
  ],
  "next": [],
  "status": "accepted",
  "output": {
    "document": {
      "url": "data:text/plain,Simulated%20Translation%3A%20document%0A%0ARevised%20for%3A%0A-%20sent%20back%20by%20the%20buyer%3A%20Keep%20the%20defined%20terms%20in%20English.",
      "name": "document.fr-CA.pdf"
    }
  },
  "final_at": "2026-11-01T14:02:48.000Z"
}
```

### 409 not_delivered

```json
{
  "type": "BLOCKED",
  "category": "conflict",
  "code": "not_delivered",
  "reason": "Only a delivered job can be accepted or sent back.",
  "next": {
    "do": "get",
    "arguments": {
      "id": "job_7Hq8"
    },
    "tool": "get_job",
    "http": "GET http://localhost:8787/jobs/job_7Hq8?wait=50"
  },
  "doc_url": "http://localhost:8787/docs/errors/not_delivered",
  "request_id": "req_zOv45k",
  "simulated": true
}
```
