swagger: '2.0' info: title: International SOS Location Check-In Service description: A service for providing traveler location information to Travel Tracker. Requests should be POSTed to the endpoints in JSON format. You must include an Authorization header value of the API key you were provided, and a Content-Type header value of "application/json". version: 1.0.0 host: api.internationalsos.com basePath: /location schemes: - https produces: - application/json; version=v1 paths: /selftest: get: summary: Connectivity test description: Checks for connectivity with the service. This is a simple GET request. The word “PASSED” is returned from a successful call. responses: 200: description: success 403: description: Credentials not accepted /assistance/createUserProfile: post: summary: Create a traveler profile description: Creates a traveler profile for a given user, adds the device details to the profile, and returns the GUID that can be used to uniquely identify it. If a profile already exists for the traveler (based on the customer’s match rules), the existing profile is updated and its GUID is returned. The default match rules require an exact match on the first name, last name, and email address. parameters: - name: profileDescription in: body description: Attributes needed to provision a new profile required: true schema: $ref: '#/definitions/create' produces: - application/json; version=v1 responses: 200: description: success schema: $ref: '#/definitions/createid' 403: description: Credentials not accepted 500: description: Invalid request data, or system error /assistance/setCheckIn: post: summary: Record a traveler location description: Records the specified traveler as being at the specified location and time. parameters: - name: checkinDetails in: body description: Location and profile information required: true schema: $ref: '#/definitions/checkin' produces: - application/json; version=v1 responses: 200: description: success schema: $ref: '#/definitions/checkinsuccess' 403: description: Credentials not accepted 500: description: Invalid request data, or system error definitions: create: type: object properties: membershipId: description: The membership number used by the traveler type: string deviceId: description: The traveler's company name type: string model: description: The model of the device type: string osVersion: description: The OS version of the device type: string appVersion: description: Use "1" type: integer enum: - 1 firstName: description: The traveler's first name type: string lastName: description: The traveler's last name type: string mobileNumberCountryCode: description: The country code used to dial the traveler’s telephone number type: string mobileNumber: description: The traveler’s telephone number without the country code type: string emailAddress: description: The traveler’s email address type: string format: email countryOfResidence: description: The TravelTracker home country ID for the traveler (see http://traveltrackersupport.internationalsos.com/customer/portal/articles/2458449-international-sos-country-ids for the list of valid ID's) type: integer minimum: 0 optInToLocationTracking: description: Use "true" type: boolean additionalProperties: false required: - membershipId - deviceId - firstName - lastName - mobileNumberCountryCode - mobileNumber - emailAddress - optInToLocationTracking createid: type: object properties: IndividualID: description: A GUID that uniquely identifies the traveler profile. Cache for use in future requests. type: string checkinsuccess: type: object properties: Success: description: Whether the check-in was successful type: boolean checkin: type: object properties: membershipNumber: description: The account membership number type: string profileId: description: The GUID provided in the response from the profile creation type: string deviceId: description: The traveler's company name type: string latitude: description: The traveler's latitude location type: number minimum: -90 maximum: 90 longitude: description: The traveler's longitude location type: number minimum: -180 maximum: 180 sourceId: description: "IntlSOS AssistanceApp: 5, Vismo: 6" type: integer enum: - 5 - 6 severityId: description: "Normal: 1, Panic: 2" type: integer enum: - 1 - 2 locationTime: description: The UTC date at which the check-in occurred. If not provided, the time the server received the request will be stored. type: string format: date-time additionalProperties: false required: - membershipNumber - profileId - deviceId - latitude - longitude - sourceId - severityId securityDefinitions: Client ID: type: apiKey name: Authentication in: header security: - Client ID: []