Use this endpoint to associate an existing contact with a proposal. Both the proposal and contact must belong to the same account. If the contact has exactly one primary location, the API automatically assigns that location to the proposal at the same time. When a location is set — either automatically here or explicitly via the assign-location endpoint — tax calculations are recalculated based on the contact’s location data.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.
A proposal must have a contact assigned before you can assign a location. Attempting to assign a location to a proposal with no contact returns 409.
Request
POST /public/proposals/{ProposalId}/contact/{ContactId}
Headers
Must be
application/json.Must be
application/json.Your API Application Key.
Your User API Key.
Current UTC timestamp in RFC 7231 format.
HMAC-SHA256 signature, Base64-encoded.
Path Parameters
The unique ID of the proposal. Must belong to the current account.
The unique ID of the contact to assign. Must belong to the same account as the proposal.
Body Parameters
Must match the
ProposalId path parameter. ID of the proposal to update.Must match the
ContactId path parameter. ID of the contact to assign.Response
200 Success
The contact was successfully assigned.Error Codes
| Code | Meaning |
|---|---|
| 401 | Not authorized. Invalid or missing HMAC authentication headers. |
| 402 | Active subscription required. |
| 403 | You do not have permission for this action. |
| 404 | Proposal or contact not found. |