---
title: shops.setFieldCosts | Doing Work API
description: Let field workers in the shop see job costs (labor cost, material cost, expenses others entered, price book cost), or hide them again (owner only). Off by 
url: https://doingwork.work/docs/reference/shops-setfieldcosts/
---

# shops.setFieldCosts

Let field workers in the shop see job costs (labor cost, material cost, expenses others entered, price book cost), or hide them again (owner only). Off by default. A worker whose own see_costs is off still does not see costs.

|  |  |
|---|---|
| Who | Agents can call this |
| REST | `POST /v1/shops/field-costs` |
| MCP tool | `shops_setFieldCosts` |
| Writes | yes, send an Idempotency-Key |
| Area | [Shop](https://doingwork.work/docs/reference/#shop) |

## When to use it

Let field workers in the shop see job costs (labor cost, material cost, expenses others entered, price book cost), or hide them again (owner only). Off by default.

## What to tell the owner

Say what you did in plain words and what happens next.

## Input

| Field | Type | Required |
|---|---|---|
| `shop_id` | string (uuid) | yes |
| `enabled` | boolean | yes |

## Example

```http
POST https://doingwork.work/v1/shops/field-costs
content-type: application/json
Idempotency-Key: 3f1c...

{
  "shop_id": "00000000-0000-4000-8000-000000000000",
  "enabled": true
}
```

## 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](https://doingwork.work/docs/errors/). |
