[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Update record

> Changes fields of one record and returns the old values. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/quickbase/update_record

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Changes fields of one record and returns the old values.

Quickbase API: https://cotlet.dev/docs/api/quickbase.md

`PATCH https://cotlet.dev/api/v1/quickbase/records/{record_id}`

Access: write.

Opens the record in edit mode, sets the fields you pass and saves; fields you leave out stay as they are. The answer lists each changed field with its previous and new value, so a wrong change is undone by calling update_record with the previous values. If someone saved the same record while it was open, the call fails and changes nothing. It does not wait for your OK because it is undone in one call, but a Pipelines or notification rule in your app can still run on save, for example when you change who a record is assigned to.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `app` | string | yes | App name as it appears under My apps, e.g. 'Field Ops'. |
| `table` | string | yes | Table name as it appears in the app's sidebar, e.g. 'Work orders'. |
| `record_id` | integer | yes | Record ID# from run_report, search_records or create_record. |
| `fields` | object | yes | Field label to new value, e.g. {'Priority': 'High'}. Only these fields change. |

## Request

**cURL**

```bash
curl -X PATCH https://cotlet.dev/api/v1/quickbase/records/1042 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"app":"Field Ops","table":"Work orders","fields":{"Assigned to":"Dana Whitfield","Priority":"High"}}'
```

**Python**

```python
result = client.call("quickbase", "update_record", {"app":"Field Ops","table":"Work orders","record_id":1042,"fields":{"Assigned to":"Dana Whitfield","Priority":"High"}})
```

**Node.js**

```js
const result = await cotlet.call('quickbase', 'update_record', {"app":"Field Ops","table":"Work orders","record_id":1042,"fields":{"Assigned to":"Dana Whitfield","Priority":"High"}});
```

**CLI**

```bash
cotlet call quickbase update_record --data '{"app":"Field Ops","table":"Work orders","record_id":1042,"fields":{"Assigned to":"Dana Whitfield","Priority":"High"}}'
```

## Example response

```json
{
  "record_id": 1042,
  "table": "Work orders",
  "updated": {
    "Assigned to": {
      "previous": "Sam Ortiz",
      "current": "Dana Whitfield"
    },
    "Priority": {
      "previous": "Normal",
      "current": "High"
    }
  }
}
```

Previous: [Create record](https://cotlet.dev/docs/api/quickbase/create_record.md)
Next: [Delete record](https://cotlet.dev/docs/api/quickbase/delete_record.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
