Skip to main content
Returns complete detail for the specified proposal, including all areas, options, customer information, and a full financial summary. The HTTP response also sets a Last-Modified header derived from the proposal’s lastModifiedDate, which you can use for conditional request patterns.

Request

GET /public/proposals/{ProposalId}

Headers

Accept
string
required
Must be application/json.
X-MSS-API-APPID
string
required
Your API Application Key.
X-MSS-API-USERKEY
string
required
Your User API Key obtained from the authentication exchange.
X-MSS-CUSTOM-DATE
string
required
Current UTC timestamp in RFC 7231 format, e.g. Mon, 06 Apr 2026 00:22:19 GMT.
X-MSS-SIGNATURE
string
required
HMAC-SHA256 signature of the canonical request message, Base64-encoded.

Path Parameters

ProposalId
integer
required
The unique numeric ID of the proposal to retrieve. This is the id field returned by the list or create endpoints — not the human-readable proposal number.

Response

200 Success

The response Last-Modified header is set to the proposal’s lastModifiedDate.
id
integer
required
Unique numeric ID of the proposal.
createdDate
string
ISO 8601 timestamp when the proposal was created.
lastModifiedDate
string
ISO 8601 timestamp of the most recent modification. This value is also sent as the Last-Modified response header.
financialSummary
object
Full financial breakdown including parts, labor, fees, discounts, and tax totals.
areas
array
The proposal’s areas (rooms), each containing one or more options with line items.
customer
object
Customer contact details associated with this proposal.

Error Codes

CodeMeaning
401Not authorized. Check that your HMAC signature and headers are correct.
403Your user does not have permission to view this proposal.

Example

curl -i -X GET \
  'https://sandbox.api.portal.io/public/proposals/1042' \
  -H 'Accept: application/json' \
  -H 'X-MSS-API-APPID: YOUR_APP_ID' \
  -H 'X-MSS-API-USERKEY: YOUR_USER_KEY' \
  -H 'X-MSS-CUSTOM-DATE: Mon, 06 Apr 2026 00:22:19 GMT' \
  -H 'X-MSS-SIGNATURE: BASE64_SIGNATURE'
{
  "id": 1042,
  "createdDate": "2026-03-10T14:00:00Z",
  "clientLastDecisionDate": null,
  "lastCompletedDate": null,
  "lastModifiedDate": "2026-04-01T09:30:00Z",
  "lastModifiedByUserDate": "2026-04-01T09:30:00Z",
  "financialSummary": {
    "partsSubtotal": 8000.00,
    "partsTotal": 8000.00,
    "laborTotal": 2500.00,
    "feeTotal": 0,
    "proposalSubtotal": 10500.00,
    "salesTax": {
      "taxStatus": "Taxable",
      "total": 892.50
    },
    "proposalTotal": 11392.50
  },
  "areas": [],
  "customer": {
    "id": 88,
    "firstName": "Jane",
    "lastName": "Smith",
    "companyName": "",
    "contactEmail": "jane.smith@example.com"
  }
}