Skip to content

Get partner portal quote

Get a quote header and its lines for a quote on an opportunity registered under the authenticated partner organization. Prices are pending after a save until the header's lastCalculatedOn is at or after lastSavedOn; poll with backoff and a bounded number of attempts.

POST/api/partnerportal/getQuote

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 read 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 getting a quote and its lines belonging to the authenticated partner organization.

quoteIdstring | nullbodyrequired

Identifier of the Salesforce quote

Response

200 OK

application/json · object

Response object containing a quote header and its lines.

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
linesobject[] | null

Quote lines, ordered by line number

Show child attributes
additionalDiscountAmountnumber | null

Additional discount amount

additionalDiscountPercentnumber | null

Additional discount percent

contractEndDateTimestring | null

Contract end date and time, as returned by Salesforce

contractStartDateTimestring | null

Contract start date and time, as returned by Salesforce

creatorEntitystring | null

System that created the line; lines with a value cannot be updated or deleted

discountFromMsrpnumber | null

Discount from MSRP

listPricenumber | null

List price (MSRP)

netTotalnumber | null

Net total of the line

netUnitPricenumber | null

Net unit price

numberinteger<int32> | null

Line number on the quote

partnerDiscountnumber | null

Partner discount

productCodestring | null

Product code (SKU)

productIdstring | null

Identifier of the Salesforce product

productNamestring | null

Name of the product

quantitynumber | null

Quantity

quoteLineIdstring | null

Identifier of the Salesforce quote line

shippingNeededstring | null

Whether the line needs shipping

shippingPricenumber | null

Shipping price

subscriptionTerminteger<int32> | null

Subscription term in months

tariffSurchargenumber | null

Tariff surcharge

taxnumber | null

Tax amount

taxRatenumber | null

Tax rate

quoteobject

Header fields of a partner quote. Prices are recalculated asynchronously after a save and are pending until lastCalculatedOn is at or after lastSavedOn.

Show child attributes
additionalDiscountOverrideboolean | null

Whether the additional discount is overridden

additionalDiscountPercentnumber | null

Quote-level additional discount percent

approvalStatusstring | null

Approval status of the quote

billAttentionTostring | null

Bill-to attention

billingCitystring | null

Bill-to city

billingCountrystring | null

Bill-to country

billingNamestring | null

Bill-to name

billingPostalCodestring | null

Bill-to postal code

billingStatestring | null

Bill-to state

billingStreetstring | null

Bill-to street

channelstring | null

Sales channel of the quote

discountOffMsrpOverrideboolean | null

Whether the discount off MSRP is overridden

groupByBillOnlyOnPdfboolean | null

Whether bill-only lines are grouped on the quote PDF

lastCalculatedOnstring | null

Date and time prices were last calculated, as returned by Salesforce

lastModifiedDatestring | null

Date and time the quote was last modified; send as expectedLastModifiedDate on updateQuote

lastSavedOnstring | null

Date and time of the last partner portal save; prices are pending while lastCalculatedOn is earlier than this value

netAmountnumber | null

Net amount of the quote

opportunityIdstring | null

Identifier of the Salesforce opportunity the quote belongs to

opportunityTypestring | null

Type of the opportunity; subscription term is only editable on Renewal opportunities

partnerEditableboolean | null

False when the opportunity is not a converted deal registration or is a renewal; partners may view but not change it. Stage locks apply separately.

pricebookIdstring | null

Identifier of the price book the quote is priced from

primaryboolean | null

Whether this is the primary quote on the opportunity

quoteIdstring | null

Identifier of the Salesforce quote

quoteNamestring | null

Display name of the quote

quoteNumberstring | null

Salesforce quote record name

shipAttentionTostring | null

Ship-to attention

shippingnumber | null

Shipping amount

shippingCitystring | null

Ship-to city

shippingCountrystring | null

Ship-to country

shippingMethodstring | null

Shipping method

shippingNamestring | null

Ship-to name

shippingPostalCodestring | null

Ship-to postal code

shippingPriceOverrideboolean | null

Whether the shipping price is overridden

shippingStatestring | null

Ship-to state

shippingStreetstring | null

Ship-to street

statusstring | null

Status of the quote

taxnumber | null

Tax amount

uncalculatedboolean | null

Whether prices are pending recalculation after the last save

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.