Cvent Event Cloud RFP Management API

RFP (Request for Proposal) management APIs for core RFP operations including CRUD operations for base RFPs.

Operations 3

GET /rfps/lead-sources/{leadSourceId} Get RFP Lead Source #
GET /rfps/lead-sources/{leadSourceId}/sections/{leadSourceSectionId} Get RFP Lead Source Section #
GET /rfps/{rfpId} Get RFP #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cvent-event-cloud-rfp-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cvent-event-cloud-rfp-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cvent REST RFP Management API
  description: "# Introduction\nThe Cvent API Platform is built around REST. We aim to provide intuitive endpoints that can be easily\ndiscovered to help leverage the Cvent platform for your event needs. The RESTful APIs outlined here\nuse JSON-encoded request and response format, along with HTTP codes, to convey processing status of\nrequests received. The Cvent resources are protected using OAuth2.\n\n# Getting Started\n\nIf you're new to the Cvent API Platform, start by reading our\n[Developer Quickstart](https://developers.cvent.com/docs/rest-api/tutorials/developer-quickstart) guide. This will\ngive you an overview of how to authenticate and make requests using our APIs.\n\n## Authentication\n\nThe Cvent REST API uses [OAuth2](https://oauth.net/2/) to authorize requests to the platform. The client\ncredentials authorization flow is supported.\n\n<a name=\"oauth2-auth-code-planner-admin\"></a>\n\nAuthorization code flow is only supported for planner users with the administrator role in Cvent. Developer users\ncannot use authorization code flow.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\nHere's an example of using client credential flow to authorize. You'll supply your application's id and secret to\nmake a [Token](#operation/oauth2Token) request.\n\n```bash\ncurl --location --request POST '{hostName}/{version}/oauth2/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n--header 'Authorization: Basic {api_credentials}' \\\n--data-urlencode 'grant_type=client_credentials' \\\n--data-urlencode 'client_id={client_id}'\n```\n\n| Key               | Description                                          | Value                                                                                                        |\n| :---------------- | :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |\n| {hostName}        | https://api-platform.cvent.com                       | Location if your account is in the North American datacenter.                                                |\n|                   | https://api-platform-eur.cvent.com                   | Location if your account is in the European data center.                                                     |\n| {version}         | ea                                                   | The version of the API you're using. Only `ea` is currently supported.                                       |\n| {api_credentials} | {client_id}:{client_secret} in base64 encoded format | Supply your client id & client credentials in a base 64 encoded format.                                      |\n| {client_id}       | Retrieved from your application                      | Your application's client id.                                                                                |\n| {client_secret}   | Retrieved from your application                      | Your application's client secret.                                                                            |\n\nOn a successful call, you'll receive the following response:\n\n```json\n{\n  \"access_token\": \"{accessToken}\",\n  \"expires_in\": 3600,\n  \"token_type\": \"Bearer\"\n}\n```\n\nThis bearer token is valid for 3600 seconds (60 minutes) and must be used in subsequent calls.\n\n## Endpoints\n\nEndpoints start with `hostName` and `version`.\n\nThe `hostname` will depend on the region that your Cvent account is hosted in. Please see the table\nbelow to identify which hostname you should be using.\n\n| Region        |\tHostname                           |\n|:--------------|:-----------------------------------|\n| North America\t| https://api-platform.cvent.com     |\n| Europe        | https://api-platform-eur.cvent.com |\n\nThe current `version` of the Cvent API is `ea`.\n\n## Rate Limits\n\nCvent APIs enforce rate limits to ensure platform stability. Your limits depend on your tier: Free,\nStandard, or Premium.\n\n<br />\n\n### Usage Tiers\n\n| Tier     | Daily Calls | Calls per Second | Max Burst |\n| -------- | ----------- | ---------------- | --------- |\n| Free     | 1,000       | 2                | 1         |\n| Standard | 15,000      | 10               | 10        |\n| Premium  | 500,000     | 25               | 25        |\n\n- **Daily calls** define how many requests you can make in a 24-hour period. Quota\n  resets at 12 midnight (+0 GMT).\n- **Calls per second** define how many requests you can make in a 1-second window.\n- **Max Burst** defines how many requests you can make at once.\n\nIf you are unsure what usage tier applies to your account, you can check via\n[Get Current Usage Tier](#operation/getUsageTier).\n\nPlease note that these limits may change as the Cvent API Platform evolves.\n\n<br />\n\n### Handling Rate Limits\n\nSometimes, you may exceed your rate limits. When this happens, the API will return a `429 Too Many Requests`. See\n[handling rate limits](https://developers.cvent.com/docs/rest-api/guides/handling-rate-limits) for best practices on how to handle this.\n\n## Pagination\n\nSome APIs use pagination to manage records. Each page of records has a token associated to identify it.\n\nIf an API uses pagination, you’ll find up to three tokens in the response:\n- **currentToken**: Describes the token of the current page.\n- **nextToken**: Provides a token for the next page of records, if one exists.\n- **previousToken**: Provides a token for the previous page of records, if one exists. Not all APIs will return\n  this token.\n\nYou specify which page of records to view via the `token` parameter in your API call. To navigate through pages,\ntake the `nextToken` or `previousToken` value and pass it to your next call’s `token` parameter to get the\nrespective page of records. For example, if you made this request:\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nThe response contains a paging array where you'll find the token information.\n\n```json\n{\n  \"paging\": {\n    \"currentToken\": \"90c5f062-76ad-4ea4-aa53-00eb698d9262\",\n    \"nextToken\": \"3b2359a7-4583-40ed-8afd-67e5f15373d3\",\n    \"limit\": 100,\n    \"totalCount\": 102,\n    \"_links\": {...}\n  },\n  \"data\": [...]\n}\n```\n\nTake the `nextToken` and use it in the `token` parameter on your subsequent call.\n\n```bash\ncurl -X GET {hostname}/{version}/contacts?limit=100&token=3b2359a7-4583-40ed-8afd-67e5f15373d3 \\\n-H 'Accept: application/json' \\\n-H 'Authorization: Bearer {accessToken}'\n```\n\nWhen the response doesn’t contain a `nextToken` field, you’ve reached the last page. Occasionally, you might\nencounter an empty page at the end of results. This typically happens when the results were evenly divisible.\nEnsure your client code handles the possibility of receiving an empty data array when using the `nextToken`.\n\n## Filtering\n\nUse filters to narrow down results. The filter follows the pattern\n`filter='field' comparisonType 'value'`. The value can be enclosed with single\nquotes (') or double quotes (\").\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq 'Smith'\n````\n\nTo correctly pass a single quote in the filter's value, use double quotes around\nthe string.\n\n```bash\nGET {hostName}/{version}/contacts?filter=lastName eq \"O'Keenan\"\n```\n\nTo correctly pass a double quote in the filter's value, use double quotes around\nthe string and add an escape character `\\` to each quote that is part of the\nstring.\n\n```bash\nGET {hostName}/{version}/events?filter=eventName eq \"\\\"Yearly\\\" Conference\"\n```\n\n## Versioning\n\nChange is inevitable in API development. Planning for it is crucial. We track\nboth backward-compatible and backward-incompatible changes.\n\n<br />\n\n### Backward Compatible Changes\n\nBackward compatible changes will be made often and are intended to avoid\nany adverse impact on our customers. It is highly advisable that when reading\nJSON payloads from Cvent, you are able to handle \"unknown\" attributes that\ncan be added over time. We consider the following changes backward-compatible:\n\n- Adding new resources\n- Adding new optional request parameters to existing operations\n- Adding new attributes to requests or responses\n- Changing the length or format (not type) of resource identifiers. For example, an ID can change from\n  \"1234/1234\" to \"1234::1234\".\n- Increasing the length of string fields\n\n<br />\n\n### Backward Incompatible Changes\n\nBackward-incompatible changes are made infrequently, however, they can be\ndisruptive to consumers. Due to this, our APIs are versioned to avoid\ndisruptions to customers. We leverage a URI-based versioning scheme,\nwhich means that a version value is included in the Cvent API URL.\nWhen breaking changes occur, a new version of the API is made available\nwhile the existing version is deprecated but remains available for a\nlimited period of time. We consider the following backward-incompatible changes:\n\n- Adding a new required parameter (query string param or payload attribute)\n- Deleting API resources\n- Deleting any attribute from API responses\n- Changing the data type on any parameter or attribute\n\n## Standards\nAs you begin working with our APIs, it's essential to be aware of standards around\ncountry codes, time formats, and other important details that ensure smooth integration.\nLearn more about our [API Standards](https://developers.cvent.com/docs/rest-api/reference/api-standards)\n"
  contact:
    name: Cvent Development Platform
    url: https://developers.cvent.com/
  version: ea
