Performs a partial update on an existing proposal. You can rename the proposal, reassign it to a different salesperson, or do both in a single request. Both body fields are optional — any field you omit keeps its current value. The salesperson must be a user belonging to the same account. The response returns the complete updated proposal detail.Documentation Index
Fetch the complete documentation index at: https://docs.portal.io/llms.txt
Use this file to discover all available pages before exploring further.
Request
POST /public/proposals/{ProposalId}
Headers
Must be
application/json.Must be
application/x-www-form-urlencoded.Your API Application Key.
Your User API Key obtained from the authentication exchange.
Current UTC timestamp in RFC 7231 format, e.g.
Mon, 06 Apr 2026 00:22:19 GMT.HMAC-SHA256 signature of the canonical request message, Base64-encoded.
Path Parameters
The unique numeric ID of the proposal to update. Must belong to the current account.
Body Parameters
New display name for the proposal. If omitted, the current name is retained.
ID of the new salesperson to assign. Must be a user in the current account. If omitted, the current salesperson is retained.
A
409 Conflict is returned if the proposal is in a terminal state (e.g. accepted, cancelled) that prevents editing. Check the proposal’s status field before attempting updates.Response
200 Success
Returns the full updated proposal detail. See Get Proposal for the complete field reference. Key fields:Unique numeric ID of the proposal.
Proposal number unique within the dealer account.
Updated display name of the proposal.
Current proposal status.
ISO 8601 timestamp reflecting the update just performed.
ISO 8601 timestamp when the proposal was last modified by a human user.
Full financial breakdown. See Get Proposal for field details.
Dealer account details.
Details of the user who last modified the proposal.
Error Codes
| Code | Meaning |
|---|---|
| 401 | Not authorized. Check that your HMAC signature and headers are correct. |
| 402 | The account’s subscription is inactive or expired. |
| 403 | Your user does not have permission to update this proposal. |
| 404 | No proposal found with the given ProposalId. |
| 409 | The proposal’s current state prevents editing (e.g. terminal status). |