---
title: Update Objects
slug: update-objects
docTags: 
createdAt: 2026-03-17T21:13:54.077Z
---

The Update Objects API allows you to update existing records in Salesforce through Nue's Revenue Lifecycle API. This endpoint provides partial updates (PATCH) to various business objects.

:::hint{type="info"}
**Required Permission**

Your API key must be associated with a role that has **Manage Salesforce Orders** and/or **Manage Quotes** permission enabled under the "Nue on Salesforce" category.
:::

## Endpoint

```javascript
PATCH /api/objects/{objectName}/{id}
```

## Supported Objects

| Object          | Description                                                    |
| --------------- | -------------------------------------------------------------- |
| `Customer`      | Update customer accounts (maps to Salesforce Account)          |
| `Opportunity`   | Update sales opportunities including stage, dates, and amounts |
| `Quote`         | Update quote records including discounts, dates, and status    |
| `QuoteLineItem` | Update quote line items                                        |
| `Order`         | Update order records and status                                |
| `OrderProduct`  | Update order line items                                        |

::::BlockQuote
**Important: Metadata-Driven Fields**

The fields available for each object are determined by your Salesforce metadata configuration and permissions. The fields documented below are **common examples** and may vary based on your organization's setup. To see the exact fields available for your environment:

:::Paragraph{listStyleType="disc" indent="1"}
Use the [Metadata API](/docs/api-references/metadata-api) to retrieve object definitions
:::

:::Paragraph{listStyleType="disc" indent="1"}
Check your Salesforce org's field configurations
:::

:::Paragraph{listStyleType="disc" listStart="2" indent="1"}
Some fields may be read-only or have update restrictions based on your permissions
:::
::::

## Authentication

Include your API key in the request header:

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Quote/0Q0Em000006xbGDKAY' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json'
```

## Update Customer

Update an existing customer account.

### Request

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Customer/001D000000IRFmaIAH' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "phone": "+1-555-9876",
    "billingStreet": "456 New Street",
    "billingCity": "Los Angeles",
    "billingState": "CA"
  }'
```

### Updatable Customer Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field                | Type   | Description                    |
| -------------------- | ------ | ------------------------------ |
| `name`               | string | Account name                   |
| `email`              | string | Primary contact email          |
| `phone`              | string | Phone number                   |
| `industry`           | string | Industry classification        |
| `billingStreet`      | string | Billing street address         |
| `billingCity`        | string | Billing city                   |
| `billingState`       | string | Billing state/province         |
| `billingPostalCode`  | string | Billing postal code            |
| `billingCountry`     | string | Billing country                |
| `shippingStreet`     | string | Shipping street address        |
| `shippingCity`       | string | Shipping city                  |
| `shippingState`      | string | Shipping state/province        |
| `shippingPostalCode` | string | Shipping postal code           |
| `shippingCountry`    | string | Shipping country               |
| `billCycleDay`       | string | Day of month for billing cycle |
| `paymentTerm`        | string | Payment terms                  |
| `paymentMethod`      | string | Default payment method         |
| `description`        | string | Account description            |

## Update Opportunity

Update an existing sales opportunity.

### Request

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Opportunity/006D000000IqhSLIAZ' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "stage": "Negotiation",
    "probability": 75,
    "description": "Updated opportunity details"
  }'
```

### Update Opportunity Stage and Close Date

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Opportunity/006D000000IqhSLIAZ' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "stage": "Closed Won",
    "closeDate": "2025-03-15",
    "probability": 100
  }'
```

### Update Opportunity Subscription Dates

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Opportunity/006D000000IqhSLIAZ' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscriptionStartDate": "2025-04-01",
    "subscriptionEndDate": "2026-03-31",
    "subscriptionTerm": 12
  }'
```

### Updatable Opportunity Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field                   | Type   | Description                                                                  |
| ----------------------- | ------ | ---------------------------------------------------------------------------- |
| `name`                  | string | Opportunity name                                                             |
| `stage`                 | string | Current opportunity stage (e.g., "Prospecting", "Negotiation", "Closed Won") |
| `closeDate`             | date   | Expected close date                                                          |
| `accountId`             | string | Customer account ID                                                          |
| `probability`           | number | Confidence percentage (0-100)                                                |
| `description`           | string | Text description of the opportunity                                          |
| `nextStep`              | string | Next step in the sales process                                               |
| `discountAmount`        | number | Total discretional discount amount                                           |
| `discountPercentage`    | number | Discretional discount percentage                                             |
| `subscriptionStartDate` | date   | Start date for products or services                                          |
| `subscriptionEndDate`   | date   | End date for products or services                                            |
| `subscriptionTerm`      | number | Length of the subscription                                                   |
| `primaryQuoteId`        | string | ID of the primary quote for this opportunity                                 |

### Response

A successful update returns HTTP 200 with an empty body.

## Update Quote

Update an existing quote record.

### Request

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Quote/0Q0Em000006xbGDKAY' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Enterprise Edition 100 Licenses",
    "description": "Updated for renewal",
    "status": "Approved",
    "expirationDate": "2025-12-31"
  }'
```

### Update Quote Dates

When updating `subscriptionStartDate`, the quote's end date and applicable line item dates will be shifted accordingly.

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Quote/0Q0Em000006xbGDKAY' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "subscriptionStartDate": "2025-06-01"
  }'
