Skip to main content
Updates the client-facing project description for a proposal. This description appears on customer-facing proposal documents sent to the client, so it should describe the project in terms the customer will understand. The request accepts a single Description string and returns the complete updated proposal detail.

Request

POST /public/proposals/{ProposalId}/description

Headers

Accept
string
required
Must be application/json.
Content-Type
string
required
Must be application/x-www-form-urlencoded.
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 update.

Body Parameters

Description
string
The client-facing project description to save on the proposal. This text is visible to customers on proposal documents.
A 409 Conflict is returned if the proposal is in a terminal state that prevents editing. Check the proposal’s status field before attempting updates.

Response

200 Success

Returns the full updated proposal detail object. The structure is identical to the Get Proposal response.
id
integer
required
Unique numeric ID of the proposal.
lastModifiedDate
string
ISO 8601 timestamp reflecting the update just performed.
financialSummary
object
Full financial breakdown. See Get Proposal for field details.

Error Codes

CodeMeaning
401Not authorized. Check that your HMAC signature and headers are correct.
402The account’s subscription is inactive or expired.
403Your user does not have permission to update this proposal.
404No proposal found with the given ProposalId.
409The proposal’s current state prevents editing (e.g. terminal status).

Example

curl -i -X POST \
  'https://sandbox.api.portal.io/public/proposals/1042/description' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -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' \
  -d 'Description=Whole-home+AV+and+lighting+control+system+for+new+construction.'
{
  "id": 1042,
  "createdDate": "2026-03-10T14:00:00Z",
  "lastModifiedDate": "2026-04-06T00:22:19Z",
  "lastModifiedByUserDate": "2026-04-06T00:22:19Z",
  "financialSummary": {
    "partsSubtotal": 8000.00,
    "partsTotal": 8000.00,
    "laborTotal": 2500.00,
    "feeTotal": 0,
    "proposalSubtotal": 10500.00,
    "salesTax": {
      "taxStatus": "Taxable",
      "total": 892.50
    },
    "proposalTotal": 11392.50
  }
}