Event API (v2)

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

Events

APIs to create and manage events.

Operations

Create event

Request

Create a draft event.

Bodyapplication/json
namestringrequired

Name of the event

descriptionstring

Description of the event

documentsArray of objects(Document)

Documents attached for an event

startDateTimeobject(DateTimeLocal)

Local date and time represented in the ISO 8601 standard.

endDateTimeobject(DateTimeLocal)

Local date and time represented in the ISO 8601 standard.

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

bookingGuidelinesArray of AirBookingGuidelineWrapper (object) or HotelBookingGuidelineWrapper (object) or CarBookingGuidelineWrapper (object) or RailBookingGuidelineWrapper (object)(EventBookingGuideline)

A list of booking guideline for the event.

allowedBookingTypesArray of strings(EventAllowedBookingType)

Allowed booking types for the event group

Items Enum"AIR""HOTEL""CAR""RAIL"
externalIdstring

External Id for the event

Example: "qwert123"
eventCustomFieldResponsesArray of objects(CustomFieldResponse)

List of custom field responses for the event.

parentEventIdstring

Optional parent event's id.

Example: "56789012"
companyIdobject(CompanyId)

Company ID

bookingStylestring(EventBookingStyle)

The booking style for the event's participants.

Enum"SELF_SERVE""AGENT_MANAGED"
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"]
curl -i -X POST \
  https://developer.spotnana.com/_mock/openapi/eventapi/v2/events \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "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"
      }
    ],
    "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"
    ],
    "externalId": "qwert123",
    "eventCustomFieldResponses": [
      {
        "customFieldId": "f49d00fe-1eda-4304-ba79-a980f565281d",
        "responseItems": [
          {
            "response": "Leisure travel",
            "additionalInput": "20"
          }
        ],
        "travelerAccess": "HIDDEN"
      }
    ],
    "parentEventId": "56789012",
    "companyId": {
      "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
    },
    "bookingStyle": "SELF_SERVE",
    "referenceUsers": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "travelerTypes": [
      "EMPLOYEE"
    ]
  }'

Responses

OK

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

Get event

Request

Get event details for the specified event ID.

Path
eventIdstringrequired

Event ID

Example: 6926658168
curl -i -X GET \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
eventobject(Event)

Event details

Response
application/json
{ "event": { "id": "string", "name": "string", "description": "string", "startDateTime": { … }, "endDateTime": { … }, "location": { … }, "group": { … }, "status": "DRAFT", "companyId": { … }, "runningStatus": "UPCOMING", "paymentSources": [ … ], "numTravelers": 1, "customFieldResponses": [ … ], "externalId": "qwert123" } }

Delete a draft event

Request

Delete a draft (i.e., unpublished) event. A deleted event cannot be accessed or viewed again.

Path
eventIdstringrequired

Event ID

Example: 6926658168
curl -i -X DELETE \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Response
application/json
{ "debugIdentifier": "string", "errorMessages": [ { … } ] }

Get event by external ID

Request

Get event details using the event's externalId. External IDs are unique identifiers which can be set based on the company's preference.

Query
externalIdstringrequired

External ID

Example: externalId=6926658168
companyIdstring(uuid)required

Company ID

Example: companyId=f49d00fe-1eda-4304-ba79-a980f565281d
curl -i -X GET \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/read-by-external-id?companyId=f49d00fe-1eda-4304-ba79-a980f565281d&externalId=6926658168' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
eventobject(Event)

Event details

Response
application/json
{ "event": { "id": "string", "name": "string", "description": "string", "startDateTime": { … }, "endDateTime": { … }, "location": { … }, "group": { … }, "status": "DRAFT", "companyId": { … }, "runningStatus": "UPCOMING", "paymentSources": [ … ], "numTravelers": 1, "customFieldResponses": [ … ], "externalId": "qwert123" } }

Add travelers to an event

Request

Add the list of travelers to be invited to the event.

Path
eventIdstringrequired

Event ID

Example: 6926658168
Bodyapplication/json
userIdsArray of objects(UserId)
curl -i -X POST \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}/travelers/add' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "userIds": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
addedUserIdsArray of objects(UserId)
Response
application/json
{ "addedUserIds": [ { … } ] }

Remove travelers from an event

Request

Remove travelers from an event. This endpoint allows you to remove up to 10 travelers per API call.

Path
eventIdstringrequired

Event ID

Example: 6926658168
Bodyapplication/json
userIdsArray of objects(UserId)[ 1 .. 10 ] items
curl -i -X POST \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}/travelers/remove' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "userIds": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
removedUserIdsArray of objects(UserId)
Response
application/json
{ "removedUserIds": [ { … } ] }

List events

Request

List all the events that match the specified criteria in the request.

Bodyapplication/json
listEventTypestring

Type of events

Enum"UPCOMING""PAST_OR_COMPLETED""CANCELLED_EVENT"
Example: "UPCOMING"
filtersArray of EventUserFilterWrapper (object) or EventStatusFilterWrapper (object) or EventNameFilterWrapper (object) or EventDateRangeFilterWrapper (object) or EventCompanyFilterWrapper (object) or EventParentFilterWrapper (object) or EventTypeFilterWrapper (object)(EventFilter)

List events filters

offsetinteger>= 0

Indicates from where in the list of events the server should start.

Default 0
Example: 2
limitinteger<= 100

Maximum number of results to be fetched for the query.

Default 10
Example: 2
curl -i -X POST \
  https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/list \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "listEventType": "UPCOMING",
    "filters": [
      {
        "userFilter": {
          "userId": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        }
      }
    ],
    "offset": 2,
    "limit": 2
  }'

Responses

OK

Bodyapplication/json
eventsArray of objects(Event)

List of events

paginationParamsobject(OffsetBasedPaginationResponseParams)

Pagination parameters for response.

Response
application/json
{ "events": [ { … } ], "paginationParams": { "totalNumResults": 0 } }

Publish event

Request

Publish a draft event.

Path
eventIdstringrequired

Event ID

Example: 6926658168
curl -i -X POST \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}/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

descriptionstring

Description of the event

documentsArray of objects(Document)

Documents attached for an event

startDateTimeobject(DateTimeLocal)

Local date and time represented in the ISO 8601 standard.

endDateTimeobject(DateTimeLocal)

Local date and time represented in the ISO 8601 standard.

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

bookingStylestring(EventBookingStyle)

The booking style for the event's participants.

Enum"SELF_SERVE""AGENT_MANAGED"
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"]
curl -i -X POST \
  'https://developer.spotnana.com/_mock/openapi/eventapi/v2/events/{eventId}/edit-basic-info' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "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"
      }
    ],
    "bookingStyle": "SELF_SERVE",
    "referenceUsers": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      }
    ],
    "travelerTypes": [
      "EMPLOYEE"
    ]
  }'

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.