Overview and Workflow

To reduce the amount of manual data entry required to submit a proposal to a planner’s RFP, Cvent supports pre-populating data (“base payload”) on its Proposal object through our API. Your users can then access the Cvent UI at a later time to review the pre-populated data, fill out the remaining proposal fields, and submit the proposal. Your application will submit the base payload by making a call to our Proposal Create endpoint.

Once you receive a response from Cvent’s Proposal API indicating the proposal object was successfully created, navigate users to the Cvent Proposal Wizard to complete and submit the proposal. The Cvent Proposal Wizard can be accessed by replacing {rfpId} and {supplierId} in the following URL template with the IDs for the RFP the proposal is being created for and venue (supplier) creating the proposal, respectively: https://app.cvent.com/a.aspx?2B,P1,{rfpId},Q2,{supplierId}

Your users will need to log into Cvent using their username or password as part of this process. Optionally, you can utilize Single Sign-On (SSO) functionality to authenticate the user into Cvent without them having to manually provider their Cvent account number, username, and password. For more information about Cvent’s SSO capabilities, please visit Single Sign-On

If you would like information about the proposal being submitted within Cvent to be returned to your application:

  • Cvent will emit a RESPONSESUBMIT_PROPOSAL event through the PNS to your PNS endpoint when the proposal is submitted to the planner. You can use this event to record that the proposal was successfully submitted in your system, and optionally retrieve the full details of the proposal by requesting the response that matches the RFP and Supplier IDs specified in the RESPONSE_SUBMIT PROPOSAL event notification.

Proposal Create

Creates (but does not submit) a proposal object.

Supported Methods

Creates a proposal for the specified supplier and RFP.

Request POST

https://api.cvent.com/rfp-response/v1/rfp/<rfpId>/supplier/<supplierId>/proposal

Response Codes

| Code | Response | | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | 200 | Request completed successfully | | 206 | Some part of request body did not pass validation checks and was not updated. For a list of scenarios where this response code can occur, see “Error 206 Causes” | | | 403 | A user without the required permissions has attempted to create a proposal for the RFP and Supplier ID combination | | 404 | An RFP or supplier with the specified rfpId or supplierId was not found | | 422 | There was an issue with proposal data passed to the API. For a list of scenarios where this response code can occur, see “Error 422 Causes” |

Request Body Type

application/json

Request Body Schema

Response-Post/proposal.json

Response Example

Returns proposal link with new secure code, to continue with submitting the proposal

{
   "message":"Proposal created successfully",
   “proposalCreationPageUrl”: “Url to Proposal creation page”
}

Error 422 Causes

A 422 error indicates that data submitted to Cvent did not pass validation checks. Causes for a validation check to fail are:

  1. No request body data is not specified when making the POST call to the /proposal end-point
  2. Contact information is not specified
  3. The contact email is in an invalid format
  4. proposedOption information is not specified
  5. When the RFP indicates event dates are not flexible, but the proposal provides proposedOptions for dates other than those the planner provided.
  6. More than one proposedOption specifies the same start and end date
  7. When there is a mismatch in RFP’s preferred dates and the dates marked as preferred in the proposal’s proposedOption array.
  8. When there is a mismatch in RFP dates marked by the planner as planner-suggested & dates marked as planner suggested in the proposal’s event availability object.
  9. When availability for a proposedOption is AVAILABLE_FIRST_OPTION and any of the following are true:
    • The hold flag was not specified
    • The hold flag was set to true, but no hold expiration date was specified
    • The hold expiration date is on or after the start date
  10. The start date for the RFP the proposal is being created for is more than 90 days in the past
  11. When a proposedOption falls into any one of the following scenarios:
    • The start date is given without end date
    • The end date is given without the start date
    • The start date is in the past
    • The end date is in the past
    • The end date is before its start date
    • The start date and end date span more than 90 days
  12. When the RFP indicates event dates are flexible, the supplier submits a proposedOption in the proposal that does not match any dates provided by the planner on the RFP, and the availability for that proposedOption is specified as NOT_AVAILABLE
  13. When the planner requested the supplier to provide availability information for all dates, but the proposal does not specify a proposedOption for one or more of them
  14. When agenda items fall in any one of the following scenarios:
    • Agenda id or name in proposal does not match with planner requested agenda item and name
    • Agenda item is passed for Convention center or Conference center type venues
    • Agenda Items are not requested by planner but passed in proposal
    • Duplicate agenda ids are present in the agenda item list
    • Any two agenda items have different room size units
    • For Opted in agenda items i.e. isOptedOut = false
      • Room name is not specified
      • Room size is not specified
      • Room size units are not specified
    • For Opted out agenda items i.e. isOptedOut = true
      • Room name is specified
      • Room size is specified
      • Ceiling height is specified
      • Notes are not specified
  15. When proposal event space fall in any one of the following scenarios:
    • Event space is passed for a venue which is not a Convention center or Conference center type
    • Event spaces are not requested in rfp
    • Agenda items must be provided when hasAgendaItems is true
    • Agenda items are provided in proposal event space but hasAgendaItems is false
    • Agenda items are not provided in proposal event space but hasAgendaItems is true
    • Event start date is after event end date for event space
    • Move in date is after move out date for event space
  16. When meeting packages fall in any one of the following scenarios:
    • Day number is invalid, meaning it is less than 1 or more than total number of event duration/room nights
    • Meeting Package is provided for dates marked as NOT_AVAILABLE.
    • Rate is not specified for package pricing.
    • Rate is less than or equal to 0.