servers:
- url: https://api-platform.cvent.com/ea
- url: https://api-platform-eur.cvent.com/ea
tags:
- name: RFP Management
  description: RFP (Request for Proposal) management APIs for core RFP operations including CRUD operations for base RFPs.
paths:
  /rfps/lead-sources/{leadSourceId}:
    get:
      tags:
      - RFP Management
      summary: Get RFP Lead Source
      description: Returns details about a given lead source of an RFP. The lead source indicates the primary origin of the RFP or the supplier being added to the RFP, such as a particular software or website.
      operationId: getRfpLeadSource
      security:
      - OAuth2.clientCredentials:
        - rfp/rfp-lead-sources:read
      - OAuth2.authorizationCode:
        - rfp/rfp-lead-sources:read
      parameters:
      - $ref: '#/components/parameters/leadSourceId'
      responses:
        '200':
          description: Successfully retrieved the lead source of an RFP.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RfpLeadSource'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /rfps/lead-sources/{leadSourceId}/sections/{leadSourceSectionId}:
    get:
      tags:
      - RFP Management
      summary: Get RFP Lead Source Section
      description: Returns details about the lead source section of an RFP. The lead source section identifies the specific segment or channel within the broader lead source, such as a particular website domain, form, or integration point, where the RFP originated. This enables more granular tracking and attribution of RFPs by pinpointing the exact section within the overall lead source. See the [Lead Source](#tag/RFP-Management/operation/getRfpLeadSource) endpoint for more information about lead sources.
      operationId: getRfpLeadSourceSection
      security:
      - OAuth2.clientCredentials:
        - rfp/rfp-lead-sources:read
      - OAuth2.authorizationCode:
        - rfp/rfp-lead-sources:read
      parameters:
      - $ref: '#/components/parameters/leadSourceId'
      - $ref: '#/components/parameters/leadSourceSectionId'
      responses:
        '200':
          description: Successfully retrieved the lead source section of an RFP.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RfpLeadSourceSection'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
  /rfps/{rfpId}:
    get:
      tags:
      - RFP Management
      summary: Get RFP
      description: Returns basic details of the given RFP.
      operationId: getRFP
      security:
      - OAuth2.clientCredentials:
        - rfp/rfps:read
      - OAuth2.authorizationCode:
        - rfp/rfps:read
      parameters:
      - $ref: '#/components/parameters/rfpId'
      - $ref: '#/components/parameters/leadSourceExpand'
      responses:
        '200':
          description: Successfully returns the basic details of the RFP.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Rfp'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized1'
        '403':
          $ref: '#/components/responses/Forbidden1'
        '404':
          $ref: '#/components/responses/NotFound1'
        '429':
          $ref: '#/components/responses/TooManyRequests1'
components:
  schemas:
    RfpLeadSource:
      type: object
      title: RfpLeadSource
      description: Lead source of the RFP.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: The unique identifier of the lead source.
          example: f56a51a4-84b0-46c9-a612-716dc95a1c96
        name:
          type: string
          description: Name of the lead source.
          maxLength: 100
          example: Cvent Supplier Network
    RecipientInfo:
      title: RecipientInfo
      description: Represents the details of the RFP recipient.
      type: object
      properties:
        order:
          type: integer
          description: The position at which this recipient will be displayed.
          maximum: 3
          minimum: 1
          example: 2
        type:
          $ref: '#/components/schemas/RecipientType'
        value:
          type: string
          maxLength: 100
          description: If the recipient is ACCOUNT_USER or ACCOUNT_USER_GROUP, this field holds their unique ID. If the recipient is EMAIL, this field holds the email provided by the user.
          example: janeDoe@example.com
    Rfp:
      title: Rfp
      description: Basic RFP details
      type: object
      required:
      - id
      allOf:
      - $ref: '#/components/schemas/RfpRequest'
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: Unique identifier for RFP.
          example: 50dc08af-24a9-4d01-84be-3d43133dc945
        code:
          type: string
          readOnly: true
          description: Unique code of RFP.
          example: JBNJN7BGJ5J
        status:
          $ref: '#/components/schemas/RfpStatus-1'
        type:
          $ref: '#/components/schemas/RfpType-1'
        approvedBy:
          type: string
          readOnly: true
          minLength: 0
          maxLength: 50
          description: Details of the user who approved the RFP.
          example: approver@example.com
        approvedDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The ISO 8601 date time (in UTC) when the RFP was approved. The initial value when RFP is not approved is 1900-01-01 00:00:00.000.
          example: '2021-01-13T14:06:20.080Z'
        approved:
          type: boolean
          readOnly: true
          description: True indicates RFP is approved.
          example: true
        cancellationDetails:
          $ref: '#/components/schemas/CancellationDetails'
        lastSentDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The ISO 8601 date time (in UTC) when RFP was last sent.
          example: '2021-01-13T14:06:20.080Z'
        originalSentDateTime:
          type: string
          format: date-time
          readOnly: true
          description: The ISO 8601 date time (in UTC) when RFP was first sent.
          example: '2021-01-13T14:06:20.080Z'
        sentVenueCount:
          type: integer
          readOnly: true
          description: Number of venues to which the planner has sent the RFP.
          minimum: 0
          example: 5
          maximum: 2000
        archived:
          type: boolean
          description: True indicates RFP is archived.
          default: false
        archivalDate:
          type: string
          format: date-time
          description: The ISO 8601 date time (in UTC) representing the archival date.
          example: '2021-01-13T14:06:20.080Z'
        awardedExternally:
          type: boolean
          description: True indicates RFP has been awarded to a venue outside of Cvent Supplier Network.
          readOnly: true
          default: false
        finishedAwarding:
          type: boolean
          description: True indicates venue sourcing process for this RFP has been marked as finished after awarding the eligible venues.
          readOnly: true
          default: false
        aiRfpGenerationSource:
          type: string
          maxLength: 100
          readOnly: true
          description: Represents the AI generation source for the RFP. This field is set during RFP creation and cannot be modified afterwards.
          example: MCP-Visual Studio Code/1.107.1
    MeasurementUnit:
      title: MeasurementUnit
      description: 'Unit of measurement for area or space.


        Values:

        - `SQUARE_FEET` — Square Feet

        - `SQUARE_METERS` — Square Meters'
      type: string
      enum:
      - SQUARE_FEET
      - SQUARE_METERS
    DayOfWeek:
      title: DayOfWeek
      description: DayOfWeek
      type: string
      enum:
      - SUNDAY
      - MONDAY
      - TUESDAY
      - WEDNESDAY
      - THURSDAY
      - FRIDAY
      - SATURDAY
    WeddingPartner:
      title: WeddingPartner
      description: Represents wedding partner.
      type: object
      properties:
        type:
          $ref: '#/components/schemas/BrideGroomType'
        name:
          type: string
          description: Name of the partner of the wedding couple.
          minLength: 0
          maxLength: 300
          example: John Doe
    Event-1:
      title: Event
      description: Event details.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the event linked with the RFP, if any.
          example: 50dc08af-24a9-4d01-84be-3d43133dc945
    RfpLeadSourceSection:
      type: object
      title: RfpLeadSourceSection
      description: Lead source section of the RFP.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: The unique identifier of the lead source section.
          example: f56a51a4-84b0-46c9-a612-716dc95a1c96
        name:
          type: string
          description: Name of the lead source section.
          maxLength: 200
          example: Cvent Supplier Network
    CancellationDetails:
      title: CancellationDetails
      description: Information about cancellation of RFP.
      type: object
      properties:
        dateTime:
          type: string
          format: date-time
          description: The ISO 8601 date time (in UTC) when RFP was cancelled.
          example: '2021-01-13T14:06:20.080Z'
        reason:
          $ref: '#/components/schemas/CancelledReason-1'
        comments:
          type: string
          description: Additional comments while cancelling the RFP.
          minLength: 0
          maxLength: 300
          example: I am cancelling my event, postponing to Q4.
    ErrorResponse:
      title: ErrorResponse
      description: Represents an error response with additional details of cascading error messages.
      allOf:
      - $ref: '#/components/schemas/ErrorResponseBase'
      type: object
      required:
      - code
      - message
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseBase'
          description: Additional details of cascading error messages.
    EventFormatType:
      title: EventFormatType
      description: Event format type.
      type: string
      enum:
      - IN_PERSON
      - HYBRID
      - VIRTUAL
    RebateType:
      title: RebateType
      description: Rebate type for specifying the rebate value on citywide RFPs. If rebateType is `BY_AMOUNT`, the rebate value will be in decimal format. If rebateType is `BY_PERCENTAGE`, the rebate value will represent a percentage.
      type: string
      enum:
      - BY_AMOUNT
      - BY_PERCENTAGE
    BillingDetails-1:
      title: BillingDetails
      description: Billing details for RFP.
      type: object
      properties:
        additionalInformation:
          type: string
          description: Information regarding billing.
          minLength: 0
          maxLength: 2500
          example: Guest rooms will be a mix of IPO and RM&TX to master. Will submit rooming list with billing specified. Credit card will be provided as guarantee.
        concessionsContractualInfo:
          type: string
          description: Concessions and contractual information.
          minLength: 0
          maxLength: 2500
          example: Request use of LOI or Express Agreement.
        rebateType:
          $ref: '#/components/schemas/RebateType'
        acceptingRebatesAndIncentives:
          type: boolean
          description: True indicates that rebates and incentives are accepted, applicable only for citywide RFPs.
          default: true
        rebateValue:
          type: number
          description: The value of the rebate. The impact of this value on the price is determined by `RebateType`.
          minimum: 0
          maximum: 999999
          example: 10
    BrideGroomType:
      title: BrideGroomType
      description: BrideGroomType
      type: string
      enum:
      - BRIDE
      - GROOM
    LeadSource:
      title: LeadSource
      description: Lead source details.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for source generating the RFP. Details about this lead source can be fetched using <a href="#tag/RFP-Management/operation/getRfpLeadSource">lead source API.</a>
          example: 50dc08af-24a9-4d01-84be-3d43133dc945
        section:
          $ref: '#/components/schemas/LeadSourceSection'
    WeddingDetails-1:
      title: Wedding Details
      description: Wedding details.
      type: object
      properties:
        firstPartner:
          $ref: '#/components/schemas/WeddingPartner'
        secondPartner:
          $ref: '#/components/schemas/WeddingPartner'
        ceremony:
          type: boolean
          description: True indicates ceremony is planned.
        reception:
          type: boolean
          description: True indicates reception is planned.
        farewellBrunch:
          type: boolean
          description: True indicates farewell brunch is planned.
        rehearsalDinner:
          type: boolean
          description: True indicates rehearsal dinner is planned.
    LeadSourceSection:
      title: LeadSourceSection
      description: Represents lead source section details, which is a sub area of source generating the RFP.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for sub area of source generating the RFP. Details about this lead source section can be fetched using <a href="#tag/RFP-Management/operation/getRfpLeadSourceSection">lead source section API.</a>
          example: 40dc08af-24a9-4d01-84be-3d43133dc945
    OrganizationType-1:
      title: OrganizationType
      description: Organization type.
      type: string
      enum:
      - CORPORATE
      - ASSOCIATION
      - EDUCATION
      - GOVERNMENT
      - SOCIAL_LEISURE
      - RELIGIOUS
      - MILITARY
      - OTHER
      - NON_PROFIT
    Dates-1:
      title: Dates
      description: Dates on which event will occur.
      type: object
      properties:
        preferred:
          type: boolean
          description: True indicates these are preferred dates.
          example: true
        id:
          type: string
          format: uuid
          description: Unique identifier for dates.
          example: 50dc08af-24a9-4d01-84be-3d43133dc945
        endDate:
          type: string
          format: date
          description: The ISO 8601 end date of the event.
          example: '2016-10-13'
        startDate:
          type: string
          format: date
          description: The ISO 8601 start date of the event.
          example: '2016-10-15'
        note:
          type: string
          minLength: 0
          maxLength: 2500
          description: A note detailing the requirements for the dates.
          example: Flexible dates
    RecipientType:
      title: Recipient Type
      description: Type of Recipient
      type: string
      enum:
      - EMAIL
      - ACCOUNT_USER
      - ACCOUNT_USER_GROUP
    RfpType-1:
      title: RfpType
      description: RFP types based on event requirements.
      type: string
      enum:
      - MEETING_SPACE_AND_GUEST_ROOMS
      - MEETING_SPACE_ONLY
      - GUEST_ROOMS_ONLY
      - RESTAURANT_RFP
      - SERVICE_PROVIDER
    EventType-1:
      title: EventType
      description: Event type.
      type: string
      enum:
      - ANNIVERSARY_BIRTHDAY
      - BACHELOR_BACHELORETTE_PARTY
      - BAR_BAT_MITZVAH
      - BUSINESS_MEETING
      - CONFERENCE_CONVENTION
      - CORPORATE_EVENT
      - CUSTOMER_EVENT
      - EDUCATIONAL_SEMINAR
      - FRATERNITY_SORORITY_GROUP
      - FUNDRAISER_CHARITY_EVENT
      - RECEPTION_HOLIDAY_PARTY
      - INCENTIVE_TRAVEL
      - REUNION
      - SHAREHOLDERS_MEETING
      - SPECIAL_EVENT
      - SPORTS_EVENT
      - TEAM_BUILDING_EVENT
      - TOUR_GROUP_VACATION
      - TRADE_SHOW_CONSUMER_SHOW
      - TRAINING
      - WEDDING
      - OTHER
    DateRequirements-1:
      title: DateRequirements
      description: Date requirements for the event.
      required:
      - mode
      type: object
      properties:
        mode:
          $ref: '#/components/schemas/RfpDateMode'
        alternateDates:
          type: array
          minItems: 1
          maxItems: 12
          description: List of dates for the event. Can be used to provide set of alternate event dates when mode is ALTERNATE_DATE.
          items:
            $ref: '#/components/schemas/Dates-1'
        pattern:
          $ref: '#/components/schemas/DatePattern-1'
        availabilityRangeRequired:
          type: boolean
          description: True indicates that the event requires a range of availability dates.
          default: false
    CancelledReason-1:
      title: CancelledReason
      description: Reason for cancelling the RFP.
      type: string
      enum:
      - BOOKED_ANOTHER_VENUE_OR_DESTINATION
      - CLIENT_BOOKED_DIRECTLY
      - EPIDEMIC_OR_PANDEMIC
      - EVENT_CANCELLED
      - EVENT_POSTPONED
      - MEDICAL_EMERGENCY
      - NATURAL_DISASTER
      - OTHER
      - POLITICAL_OR_CIVIL_UNREST
      - REQUIREMENTS_CHANGED
    Contact-1:
      title: Contact
      description: Contact details of planner.
      type: object
      required:
      - firstName
      - lastName
      - email
      - phone
      - organizationName
      properties:
        firstName:
          type: string
          maxLength: 50
          description: The first name of the planner.
          example: James
        lastName:
          type: string
          maxLength: 50
          description: The last name of the planner.
          example: West
        email:
          type: string
          format: email
          maxLength: 80
          description: Email address of the planner.
          example: jwest@example.com
        address:
          $ref: '#/components/schemas/Address-1'
        commissionRate:
          type: number
          description: Rate of commission chargeable by the planner. Precision up to 2 decimal places is accepted.
          minimum: 0
          maximum: 100
          example: 10.75
        commissionable:
          type: boolean
          description: True indicates commission is to be charged from supplier.
        phone:
          type: string
          description: Phone number of the planner.
          maxLength: 30
          example: 555-555-5555
        organizationName:
          type: string
          maxLength: 100
          description: Name of the organization.
          example: Five Star Planners Inc.
        thirdPartyPlanner:
          type: boolean
          description: True indicates planner is a third party planner.
        preferredContactMethods:
          type: array
          description: List of preferred contact methods for the planner.
          minItems: 1
          maxItems: 5
          items:
            $ref: '#/components/schemas/ContactMethods'
          example:
          - CVENT
    RfpEvent:
      title: RfpEvent
      description: RFP event details.
      type: object
      properties:
        event:
          $ref: '#/components/schemas/Event-1'
        name:
          type: string
          description: Name of the event linked with the RFP.
          minLength: 1
          maxLength: 300
          example: friday event
        contractSignatureLocation:
          type: string
          description: Location where the contract will be signed.
          minLength: 0
          maxLength: 2500
          example: Atlanta
        destinationsUnderConsideration:
          type: string
          description: Destinations under consideration for the event.
          minLength: 0
          maxLength: 2500
          example: New York
        externalMeetingRequest:
          type: boolean
          description: True indicates that the event is associated with an external meeting request.
          example: true
        type:
          $ref: '#/components/schemas/EventType-1'
        totalMeetingSpaceRequired:
          $ref: '#/components/schemas/SpaceArea'
        audioVisualNeeds:
          type: string
          description: Audio visual requirements.
          maxLength: 2500
          example: Need a projector in each meeting room.
        peakMeetingRooms:
          type: integer
          description: Maximum number of meeting rooms required during the event.
          minimum: 0
          maximum: 999999999
          example: 14
        flexibleDates:
          type: boolean
          description: True indicates the event dates are flexible.
        repeat:
          type: boolean
          description: True indicates event is a repeat occurrence.
        attendeesPerDay:
          type: integer
          description: Number of in-person attendees per day.
          minimum: 0
          maximum: 99999
          example: 500
        referenceNumber:
          type: string
          description: Reference number for the event.
          maxLength: 30
          example: XVYMP8970S
        largestMeetingSpaceRequired:
          $ref: '#/components/schemas/SpaceArea'
        meetingRequestId:
          type: string
          format: uuid
          description: Unique identifier for meeting request associated with the event.
          example: 50dc08af-24a9-4d01-84be-3d43133dc945
        formatType:
          $ref: '#/components/schemas/EventFormatType'
        virtualAttendeesPerDay:
          type: integer
          description: Number of virtual attendees per day.
          minimum: 0
          maximum: 99999
          example: 2000
        budget:
          type: number
          minimum: 0
          maximum: 999999999
          description: Total budget amount.
          example: 10000
        roomRateBudget:
          type: number
          minimum: 0
          maximum: 999999999
          description: Budget for rooms rates.
          example: 200
        foodBeverageBudget:
          type: number
          minimum: 

# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cvent-event-cloud/refs/heads/main/openapi/cvent-event-cloud-rfp-management-api-openapi.yml