```

### Update Primary Quote Status

Toggle whether a quote is the primary quote for an opportunity. This will synchronize or remove line items on the associated opportunity.

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Quote/0Q0Em000006xbGDKAY' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "isPrimaryQuote": true
  }'
```

### Updatable Quote Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field                       | Type    | Description                              |
| --------------------------- | ------- | ---------------------------------------- |
| `name`                      | string  | Quote name                               |
| `description`               | string  | Quote description                        |
| `status`                    | string  | Quote status (e.g., "Draft", "Approved") |
| `expirationDate`            | date    | Quote expiration date                    |
| `subscriptionStartDate`     | date    | Subscription start date                  |
| `subscriptionEndDate`       | date    | Subscription end date                    |
| `subscriptionTerm`          | number  | Subscription term length                 |
| `subscriptionTermDimension` | string  | Term unit (e.g., "Month", "Year")        |
| `isPrimaryQuote`            | boolean | Whether this is the primary quote        |
| `isTemplateQuote`           | boolean | Whether this is a template quote         |
| `opportunityId`             | string  | Associated opportunity ID                |
| `contactId`                 | string  | Contact ID                               |
| `billingAccountId`          | string  | Billing account ID                       |
| `email`                     | string  | Email address                            |
| `phone`                     | string  | Phone number                             |
| `paymentMethod`             | string  | Payment method                           |
| `paymentMethods`            | string  | Available payment methods                |
| `paymentTerm`               | string  | Payment terms                            |
| `autoRenew`                 | boolean | Auto-renewal flag                        |
| `billingName`               | string  | Billing recipient name                   |
| `billingStreet`             | string  | Billing street address                   |
| `billingCity`               | string  | Billing city                             |
| `billingState`              | string  | Billing state/province                   |
| `billingPostalCode`         | string  | Billing postal code                      |
| `billingCountry`            | string  | Billing country                          |
| `shippingName`              | string  | Shipping recipient name                  |
| `shippingStreet`            | string  | Shipping street address                  |
| `shippingCity`              | string  | Shipping city                            |
| `shippingState`             | string  | Shipping state/province                  |
| `shippingPostalCode`        | string  | Shipping postal code                     |
| `shippingCountry`           | string  | Shipping country                         |

### Response

A successful update returns HTTP 200 with an empty body.

## Update Quote Line Item

Update an existing quote line item.

### Request

```bash
curl -X PATCH 'https://api.nue.io/api/objects/QuoteLineItem/0QLEm000001ojarOAA' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "quantity": 10,
    "discount": 15,
    "description": "Updated line item"
  }'
```

### Updatable Quote Line Item Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field                   | Type    | Description             |
| ----------------------- | ------- | ----------------------- |
| `quantity`              | number  | Line item quantity      |
| `discount`              | number  | Discount percentage     |
| `discountAmount`        | number  | Discount amount         |
| `description`           | string  | Line item description   |
| `listPrice`             | number  | List price per unit     |
| `unitPrice`             | number  | Sales price per unit    |
| `subscriptionStartDate` | date    | Subscription start date |
| `subscriptionEndDate`   | date    | Subscription end date   |
| `subscriptionTerm`      | number  | Subscription term       |
| `autoRenew`             | boolean | Auto-renewal flag       |
| `billingPeriod`         | string  | Billing period          |
| `billingTiming`         | string  | Billing timing          |
| `paymentTerm`           | string  | Payment terms           |

### Response

A successful update returns HTTP 200 with an empty body.

## Update Order

Update an existing order, such as changing its status.

### Activate an Order

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Order/801Em000011N4dNIAS' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "Activated"
  }'
```

### Update Order Fields

```bash
curl -X PATCH 'https://api.nue.io/api/objects/Order/801Em000011N4dNIAS' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "description": "Updated order description",
    "poNumber": "PO-2025-001",
    "poDate": "2025-01-15"
  }'
```

### Updatable Order Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field         | Type   | Description                               |
| ------------- | ------ | ----------------------------------------- |
| `status`      | string | Order status (e.g., "Draft", "Activated") |
| `description` | string | Order description                         |
| `poNumber`    | string | Purchase order number                     |
| `poDate`      | date   | Purchase order date                       |

### Response

A successful update returns HTTP 200 with an empty body.

## Update Order Product

Update an existing order line item.

### Request

```bash
curl -X PATCH 'https://api.nue.io/api/objects/OrderProduct/802D000000IZ4ABCD' \
  -H 'nue-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "quantity": 15,
    "description": "Updated quantity"
  }'
```

### Updatable Order Product Fields (Examples)

The following fields are commonly updatable. Your actual fields depend on your metadata configuration and permissions.

| Field                   | Type   | Description             |
| ----------------------- | ------ | ----------------------- |
| `quantity`              | number | Line item quantity      |
| `discount`              | number | Discount percentage     |
| `discountAmount`        | number | Discount amount         |
| `description`           | string | Line item description   |
| `subscriptionStartDate` | date   | Subscription start date |
| `subscriptionEndDate`   | date   | Subscription end date   |
| `subscriptionTerm`      | number | Subscription term       |

### Response

A successful update returns HTTP 200 with an empty body.