Error 206 Causes

A 206 error indicates that some partial/complete data submitted to Cvent did not pass validation checks. Causes for a validation check to fail are:

  1. When an additional question answer falls in any one of the following scenarios:
    • Question Id in the request does not match any of the rfp question id
    • Multiple entries with the same question id exist
    • Answers for required questions are not provided in the request
    • If the type of supplier does not fall in the supplier types mentioned in the rfp question
    • For an OPEN_ENDED Comment additional question
      • If min length is defined for question but the answer text length is less than min length
      • If max length is defined for question but the answer text length is more than max length
    • For an OPEN_ENDED Oneline additional question
      • If min length is defined for question but the answer text length is less than min length
      • If max length is defined for question but the answer text length is more than max length
      • If the answer text does not match the answer format type defined in the question
    • For an OPEN-ENDED Date only additional question
      • If more than one answer is in the request for the same question
      • If the date is not in format ‘YYYY-MM-DD’
      • If the answer date is before the min date defined in the question
      • If the answer date is after the max date defined in the question
    • For an OPEN-ENDED DateTime additional question
      • If more than one answer is in the request for the same question
      • If the date time is not in format ‘YYYY-MM-DDTHH:mm:ss’
      • If the answer date time is before the min date time defined in the question
      • If the answer date time is after the max date time defined in the question
    • For a single choice additional question
      • If more than one answer is in the request for the same question
      • If Other is not allowed in the question but it is being passed in the answer
      • If ‘Other’ is selected and answer text corresponding to ‘Other’ choice is empty
      • If Not Applicable is not allowed in the question but it is being passed in the answer
      • If the answer text is not a valid choice in the question
    • For a multi choice additional question
      • If minimum selections is defined for question and the number of answers being passed is less than the minimum selections
      • If maximum selections is defined for question and the number of answers being passed is more than the maximum selections
      • If Other is not allowed in the question but it is being passed in the answer
      • If ‘Other’ is selected and answer text corresponding to ‘Other’ choice is empty
      • If Not Applicable is not allowed in the question but it is being passed in the answer
      • If the answer text is not a valid choice in the question

Generating a Secured URL to Access a Proposal

The URL returned by Cvent in response to a successful create proposal call is valid for a single use only. In the event your application needs to provide a user with access to a proposal after the proposal creation call has been made, it can ask Cvent to generate a new one-time-use URL using the end-point below. Each one-time URL requested will have a different code appended in the URL that will tie that URL to a single use, and every URL will expire after 60 minutes. After 60 minutes, users will need to be provided a new one-time-use URL by your application to regain access to the proposal, or request a One-Time-Password (OTP) be emailed to them for them to manually enter to log in and view the proposal.

GET Request

https://api.cvent.com/rfp-response/v1/rfp/<rfpId>/supplier/<supplierId>/link

Request Body Type

application/json

Response Example

Returns proposal link with new secure code, to continue with submitting the proposal.

{“proposalCreationPageUrl”: “URL to Proposal Wizard page”}

Response Codes

CodeResponse
200Request completed successfully
403An application without the required permissions has attempted to create a proposal for the RFP and Supplier ID combination
404An RFP or supplier with the specified rfpId or supplierId was not found
Last updated on