APIs to onboard and manage users.
API reference
/User management
/- Delete user
Create user
Query user
List users
Get user
Update user
Get user business info
Update user business info
Get user personal info
Update user personal info
Get user travel preferences
Update user travel preferences
Get user membership info
Update user membership info
Update user roles
Get user roles
Get notification preferences
Update notification preferences
Get user travel arrangers
Get user's external ID
Update user's external ID
Activate a user
Get user policies
Delete user
User Management API (v2)
Download OpenAPI description
Languages
Servers
Sandbox URL
https://api-ext-sboxmeta.partners.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/usersapi/
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/users/{userId}
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/usersapi/v2/users/{userId}
- curl
- JavaScript
- Node.js
- Python
curl -i -X GET \
'https://api-ext-sboxmeta.partners.spotnana.com/v2/users/4974a66b-7493-4f41-908c-58ba81093947?includeInactive=true' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
Persona of the user
Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP.
Enum"BASIC""SEAT1A"
Stealth type.
Enum"STEALTH_TYPE_1""STEALTH_TYPE_2""STEALTH_TYPE_3""STEALTH_TYPE_4""STEALTH_TYPE_5""STEALTH_TYPE_6"
Notification preferences of a user for different notification types.
Response
application/json
{ "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3", "personalInfo": { "addresses": [ … ], "dob": { … }, "email": "example@email.com", "emergencyContactInfo": { … }, "gender": "FEMALE", "identityDocs": [ … ], "name": { … }, "phoneNumbers": [ … ], "profilePicture": { … }, "nationality": "Indian", "title": "MR", "preferredLanguage": "en-US", "preferredPronoun": "SHE_HER_HERS", "travelerName": { … }, "emergencyContact": { … } }, "businessInfo": { "departmentRef": { … }, "designation": "MANAGER", "email": "user@business.com", "employeeId": "101", "gradeRef": { … }, "legalEntityRef": { … }, "managerRef": { … }, "officeRef": { … }, "organizationRef": { … }, "phoneNumbers": [ … ], "costCenterRef": { … }, "countryCode": "USA", "workerType": "EMPLOYEE", "accountingCode": "123", "companySpecifiedAttributes": [ … ], "designatedApproverRefs": [ … ], "authorizerEmail": "example@email.com" }, "persona": "EMPLOYEE", "isActive": true, "tier": "SEAT1A", "stealthType": "STEALTH_TYPE_1", "relativeOf": { "userRef": { … }, "relation": "SPOUSE" }, "travelPreferences": { "preferences": { … } }, "membershipInfo": { "membershipInfos": [ … ], "isLoyaltyBlocked": false }, "notificationPreferences": { "preferences": [ … ] }, "travelArrangers": { "travelArrangers": [ … ] }, "adhocUserInfo": { "profileOwner": { … }, "isSaved": false }, "externalId": "string", "contractingTmcRef": { "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3", "name": "Name" }, "bookingTmcRef": { "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3", "name": "Name" } }
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/users/{userId}
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/usersapi/v2/users/{userId}
- curl
- JavaScript
- Node.js
- Python
curl -i -X DELETE \
https://api-ext-sboxmeta.partners.spotnana.com/v2/users/4974a66b-7493-4f41-908c-58ba81093947 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Bodyapplication/jsonrequired
User business information.
Unique employee id. Can use email if a company don't use employee ids.
Example: "101"
Reference of an entity
Reference of an entity
The type of worker.
Enum"EMPLOYEE""CONTINGENT""SEASONAL""INTERN""GUEST"
A list of references for designated approvers.
Persona of the user
Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP.
Enum"BASIC""SEAT1A"
Stealth type.
Enum"STEALTH_TYPE_1""STEALTH_TYPE_2""STEALTH_TYPE_3""STEALTH_TYPE_4""STEALTH_TYPE_5""STEALTH_TYPE_6"
Notification preferences of a user for different notification types.
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v2/users/{userId}
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/usersapi/v2/users/{userId}
- curl
- JavaScript
- Node.js
- Python
curl -i -X PUT \
https://api-ext-sboxmeta.partners.spotnana.com/v2/users/4974a66b-7493-4f41-908c-58ba81093947 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"personalInfo": {
"addresses": [
{
"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
}
}
],
"dob": {
"iso8601": "2017-07-21"
},
"email": "example@email.com",
"emergencyContactInfo": {
"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
}
},
"designation": "MANAGER",
"email": "emergency-contact@email.com",
"name": {
"family1": "Gandas",
"family2": "FamilyTwo",
"given": "Vichitr",
"middle": "Kumar",
"suffix": "SR",
"preferred": "Don"
},
"phoneNumber": {
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
},
"userOrgId": {
"organizationAgencyId": {
"id": "string"
},
"organizationId": {
"id": "string"
},
"userId": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
},
"tmcInfo": {
"id": {
"id": "f49d00fe-1eda-4304-ba79-a980f565281d"
},
"primaryServiceProviderTmc": {
"tmcId": {
"id": "f49d00fe-1eda-4304-ba79-a980f565281d"
}
},
"secondaryServiceProviderTmcs": [
{
"tmcId": {},
"supplier": "SABRE",
"travelType": "AIR"
}
],
"partnerTmcId": {
"id": "f49d00fe-1eda-4304-ba79-a980f565281d"
}
},
"tmcBasicInfo": {
"contractingTmc": {
"id": {
"id": "f49d00fe-1eda-4304-ba79-a980f565281d"
},
"name": "string",
"logo": {
"data": "6935813e12584abda0e43d71cd2ea260",
"dimensions": {},
"url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
}
},
"bookingTmc": {
"id": {
"id": "f49d00fe-1eda-4304-ba79-a980f565281d"
},
"name": "string",
"logo": {
"data": "6935813e12584abda0e43d71cd2ea260",
"dimensions": {},
"url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
}
}
}
}
},
"gender": "FEMALE",
"identityDocs": [
{
"passport": {
"docId": "PASSPORTID",
"expiryDate": {
"iso8601": "2017-07-21"
},
"issueCountry": "IN",
"issuedDate": {
"iso8601": "2017-07-21"
},
"nationalityCountry": "IN",
"type": "REGULAR"
}
},
{
"ktn": {
"number": "123456",
"issueCountry": "US"
}
}
],
"name": {
"family1": "Gandas",
"family2": "FamilyTwo",
"given": "Vichitr",
"middle": "Kumar",
"suffix": "SR",
"preferred": "Don"
},
"phoneNumbers": [
{
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
}
],
"profilePicture": {
"data": "6935813e12584abda0e43d71cd2ea260",
"dimensions": {
"height": 120,
"width": 240
},
"url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
},
"nationality": "Indian",
"title": "MR",
"preferredLanguage": "en-US",
"preferredPronoun": "SHE_HER_HERS",
"travelerName": {
"family1": "Gandas",
"family2": "FamilyTwo",
"given": "Vichitr",
"middle": "Kumar",
"suffix": "SR",
"preferred": "Don"
},
"emergencyContact": {
"name": "John Smith",
"email": "emergency-contact@email.com",
"designation": "MANAGER",
"relation": "SPOUSE",
"phoneNumbers": [
{
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
}
],
"preferredLanguage": "en-US"
}
},
"businessInfo": {
"departmentRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"designation": "MANAGER",
"email": "user@business.com",
"employeeId": "101",
"gradeRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"legalEntityRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"managerRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"officeRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"organizationRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"phoneNumbers": [
{
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
}
],
"costCenterRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"countryCode": "USA",
"workerType": "EMPLOYEE",
"accountingCode": "123",
"companySpecifiedAttributes": [
{
"fixedColumnName": "contingentType",
"value": "FSTV"
}
],
"designatedApproverRefs": [
{
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
}
],
"authorizerEmail": "example@email.com"
},
"persona": "EMPLOYEE",
"tier": "SEAT1A",
"stealthType": "STEALTH_TYPE_1",
"relativeOf": {
"userRef": {
"id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3",
"name": "Name"
},
"relation": "SPOUSE"
},
"travelPreferences": {
"preferences": {
"airPref": {
"airlinePrefs": [
{
"airlines": [
"Indigo"
],
"flightType": "DOMESTIC"
}
],
"alliancePref": {
"alliances": [
"STAR_ALLIANCE"
]
},
"farePref": {
"fareTypes": [
"CHANGEABLE"
]
},
"homeAirport": "NEW YORK",
"mealPref": {
"exclMealPrefs": [
"VGML"
],
"inclMealPrefs": [
"VGML"
],
"specialMealDescription": "Veg only meal"
},
"numStopPref": {
"numOfStops": 34
},
"seatAmenityPref": {
"seatAmenityTypes": [
"WIFI"
]
},
"seatLocationPrefs": [
{
"cabins": [
"FIRST"
],
"isBulkHeadPref": false,
"maxFlightDurationInHours": 3,
"position": "WINDOW"
}
],
"preferredAirports": [
{
"airportName": "San Francisco International Airport",
"airportCode": "SFO",
"label": "HOME"
}
]
},
"preferredCurrency": "USD",
"railCards": [
{
"cardNumber": "string",
"expiryDate": {
"iso8601": "2017-07-21"
},
"name": "Veterans Railcard",
"spotnanaCode": "VET",
"vendor": "ATOC"
}
],
"railPref": {
"preferredRailStations": [
{
"stationName": "Chicago Union Station",
"stationCode": "CHI",
"cityName": "Chicago",
"countryCode": "string",
"label": "HOME"
}
],
"seatPreference": {
"hasAccessibility": false,
"seatTypes": [
"NORMAL"
],
"seatLocations": [
"AISLE"
],
"deckLevels": [
"UPPER_DECK"
],
"seatDirections": [
"FORWARD"
]
},
"travelClasses": [
"FIRST"
],
"coachPreferences": [
"NON_SMOKING"
],
"conditionalRates": [
"AAA"
]
},
"carPref": {
"vendors": [
{
"code": "ZE",
"name": "HERTZ",
"isPresentInPreferredVendors": true
}
],
"carTypes": [
"ECONOMY"
],
"engineTypes": [
"PETROL"
],
"transmissionTypes": [
"AUTOMATIC"
],
"conditionalRates": [
"AAA"
]
},
"hotelPref": {
"hotelParentChains": [
{
"chainCode": "EM",
"chainName": "Mariott"
}
],
"hotelBrands": [
{
"brandCode": "HY",
"brandName": "Global Hytt Corp."
}
],
"hotelAmenityTypes": [
"PARKING"
],
"roomPreference": {
"isMobilityAccessible": false,
"bedCount": "ONE_BED",
"roomType": "SMOKING",
"mostImportantFact": "BED_COUNT",
"roomLocation": "HIGH_FLOOR",
"pillowType": "FOAM",
"roomAmenityPrefs": [
"EXTRA_TOWELS"
]
},
"conditionalRates": [
"AAA"
]
}
}
},
"membershipInfo": {
"membershipInfos": [
{
"appliedTo": [
"TAJ"
],
"id": "firstId",
"issuedBy": "firstIssuedBy",
"type": "AIR",
"linked": false
}
],
"isLoyaltyBlocked": false
},
"notificationPreferences": {
"preferences": [
{
"notificationType": "FLIGHT_NOTIFICATION",
"emailPreference": {
"enabled": true,
"ccEmails": [
"user@example.com"
]
}
}
]
},
"adhocUserInfo": {
"profileOwner": {
"userId": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
},
"isSaved": false
},
"externalId": "string",
"travelArrangers": {
"travelArrangers": [
{
"name": {
"family1": "Gandas",
"family2": "FamilyTwo",
"given": "Vichitr",
"middle": "Kumar",
"suffix": "SR",
"preferred": "Don"
},
"email": "example@email.com",
"phoneNumbers": [
{
"countryCode": 91,
"countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
"extension": "222",
"isoCountryCode": "IN",
"italianLeadingZero": true,
"nationalNumber": 8150,
"numberOfLeadingZeros": 1,
"preferredDomesticCarrierCode": "7",
"rawInput": "77777",
"type": "MOBILE"
}
],
"userId": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
},
"status": "PENDING"
}
]
}
}'