Skip to main content
Updates the internal notes (installer project description) on a proposal. These notes are visible only to your team and are never shown on client-facing proposal documents. Use this field to record installation details, site conditions, or coordination notes that are relevant to your crew but not appropriate for customer documents. The response returns the complete updated proposal detail.

Request

POST /public/proposals/{ProposalId}/internalnotes

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

InternalNotes
string
New internal notes to save on the proposal. This text is only visible to the dealer’s team and does not appear on any customer-facing documents.
Internal notes are strictly dealer-side content. They are never included in proposal PDFs or portal views that are shared with customers.

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 resource found with the given ProposalId.

Example

curl -i -X POST \
  'https://sandbox.api.portal.io/public/proposals/1042/internalnotes' \
  -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 'InternalNotes=Pre-wire+complete.+Confirm+rack+location+with+homeowner+before+rough-in.'
{
  "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
  }
}