> ## Documentation Index
> Fetch the complete documentation index at: https://docs.renovationfind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update feature flags

> Update feature flags for a vendor (e.g. RMS, boosters, lead booster).
All fields are optional; only provided (non-null) fields are applied.




## OpenAPI

````yaml /openapi-manager.yaml patch /vendors/{vendorId}/features
openapi: 3.0.3
info:
  title: RenovationFind Manager API
  description: >
    Internal REST API for RenovationFind manager operations.


    ## Authentication

    All endpoints require a Bearer token in the `Authorization` header.

    Tokens are issued from the RenovationFind Manager Portal.


    ```

    Authorization: Bearer <your_jwt_token>

    ```


    ## Rate Limiting

    API requests are rate-limited to **250 requests per 5 minutes** per manager.

    When exceeded, the API returns `429 Too Many Requests` with a `Retry-After`
    header.


    ## Response Format

    All responses follow a consistent envelope:

    ```json

    {
      "success": true,
      "data": { ... },
      "message": "Optional message"
    }

    ```

    On error:

    ```json

    {
      "success": false,
      "error": "Error description"
    }

    ```


    ## Partial Updates

    All PATCH endpoints accept partial payloads. Only provided (non-null) fields
    are applied;

    omitted fields remain unchanged. Date fields use `dd/MM/yyyy` format.
  version: 1.0.0
  contact:
    name: RenovationFind
    url: https://www.renovationfind.com
servers:
  - url: https://www.renovationfind.com/rest-manager-api-v1
    description: Production
security:
  - BearerAuth: []
