Event API (v2)

Download OpenAPI description
Languages
Servers
Staging URL
https://apis.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/eventapi/

Events

APIs to create and manage events.

Operations

Publish event

Request

Publish a draft event.

Path
eventIdstringrequired

Event ID

Example: 6926658168
curl -i -X POST \
  https://apis.spotnana.com/v2/events/6926658168/publish \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstring
Response
application/json
{ "id": "string" }

Edit basic details of an event

Request

Edit the basic information of an event such as the event name, description, date and time, location, and contacts.

Path
eventIdstringrequired

Event ID

Example: 6926658168
Bodyapplication/json
namestringrequired

Name of the event

typestring(EventType)

Type of an event

Enum"GENERIC""PROGRAM""PROGRAM_SESSION""PROGRAM_TRIP"
descriptionstring

Description of the event

documentsArray of objects(Document)

Documents attached for an event

startDateTimeobject(DateTimeLocal)

Local date and time in ISO 8601 format.

endDateTimeobject(DateTimeLocal)

Local date and time in ISO 8601 format.

locationobject(EventLocation)required

Location for an event

location.​addressobject(PostalAddress)

Postal Address Details

location.​coordinatesobject(Latlng)

Latitude and Longitude for a Location

contactsArray of objects(UserId)

Contacts for the event

referenceUsersArray of objects(UserId)

Event group reference user ids

travelerTypesArray of strings(Persona)

Allowed traveler types for the event

Items Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Example: ["EMPLOYEE"]
bookingStylestring(EventBookingStyle)

Whether the event bookings will be self served by the traveler or would be arranged by an agent for the traveler.

Enum"SELF_SERVE""AGENT_MANAGED"
policyIdstring(uuid)

Policy associated with the event.

Example: "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b"
allowTravelersPolicystring(AllowTravelersPolicy)

Apply travelers policy when it is less restrictive.

Enum"ALLOWED""NOT_ALLOWED"
emailPreferencesobject(BucketEmailPreferences)

Email communication preferences based on bucket types.

curl -i -X POST \
  https://apis.spotnana.com/v2/events/6926658168/edit-basic-info \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "type": "GENERIC",
    "description": "string",
    "documents": [
      {
        "url": "https://s3.amazonaws.com/bucket-name/folder-name/file-name",
        "documentId": "f49d00fe-1eda-4304-ba79-a980f565281d",
        "documentMetadata": {
          "documentType": "VISA",
          "entityType": "PNR",
          "entityId": "123124",
          "entityMetadata": {
            "pnrMetadata": {
              "flightMetadata": {
                "flightId": "CgNERU4SA1NGTxoKNTQ1NzI5ODcxMQ"
              }
            },
            "invoiceMetadata": {
              "invoiceNumber": "SPOT-0001",
              "invoiceType": "FARE_INVOICE"
            },
            "travelType": "AIR"
          },
          "name": "BoardingPass.pdf"
        }
      }
    ],
    "startDateTime": {
      "iso8601": "2017-07-21T17:32"
    },
    "endDateTime": {
      "iso8601": "2017-07-21T17:32"
    },
    "location": {
      "address": {
        "addressLines": [
          "Golden Gate Bridge"
        ],
        "administrativeArea": "CA",
        "administrativeAreaName": "California",
        "description": "San Francisco Home",
        "isDefault": true,
        "languageCode": "en",
        "locality": "San Francisco",
        "locationCode": "LAX",
        "organization": "Spotnana",
        "postalCode": "94130",
        "continentCode": "AF",
        "recipients": [
          "string"
        ],
        "regionCode": "US",
        "regionName": "America",
        "revision": 1,
        "sortingCode": "Jamaica",
        "sublocality": "string",
        "timezone": "America/Los_Angeles",
        "coordinates": {
          "latitude": 77.1025,
          "longitude": 28.7041
        }
      },
      "coordinates": {
        "latitude": 77.1025,
        "longitude": 28.7041
      }
    },
    "contacts": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "referenceUsers": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "travelerTypes": [
      "EMPLOYEE"
    ],
    "bookingStyle": "SELF_SERVE",
    "policyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b",
    "allowTravelersPolicy": "ALLOWED",
    "emailPreferences": {
      "bucketTypes": [
        "BOOKING_CONFIRMATIONS"
      ],
      "isEnabled": false,
      "toEmails": [
        "example@email.com"
      ],
      "ccEmails": [
        "example@email.com"
      ],
      "bccEmails": [
        "example@email.com"
      ]
    }
  }'

Responses

OK

Bodyapplication/json
idstring
Response
application/json
{ "id": "string" }

Update event booking guidelines

Request

Update the booking guidelines for an event. You can update booking guidelines such as maximum number of guests allowed to accompany a traveler, arrival and departure window for the event, payment methods, and allowed travel types.

Path
eventIdstringrequired

Event ID

Example: 6926658168
Bodyapplication/json
bookingGuidelinesArray of AirBookingGuidelineWrapper (object) or HotelBookingGuidelineWrapper (object) or CarBookingGuidelineWrapper (object) or RailBookingGuidelineWrapper (object)(EventBookingGuideline)required

A list of booking guideline for the event.

One of:

Booking details allowed for the event

bookingGuidelines[].​airBookingGuideLineobject(AirBookingGuideline)

Air related guidelines

bookingGuidelines[].​numGuestsAllowedinteger

Number of guests allowed to be booked for this booking

Example: 1
allowedBookingTypesArray of strings(EventAllowedBookingType)

Allowed booking types for the event group

Items Enum"AIR""HOTEL""CAR""RAIL"
paymentMappingsArray of objects(PaymentAccessMapping)

Mappings i.e. access level, travel type information etc.

eventTypestring(EventType)

Type of an event

Enum"GENERIC""PROGRAM""PROGRAM_SESSION""PROGRAM_TRIP"
curl -i -X POST \
  https://apis.spotnana.com/v2/events/6926658168/edit-booking-guidelines \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "bookingGuidelines": [
      {
        "numGuestsAllowed": 1,
        "airBookingGuideLine": {
          "allowedAirports": [
            {
              "airportCode": "WRA",
              "airportName": "Warder Airport",
              "cityName": "Werder",
              "countryName": "Ethiopia",
              "countryCode": "ET",
              "zoneName": "Africa/Addis_Ababa",
              "stateCode": "CA"
            }
          ],
          "arrivalBookingWindow": {
            "startDateTime": {
              "iso8601": "2017-07-21T17:32"
            },
            "endDateTime": {
              "iso8601": "2017-07-21T17:32"
            }
          },
          "departureBookingWindow": {
            "startDateTime": {
              "iso8601": "2017-07-21T17:32"
            },
            "endDateTime": {
              "iso8601": "2017-07-21T17:32"
            }
          },
          "allowedFlightGuidelines": [
            {
              "allowedFlightType": "ROUND_TRIP",
              "numberOfLegs": 2
            }
          ]
        }
      }
    ],
    "allowedBookingTypes": [
      "AIR"
    ],
    "paymentMappings": [
      {
        "id": "f49d00fe-1eda-4304-ba79-a980f565281d",
        "accessTypeAttributes": {
          "travelTypeFilter": {
            "travelTypes": [
              {
                "travelType": "AIR",
                "isRequired": true,
                "allowPostPaidBookings": false,
                "metadata": {
                  "vendors": []
                }
              }
            ]
          }
        }
      }
    ],
    "eventType": "GENERIC"
  }'

Responses

OK

Bodyapplication/json
idstring
Response
application/json
{ "id": "string" }