Skip to main content
POST
/
public
/
proposals
/
{ProposalId}
/
contact
/
{ContactId}
curl -i -X POST \
  'https://api.portal.io/public/proposals/123/contact/456' \
  -H 'Accept: application/json' \
  -H 'Content-Type: 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' \
  -d '{"proposalId": 123, "contactId": 456}'
// No content returned on success
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.
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.
curl -i -X POST \
  'https://api.portal.io/public/proposals/123/contact/456' \
  -H 'Accept: application/json' \
  -H 'Content-Type: 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' \
  -d '{"proposalId": 123, "contactId": 456}'
// No content returned on success

Headers

Accept
enum<string>
required

Accept Header

Available options:
application/json
X-MSS-API-APPID
string
required

Application Id

X-MSS-CUSTOM-DATE
string
required

A date timestamp of the request

X-MSS-SIGNATURE
string
required

A signature for the request

X-MSS-API-USERKEY
string
required

User API Key

Path Parameters

ProposalId
integer<int32>
required

Proposal Id.

ContactId
integer<int32>
required

Contact Id.

Body

application/json

Proposals Service

proposalId
integer<int32>
required

Proposal Id.

contactId
integer<int32>
required

Contact Id.

Response

No Content