---
title: "Bulk edit/modify events."
method: POST
path: "/v2/events/bulk-edit"
tags: ["Events"]
---

# Bulk edit/modify events.

`POST /v2/events/bulk-edit`

Edit the basic info and booking guidelines in bulk for events.

## Request body

- BulkUpdateEventsRequest — Bulk update events info request object
  - `eventsToUpdate` UpdateEventRequestItem[] — A list of events with the required updates
    - `eventId` string, required — Id of the event to be updated.
    - `eventBasicInfo` UpdateEventBasicInfoRequest, required — Update Event basic info request object
      - `name` string, required — Name of the event
      - `type` 'GENERIC' | 'PROGRAM' | 'PROGRAM_SESSION' | 'PROGRAM_TRIP' — Type of an event
      - `description` string — Description of the event
      - `documents` Document[] — Documents attached for an event
        - `url` string, required — S3 location of the document.
        - `documentId` string, uuid, required — Unique identifier of the document.
        - `documentMetadata` DocumentMetadata, required — Metadata related to document.
          - `documentType` 'BOARDING_PASS' | 'CONFIRMATION' | 'INVOICE' | 'VISA' | 'MISCELLANEOUS' | 'OTHERS' | 'TASK_PROCESSOR' | 'EVENT_COVER_IMAGE' | 'LOGO_IMAGE', required — Document type.
          - `entityType` 'PNR' | 'COMPANY' | 'AIR_ITINERARY' | 'EVENT' | 'LOCATION_IMAGE' | 'AIR_COMMISSION_CONTRACT', required — Entity type against which the document is to uploaded.
          - `entityId` string, required — Entity Id for the given entity type.
          - `entityMetadata` union, required — Metadata for associated entity of document.
            - object
              - …
            - object
              - …
          - `name` string, required — Document name.
      - `startDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `endDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
        - `iso8601` string, required
      - `location` EventLocation, required — Location for an event
        - `address` PostalAddress — Postal Address Details
          - `addressLines` string[], required — Address lines
          - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
          - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
          - `description` string — Address description
          - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
          - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
          - `locality` string — Generally refers to the city/town portion of the address.
          - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
          - `organization` string — The name of the organization at the address.
          - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
          - `continentCode` string — 2 letter continent code of the continent this address falls in.
          - `recipients` string[] — The recipient at the address.
          - `regionCode` string, required — Region code of the country/region of the address.
          - `regionName` string — Region name of the country/region of the address.
          - `revision` integer
          - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
          - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
          - `timezone` string — Time zone of the address.
          - `coordinates` Latlng — Latitude and Longitude for a Location
            - `latitude` number, double, required — Latitude of the Location
            - `longitude` number, double, required — Longitude of the Location
        - `coordinates` Latlng — Latitude and Longitude for a Location
          - `latitude` number, double, required — Latitude of the Location
          - `longitude` number, double, required — Longitude of the Location
      - `contacts` UserId[] — Contacts for the event
        - `id` string, uuid, required
      - `referenceUsers` UserId[] — Event group reference user ids
        - `id` string, uuid, required
      - `travelerTypes` Persona[] — Allowed traveler types for the event
      - `bookingStyle` 'SELF_SERVE' | 'AGENT_MANAGED' — The booking style for the event's participants.
      - `policyId` string, uuid — Policy associated with the event.
      - `allowTravelersPolicy` 'ALLOWED' | 'NOT_ALLOWED' — Apply travelers policy when it is less restrictive.
      - `emailPreferences` BucketEmailPreferences — Email communication preferences based on bucket types.
        - `bucketTypes` EmailBucketType[], required — List of email bucket types.
        - `isEnabled` boolean — Indicates whether emails are disabled.
        - `toEmails` string[] — List of email address to be included in emails.
        - `ccEmails` string[] — List of email address to be cc-ed in emails.
        - `bccEmails` string[] — List of email address to be bcc-ed in emails.
      - `allowTravelersToRsvp` 'ALLOWED' | 'NOT_ALLOWED' — Allow travelers to rsvp for the event
      - `internalNotes` string — Internal notes of the event
      - `tripOverrides` TripOverrides — Trip overrides for the event
        - `legalEntity` LegalEntityOverride, required — Legal entity override for the event
          - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
          - `legalEntityRef` Reference — Reference of an entity
            - `id` string, uuid, required
            - `name` string
        - `costCenter` CostCenterOverride, required — Cost center override for the event
          - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
          - `costCenterRef` Reference — Reference of an entity
            - `id` string, uuid, required
            - `name` string
        - `department` DepartmentOverride, required — Department override for the event
          - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
          - `departmentRef` Reference — Reference of an entity
            - `id` string, uuid, required
            - `name` string
        - `userAttributes` CompanySpecifiedAttributeOverride[], required — List of company specified attribute overrides
          - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
          - `attribute` CompanySpecifiedUserAttribute, required — Company specified user arbitrary attribute.
            - `fixedColumnName` string, required
            - `value` string
        - `rateCodeOverrides` RateCodeOverride[] — List of rate codes to be overridden for a trip
          - `behavior` 'OVERRIDE_ALLOWED' | 'OVERRIDE_NOT_ALLOWED' | 'OVERRIDE_MANDATORY', required — Override behavior for the trip overrides
          - `supplier` 'SABRE' | 'AMADEUS' | 'TRAVEL_FUSION' | 'FARELOGIX_NDC' | 'ATPCO_NDC' | 'TRAINLINE' | 'AVIA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'NDC' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'NATIONAL' | 'ALAMO' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY' | 'EUROSTAR' | 'AVIS' | 'BUDGET' — Supplier type like Sabre, TravelFusion etc.
          - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL' — Travel Type
          - `rateCodeIds` string[] — List of rate code ids
      - `tripContacts` TripContact[] — Trip contacts for the event. These are passed through to created trips.
        - `label` string, required — Label for the contact
        - `name` string, required — Name of the contact
        - `email` string — Email of the contact
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `isPrimary` boolean — Whether the contact is primary or not
        - `restrictVisibility` boolean — Whether to restrict visibility of the contact to only agents and admins
      - `inheritedCustomFieldIds` string[] — List of custom field IDs that were inherited from parent
      - `eventCustomFieldV3Responses` CustomFieldPrefilledResponse[] — List of custom field responses for an event.
        - `fieldId` string, uuid, required — Custom field id
        - `fieldName` string — Name of the custom field
        - `armId` string, uuid, required — Arm id which is applicable
        - `readOnly` boolean — Indicates whether the user can change the pre-selected options.
        - `hidden` boolean — Whether this code will be hidden to the user.
        - `selectedOptions` CustomFieldSelectedOption[], required — The list of options that are selected by user or auto populated.
          - `name` string, required — Value of the selection
          - `translatedName` string — Translated value of the selection
          - `description` string — Description of the selection
          - `translatedDescription` string — Translated description of the selection
          - `additionalUserInput` string — Additional user input
          - `additionalInfos` string[] — Actual values of the additional infos
          - `additionalInfoConfigs` AdditionalInfo[] — Additional info configs for the selected option
            - union — Additional data need to be sent along with the custom field response.
              - …
      - `eventCustomFieldResponses` CustomFieldResponse[] — List of custom field responses for the event.
        - `customFieldId` string, uuid, required — The unique identifier for the custom field.
        - `responseItems` CustomFieldResponseItem[] — Responses selected by the event coordinator.
          - `response` string, required — The response of the custom field. It can be a text input from the user or a custom field code if the input is from a radio button or checkbox.
          - `additionalInput` string — This contains additional input to the above response. It will only be used for checkbox with percentage and will contain the percentage value.
        - `travelerAccess` 'HIDDEN' | 'READ_ACCESS' | 'WRITE_ACCESS', required — Traveler access for a custom field
      - `inviteEmailConfig` InviteEmailConfig — Configuration for event invite/reminder emails
        - `emailExcludeCoordinatorInfo` boolean — Whether to exclude coordinator information in emails sent to travelers.
    - `eventBookingGuidelines` UpdateEventBookingGuidelinesRequest, required — Update Event booking guidelines request object
      - `bookingGuidelines` EventBookingGuideline[], required — A list of booking guideline for the event.
        - union — Booking details allowed for the event
          - object — Wrapper for AirBookingGuideline
            - `airBookingGuideLine` AirBookingGuideline — Air related guidelines
              - …
            - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
          - object — Wrapper for HotelBookingGuideline
            - `hotelBookingGuideLine` HotelBookingGuideline — Hotel related guidelines
              - …
            - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
          - object — Wrapper for CarBookingGuideline
            - `carBookingGuideLine` CarBookingGuideline — Car related guidelines
              - …
            - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
          - object — Wrapper for RailBookingGuideline
            - `railBookingGuideLine` RailBookingGuideline — Rail related guidelines
              - …
            - `numGuestsAllowed` integer — Number of guests allowed to be booked for this booking
      - `allowedBookingTypes` EventAllowedBookingType[] — Allowed booking types for the event group
      - `allowedPaymentConfig` PaymentConfigForTravelType[] — Allowed payment configuration for the event template
        - `travelType` 'AIR' | 'HOTEL' | 'CAR' | 'RAIL' | 'LIMO' | 'MISC' | 'ALL', required — Travel Type
        - `paymentConfig` 'TRAVELER_DEFAULT' | 'TRAVELER_DEFAULT_CENTRAL' | 'PERSONAL' | 'SELECTED_METHODS', required — Allowed payment configuration for a travel type in the event template
      - `paymentMappings` PaymentAccessMapping[] — Mappings i.e. access level, travel type information etc.
        - `id` string, uuid, required — Unique identifier identifying this payment source
        - `accessTypeAttributes` AccessTypeAttributes — Attributes applicable to the payment source for specific Access Type.
          - `travelTypeFilter` TravelTypeFilter — Filter for selecting payment sources according to different types of travel.
            - `travelTypes` PaymentSourceTravelType[] — Applicable travel types for Payment Source.
              - …
      - `eventType` 'GENERIC' | 'PROGRAM' | 'PROGRAM_SESSION' | 'PROGRAM_TRIP' — Type of an event
  - `updateAsync` boolean — Whether to update the events asynchronously or not.

## Response `200`

OK

- BulkUpdateEventsResponse — Bulk update events info response
  - `updateEventsResponse` UpdateEventResponse[], required — List of events update response.
    - `id` string, required — Unique identifier for the event.
    - `status` 'SUCCESS' | 'FAILED' | 'PARTIAL_SUCCESS', required — Generic operation/execution status.
    - `message` string — Details about success or failure reason.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/spotnana/apis/event-api.md) · [All operations](https://skmtc.net/spotnana/apis/event-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/event-api/versions/13f531f73066/schema)