paths:
  /vendors/{vendorId}/features:
    patch:
      tags:
        - Vendors
      summary: Update feature flags
      description: |
        Update feature flags for a vendor (e.g. RMS, boosters, lead booster).
        All fields are optional; only provided (non-null) fields are applied.
      operationId: updateVendorFeatures
      parameters:
        - name: vendorId
          in: path
          required: true
          description: Vendor ID
          schema:
            type: integer
            format: int64
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Feature flag fields to update. All fields are optional; null
                values are ignored.
              properties:
                enableFullRMS:
                  type: boolean
                enableStandaloneFeedbackBooster:
                  type: boolean
                enableStandaloneReviewBooster:
                  type: boolean
                enableStandaloneReferralBooster:
                  type: boolean
                hasLeadBooster:
                  type: boolean
                viewStatsPermission:
                  type: boolean
                disableVendorInvoiceAccess:
                  type: boolean
                energyEfficiencyContractor:
                  type: boolean
                pendingCertification:
                  type: boolean
                directoryInventoryReserved:
                  type: boolean
            example:
              enableFullRMS: true
              hasLeadBooster: true
      responses:
        '200':
          description: Features updated, returns full vendor details
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    description: >
                      Full vendor profile returned by the Manager API.

                      Fields are grouped by section:


                      **Account** - id, vendorName, email, salesEmail,
                      vendorType, urlTagPrefix, activated, prospect


                      **Contact** - contactAddress1, contactAddress2,
                      contactCity, contactProvince, contactPostalCode,
                      contactPhoneNumber, realContactPhoneNumber,
                      smsPhoneNumber, feedbackSMSPhoneNumber, feedbackEmail


                      **City** *(read-only)* - cityId, cityName, provinceName


                      **Social** - websiteUrl, bbbUrl, facebookUrl, twitterUrl,
                      googlePlusUrl, linkedInUrl, instagramUrl, pinterestUrl,
                      youTubeUrl


                      **Descriptions** - description, covId19Description,
                      servicesDescription, areasServedDescription,
                      paymentOptions


                      **Features** - enableFullRMS,
                      enableStandaloneFeedbackBooster,
                      enableStandaloneReviewBooster,
                      enableStandaloneReferralBooster, hasLeadBooster,
                      viewStatsPermission, disableVendorInvoiceAccess,
                      energyEfficiencyContractor, pendingCertification,
                      directoryInventoryReserved


                      **Compliance** - highRatingOnBbb, customerReviewsPassed,
                      creditReportsPassed, legalsPassed, insuranceExpires,
                      wcbExpires, businessLicenseExpires, dunsNumber,
                      dnbMonitoring, accredited


                      **PQ** - pqVendor, pqVendorDescription, pqEmails,
                      pqPhoneNumbers


                      **Discount** - discountLive, discountMember,
                      discountPriority, discountCategory,
                      discountBriefDescription, discountDetailedDescription,
                      discountInventoryReserved


                      **Subscription** - packageType, manualPaymentType


                      **Contests** - enableVendorContests,
                      contestParticipantLimit, pauseCurrentDripsInPipeline,
                      pauseVendorContestDrippingFromCFS
                    properties:
                      id:
                        type: integer
                        format: int64
                        example: 1234
                      vendorName:
                        type: string
                        example: ABC Renovations
                      email:
                        type: string
                        example: info@abcrenovations.com
                      salesEmail:
                        type: string
                        example: sales@abcrenovations.com
                      vendorType:
                        type: string
                        enum:
                          - COMPANY
                          - REALTOR
                        example: COMPANY
                      urlTagPrefix:
                        type: string
                        example: abc-renovations
                      activated:
                        type: boolean
                        example: true
                      prospect:
                        type: boolean
                        example: false
                      contactAddress1:
                        type: string
                        example: 123 Main St
                      contactAddress2:
                        type: string
                        example: Suite 200
                      contactCity:
                        type: string
                        example: Calgary
                      contactProvince:
                        type: string
                        example: AB
                      contactPostalCode:
                        type: string
                        example: T2P 1A1
                      contactPhoneNumber:
                        type: string
                        example: '4031234567'
                      realContactPhoneNumber:
                        type: string
                        example: '4031234567'
                      smsPhoneNumber:
                        type: string
                        example: '4031234567'
                      feedbackSMSPhoneNumber:
                        type: string
                        example: '4031234567'
                      feedbackEmail:
                        type: string
                        example: feedback@abcrenovations.com
                      cityId:
                        type: integer
                        format: int64
                        example: 42
                      cityName:
                        type: string
                        example: Calgary
                      provinceName:
                        type: string
                        example: Alberta
                      websiteUrl:
                        type: string
                        example: https://www.abcrenovations.com
                      bbbUrl:
                        type: string
                        example: https://www.bbb.org/abc-renovations
                      facebookUrl:
                        type: string
                        example: https://www.facebook.com/abcrenovations
                      twitterUrl:
                        type: string
                        example: https://twitter.com/abcrenovations
                      googlePlusUrl:
                        type: string
                        example: https://g.page/abcrenovations
                      linkedInUrl:
                        type: string
                        example: https://www.linkedin.com/company/abcrenovations
                      instagramUrl:
                        type: string
                        example: https://www.instagram.com/abcrenovations
                      pinterestUrl:
                        type: string
                        example: https://www.pinterest.com/abcrenovations
                      youTubeUrl:
                        type: string
                        example: https://www.youtube.com/abcrenovations
                      description:
                        type: string
                        example: We specialize in home renovations...
                      covId19Description:
                        type: string
                        example: COVID-19 safety measures...
                      servicesDescription:
                        type: string
                        example: Kitchen, bathroom, basement renovations
                      areasServedDescription:
                        type: string
                        example: Calgary and surrounding areas
                      paymentOptions:
                        type: string
                        example: Cash, cheque, credit card
                      enableFullRMS:
                        type: boolean
                      enableStandaloneFeedbackBooster:
                        type: boolean
                      enableStandaloneReviewBooster:
                        type: boolean
                      enableStandaloneReferralBooster:
                        type: boolean
                      hasLeadBooster:
                        type: boolean
                      viewStatsPermission:
                        type: boolean
                      disableVendorInvoiceAccess:
                        type: boolean
                      energyEfficiencyContractor:
                        type: boolean
                      pendingCertification:
                        type: boolean
                      directoryInventoryReserved:
                        type: boolean
                      highRatingOnBbb:
                        type: boolean
                      customerReviewsPassed:
                        type: boolean
                      creditReportsPassed:
                        type: boolean
                      legalsPassed:
                        type: boolean
                      insuranceExpires:
                        type: string
                        description: Date in dd/MM/yyyy format
                        example: 15/06/2026
                      wcbExpires:
                        type: string
                        description: Date in dd/MM/yyyy format
                        example: 01/12/2026
                      businessLicenseExpires:
                        type: string
                        description: Date in dd/MM/yyyy format
                        example: 31/03/2027
                      dunsNumber:
                        type: string
                        example: '123456789'
                      dnbMonitoring:
                        type: boolean
                      accredited:
                        type: boolean
                      pqVendor:
                        type: boolean
                      pqVendorDescription:
                        type: string
                      pqEmails:
                        type: string
                        description: Comma-separated email addresses
                      pqPhoneNumbers:
                        type: string
                        description: Comma-separated phone numbers
                      discountLive:
                        type: boolean
                      discountMember:
                        type: boolean
                      discountPriority:
                        type: integer
                      discountCategory:
                        type: string
                      discountBriefDescription:
                        type: string
                      discountDetailedDescription:
                        type: string
                      discountInventoryReserved:
                        type: boolean
                      packageType:
                        type: integer
                        example: 1
                      manualPaymentType:
                        type: string
                      enableVendorContests:
                        type: boolean
                      contestParticipantLimit:
                        type: integer
                      pauseCurrentDripsInPipeline:
                        type: boolean
                      pauseVendorContestDrippingFromCFS:
                        type: boolean
                  message:
                    type: string
        '404':
          description: Vendor not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
        '429':
          description: Rate limit exceeded (250 requests per 5 minutes)
          headers:
            Retry-After:
              schema:
                type: integer
                example: 300
              description: Seconds to wait before retrying
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
              example:
                success: false
                error: >-
                  Rate limit exceeded. Maximum 250 requests per 5 minutes.
                  Please retry later.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token issued from the RenovationFind Manager Portal

````