Skip to content

Update partner portal quote

Save header edits and line adds, updates and deletes to a quote on an opportunity registered under the authenticated partner organization, in one transaction. expectedLastModifiedDate must be the lastModifiedDate from getQuote. Prices are pending until getQuote returns lastCalculatedOn at or after lastSavedOn; poll getQuote with backoff and a bounded number of attempts.

POST/api/partnerportal/updateQuote

Authorizations

x-auth-apikeystringheaderrequired

Your Rhombus API key. Must be accompanied by the x-auth-scheme header set to api-token (or partner-api-token for partner endpoints).

Authorizationstringheader

Instead of an API key, an OAuth access token: Bearer <token>, with the write scope.

OAuth explains tokens and scopes.

Headers

x-auth-schemeenum<string>headerdefault: partner-api-token

Authentication scheme identifier. Use api-token or partner-api-token with the x-auth-apikey header, api or partner-api with x-auth-apikey plus a client certificate, api-oauth-token or partner-api-oauth-token with x-auth-access-token, and federated-token with x-auth-ft. A request with Authorization: Bearer <token> and no x-auth-scheme is treated as OAuth, and federated-token may also be sent as the x-auth-scheme and x-auth-ft query parameters.

Available options: api-token, api, api-oauth-token, federated-token, partner-api-token, partner-api, partner-api-oauth-token

Body

application/json · object

Request object for saving header edits and line adds, updates and deletes to a quote belonging to the authenticated partner organization, applied in one transaction. At least one change is required, and at most 200 line operations are allowed per save. Prices are recalculated asynchronously afterwards.

addLinesobject[] | nullbody

Lines to add

Show child attributes
contractStartDatestring | nullbody

Contract start date in yyyy-MM-dd format; only accepted for term products or trial quotes

productCodestring | nullbodyrequired

Product code (SKU) of an active Standard Price Book product

quantitynumber | nullbodyrequired

Quantity

shippingPricenumber | nullbody

Line shipping price. Only allowed when the quote's Shipping Price Override is checked.

subscriptionTerminteger<int32> | nullbody

Subscription term in months; only accepted on Renewal opportunities

deleteLineIdsstring[] | nullbody

Identifiers of existing lines to delete

expectedLastModifiedDatestring | nullbodyrequired

The quote's lastModifiedDate from the most recent getQuote; the save is rejected if the quote has changed since

quoteobjectbody

Quote header edits. Omitted fields, and blank address fields, are left unchanged.

Show child attributes
billAttentionTostring | nullbody

Bill-to attention

billingCitystring | nullbody

Bill-to city

billingCountrystring | nullbody

Bill-to country; must be a valid Salesforce Billing Country picklist value, e.g. "United States"

billingNamestring | nullbody

Bill-to name

billingPostalCodestring | nullbody

Bill-to postal code

billingStatestring | nullbody

Bill-to state; must be a valid Salesforce Billing State picklist value for the quote's billing country, e.g. "California". Required when billingCountry changes to a country that has states.

billingStreetstring | nullbody

Bill-to street

shipAttentionTostring | nullbody

Ship-to attention

shippingCitystring | nullbody

Ship-to city

shippingCountrystring | nullbody

Ship-to country

shippingMethodstring | nullbody

Shipping method

shippingNamestring | nullbody

Ship-to name

shippingPostalCodestring | nullbody

Ship-to postal code

shippingPriceOverrideboolean | nullbody

Whether the shipping price is overridden

shippingStatestring | nullbody

Ship-to state

shippingStreetstring | nullbody

Ship-to street

quoteIdstring | nullbodyrequired

Identifier of the Salesforce quote

updateLinesobject[] | nullbody

Existing lines to update

Show child attributes
contractStartDatestring | nullbody

Contract start date in yyyy-MM-dd format; only accepted for term products or trial quotes

quantitynumber | nullbody

Quantity

quoteLineIdstring | nullbodyrequired

Identifier of the Salesforce quote line to update

shippingPricenumber | nullbody

Line shipping price. Only allowed when the quote's Shipping Price Override is checked.

subscriptionTerminteger<int32> | nullbody

Subscription term in months; only accepted on Renewal opportunities

Response

200 OK

application/json · object

Response object containing the result of saving changes to a quote.

addedLineIdsstring[] | null

Identifiers of the lines that were added, in request order

deletedLineIdsstring[] | null

Identifiers of the lines that were deleted

errorboolean | null
errorCodestring | null

Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.

errorMsgstring | null
quoteIdstring | null

Identifier of the updated Salesforce quote

recalcQueuedboolean | null

Whether a price recalculation was queued for the save

savedAtstring | null

Date and time the save was recorded; prices are current once getQuote returns a lastCalculatedOn at or after this value

updatedLineIdsstring[] | null

Identifiers of the lines that were updated

warningMsgstring | null

Errors

Like every operation, this one can also answer with the standard error body (errorCode, errorMsg). Errors explains each status and how to retry.

  • 400 Bad Request. errorCode is one of: BAD_REQUEST, VALIDATION_FAILED, MISSING_REQUIRED_FIELD, INVALID_JSON, INVALID_REQUEST_BODY, FEATURE_NOT_ENABLED, INVALID_AUTH_ORG, LOCATION_NOT_FOUND, SELF_PROVISIONING_DISABLED, SKU_NOT_ALLOWED, QUANTITY_INVALID, AUTO_RENEW_REQUIRED, PROVISION_CAP_EXCEEDED, ACKNOWLEDGEMENT_REQUIRED, SIGNATURE_REQUIRED, APEX_VALIDATION, SKU_NOT_IN_PRICEBOOK.
  • 401 Unauthorized. errorCode is one of: UNAUTHENTICATED, INVALID_CREDENTIAL, CREDENTIAL_EXPIRED, CREDENTIAL_REVOKED, CERTIFICATE_MISMATCH.
  • 403 Forbidden. errorCode is one of: FORBIDDEN, DOMAIN_NOT_ALLOWED, DEVICE_SCOPE_MISMATCH, ROLE_NOT_PERMITTED, FUNCTIONALITY_REQUIRED, PARTNER_FUNCTIONALITY_REQUIRED, PERMISSION_REQUIRED, PARTNER_CLIENT_ACCESS_DENIED, HARDWARE_NOT_AVAILABLE, HARDWARE_ALREADY_REGISTERED, PARTNER_PORTAL_NOT_ENABLED, MANAGED_BY_MSP, SUPER_ADMIN_RESTRICTED_BY_MSP, MSP_DESIGNATION_INVALID, NOT_MANAGED_CLIENT, NOT_VERIFIED_MSP, ORDER_NOT_YOURS.
  • 429 Too Many Requests. errorCode is one of: RATE_LIMITED, QUOTE_RATE_LIMITED.
  • 500 Internal Server Error. errorCode is one of: INTERNAL_ERROR.
  • 503 Service Unavailable. errorCode is one of: SERVICE_UNAVAILABLE, SALESFORCE_UNAVAILABLE.