openapi: 3.2.0 info: title: Amex Gbt SCIM User Sync V1 API version: '1.0' description: 'Operations tagged SCIM User Sync V1 across 2 of this provider''s published API definitions: amex-gbt-service-openconnect-openapi.json, amex-gbt-user-sync-api-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://apis.egencia.com/openconnect/api description: Generated server url tags: - description: SCIM 2.0 compliant user sync APIs name: SCIM User Sync V1 paths: /scim/v1/users: post: operationId: createUser_2 requestBody: content: application/scim+json: examples: Request with all the supported attributes: description: Request with all the supported attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User externalId: externalSystemIdentifier userName: test@example.com displayName: Test User title: Mr userType: NORMAL name: familyName: User formatted: '' givenName: Test middleName: '' preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: userAuthenticationMode: SSO singleSignOnId: test@example.com customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: USA issueDate: '2020-10-10' issueLocation: city type: PAS value: ABCDE1234 employeeNumber: employeeNumberValue loyaltyPrograms: - issuingSupplierCode: T4 lob: HOTEL name: S-Card type: LC validFrom: '2020-10-10' validTo: '2025-10-10' value: S12345 organization: egenciaCompanyId preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: Window specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: Window - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request promoMail: true serviceLevelIds: - '12345' approvers: level1Approvers: - '45678' delegateApprovers: - testapprover arrangers: - id: '56789' settings: notifications: reservationEmail: validReservationEmailValue emails: - primary: true type: work value: test@example.com phoneNumbers: - primary: true type: work value: +44-1234512345 addresses: - country: GB formatted: address line 1, cityname, state, GB, XXXXXX locality: city name postalCode: XXXXX region: region or state streetAddress: address line 1 type: work groups: - display: displayName value: travelerGroup roles: - display: displayName primary: true value: userRole Request with basic attributes: description: Request with basic attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value Request with email settings: description: Request with email settings value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value settings: notifications: reservationEmail: validReservationEmailValue Request with phone number: description: Request with phone number value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com phoneNumbers: - primary: true type: MOBILE value: '+441234512345' - type: WORK value: '+441234512346' groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value Request with preferences: description: Request with preferences value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: '1' specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: '1' - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request Request with preferences and documents: description: Request with preferences and documents value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: Window specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: Window - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request documents: - expirationDate: '2030-10-10' issueCountry: USA issueDate: '2020-10-10' issueLocation: city type: PAS value: ABCDE1234 Request with preferences and loyalty program: description: Request with preferences and loyalty program value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: '1' specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: Window - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request loyaltyPrograms: - issuingSupplierCode: T4 lob: HOTEL name: S-Card type: LC validFrom: '2020-10-10' validTo: '2025-10-10' value: S12345 Request with roles and approvers: description: Request with roles and approvers value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: api.sample@egencia.com title: '1' userType: NORMAL name: familyName: Test givenName: Sample middleName: Api active: true emails: - primary: true type: work value: api.sample@egencia.com groups: - value: General roles: - display: Self Booker value: SELF_BOOKER - display: Arranger value: ARRANGER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: '12345' dateOfBirth: '1988-01-01' userAuthenticationMode: SSO singleSignOnId: api.sample@egencia.com customDataFields: - name: Department code value: Legal entity value - name: Reporting field 2 value: custom value approvers: level1Approvers: - approverone@egencia.com level2Approvers: - approvertwo@egencia.com schema: $ref: '#/components/schemas/UserSchema' description: User Schema to be created required: true responses: '200': content: application/scim+json: example: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier externalId: externalSystemIdentifier userName: test@example.com displayName: Test User title: Mr userType: NORMAL name: familyName: User givenName: Test middleName: '' formatted: '' preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: organization: egenciaCompanyId employeeNumber: employeeNumberValue dateOfBirth: '1988-01-01' customDataFields: - name: Primary cost center value: Test cost center documents: - expirationDate: '2030-10-10' issueCountry: USA issueDate: '2020-10-10' issueLocation: city type: PAS value: ABCDE1234 loyaltyPrograms: - issuingSupplierCode: T4 lob: HOTEL name: S-Card type: LC validFrom: '2020-10-10' validTo: '2025-10-10' value: S12345 preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: Window specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: Window - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request settings: notifications: reservationEmail: validReservationEmailValue serviceLevelIds: - '12345' approvers: level1Approvers: - '45678' delegateApprovers: - testapprover arrangers: - id: '56789' promoMail: true emails: - type: work value: test@example.com primary: true phoneNumbers: - type: work value: +44-1234512345 primary: true addresses: - type: work streetAddress: address line 1 locality: city name region: region or state country: GB postalCode: XXXXX formatted: address line 1, cityname, state, GB, XXXXXX groups: - value: travelerGroup display: displayName roles: - value: userRole display: displayName primary: true meta: created: '2017-10-10T00:00:00.000Z' last_modified: '2017-10-10T00:00:00.000Z' location: /scim/v1/users/123 description: Created. '400': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Invalid parameters status: '400' description: 'Bad Request : Invalid input or request' '401': content: application/scim+json: example: error: code: EGE-ER-4001 message: Unauthorised access, you do not have sufficient permissions to perform this action. description: 'Unauthorized : Authentication token empty, invalid or expired.' '403': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin. status: '403' description: 'Forbidden : User not Validated for operation.' '422': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Invalid or missing parameters encountered, we are unable to process your request. status: '422' data: - attribute: userName message: userName needs to be specified and cannot be empty or null description: 'Invalid input : Invalid or missing required input.' '500': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Your request could not be completed due to some error. Please try again later. status: '500' data: - attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms message: Error occurred while processing loyalty program associations. description: 'Internal Server Error : Unable to process request.' '503': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: We are unable to process your request right now. Please try again later. status: '503' data: [] description: 'Service unavailable : Unable to process request at the moment.' security: - OAuth2: [] summary: Create a new user in the system with the requested information. tags: - SCIM User Sync V1 servers: - url: https://apis.egencia.com/openconnect/api description: Generated server url /scim/v1/users/search: post: operationId: getUserByCondition requestBody: content: application/scim+json: examples: Search Users By Email: description: Replace {email} with valid email value and {organizationId} with valid organization Id. value: filter: emails[value eq "{email}"] and urn:ietf:params:scim:schemas:extension:enterprise:2.0:User[organization eq {organizationId}] Search Users By Name: description: Replace {givenName} with valid given name value, {familyName} with valid family name value and {organizationId} with valid organization Id. value: filter: name[givenName eq "{givenName}" and familyName eq "{familyName}"] and urn:ietf:params:scim:schemas:extension:enterprise:2.0:User[organization eq {organizationId}] Search Users By SSO: description: Replace {singleSignOnId} with valid singleSignOnId value and {organizationId} with valid organization Id. value: filter: singleSignOnId eq "{singleSignOnId}" and urn:ietf:params:scim:schemas:extension:enterprise:2.0:User[organization eq {organizationId}] Search Users By Username: description: Replace {userName} with valid userName value and {organizationId} with valid organization Id. value: filter: userName eq "{userName}" and urn:ietf:params:scim:schemas:extension:enterprise:2.0:User[organization eq {organizationId}] schema: $ref: '#/components/schemas/SearchRequest' description: User Schema to be updated required: true responses: '200': content: application/scim+json: example: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User externalId: externalSystemIdentifier userName: test@example.com displayName: Test User title: Mr userType: NORMAL name: familyName: User formatted: '' givenName: Test middleName: '' preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: userAuthenticationMode: SSO customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: USA issueDate: '2020-10-10' issueLocation: city type: PAS value: ABCDE1234 employeeNumber: employeeNumberValue loyaltyPrograms: - issuingSupplierCode: T4 lob: HOTEL name: S-Card type: LC validFrom: '2020-10-10' validTo: '2025-10-10' value: S12345 organization: egenciaCompanyId preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: '1' specialRequest: Any special request - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: '1' - lob: HOTEL smoking: Smoking specialRequest: Any special request - lob: CAR specialRequest: Any special request settings: notifications: reservationEmail: validReservationEmailValue promoMail: true serviceLevelIds: - '12345' approvers: level1Approvers: - '45678' delegateApprovers: - testapprover arrangers: - id: '56789' emails: - primary: true type: WORK value: test@example.com phoneNumbers: - primary: true type: WORK value: +44-1234512345 addresses: - country: GB formatted: address line 1, cityname, state, GB, XXXXXX locality: city name postalCode: XXXXX region: region or state streetAddress: address line 1 type: WORK groups: - display: displayName value: travelerGroup roles: - display: Self Booker primary: true value: Self Booker description: Search api success. '400': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Invalid parameters status: '400' description: 'Bad Request : Invalid input or request' '401': content: application/scim+json: example: error: code: EGE-ER-4001 message: Unauthorised access, you do not have sufficient permissions to perform this action. description: 'Unauthorized : Authentication token empty, invalid or expired.' '403': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin. status: '403' description: 'Forbidden : User not Validated for operation.' '422': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Invalid or missing parameters encountered, we are unable to process your request. status: '422' data: - attribute: userName message: userName needs to be specified and cannot be empty or null description: 'Invalid input : Invalid or missing required input.' '500': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: Your request could not be completed due to some error. Please try again later. status: '500' data: - attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms message: Error occurred while processing loyalty program associations. description: 'Internal Server Error : Unable to process request.' '503': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:Error detail: We are unable to process your request right now. Please try again later. status: '503' data: [] description: 'Service unavailable : Unable to process request at the moment.' security: - OAuth2: [] summary: Return list of users based on the filter condition. tags: - SCIM User Sync V1 servers: - url: https://apis.egencia.com/openconnect/api description: Generated server url /scim/v1/users/{userId}: delete: description: "
Delete the user with the given user Id in the path
\nExamples:
\nReplace {baseUrl} with the actual value of Egencia APIs host. Please refer Base Urls section under API Overview page of Egencia Developer Center.
\nDeleting a user with user Id : test_user_id
\n\n \n DELETE {baseUrl}/openconnect/api/scim/v1/users/test_user_id\n Response:\n -> 204 No Content\n \n"
operationId: deleteUserUser_2
parameters:
- description: User Id of the user who is to be deleted
in: path
name: userId
required: true
schema:
type: string
responses:
'204':
description: No Content.
'401':
content:
'*/*':
example:
error:
code: EGE-ER-4001
message: Unauthorised access, you do not have sufficient permissions to perform this action.
description: 'Unauthorized : Authentication token empty, invalid or expired.'
'403':
content:
'*/*':
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin.
status: '403'
description: 'Forbidden : User not Validated for operation.'
'404':
content:
'*/*':
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: User not found, you are trying to access an invalid or non existent user.
status: '404'
data:
- attribute: id
message: Requested user identifier is invalid.
description: 'Not Found : Resource Not Found.'
'422':
content:
'*/*':
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid or missing parameters encountered, we are unable to process your request.
status: '422'
data:
- attribute: userName
message: userName needs to be specified and cannot be empty or null
description: 'Invalid input : Invalid or missing required input.'
'500':
content:
'*/*':
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Your request could not be completed due to some error. Please try again later.
status: '500'
data:
- attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms
message: Error occurred while processing loyalty program associations.
description: 'Internal Server Error : Unable to process request.'
'503':
content:
'*/*':
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: We are unable to process your request right now. Please try again later.
status: '503'
data: []
description: 'Service unavailable : Unable to process request at the moment.'
security:
- OAuth2: []
summary: Delete the user in the system with the given user Id.
tags:
- SCIM User Sync V1
get:
operationId: getUser_2
parameters:
- in: path
name: userId
required: true
schema:
type: string
responses:
'200':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
externalId: externalSystemIdentifier
userName: test@example.com
displayName: Test User
title: Mr
userType: NORMAL
name:
familyName: User
formatted: ''
givenName: Test
middleName: ''
preferredLanguage: en
active: true
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
userAuthenticationMode: SSO
customDataFields:
- name: Primary cost center
value: Test cost center
dateOfBirth: '1988-01-01'
documents:
- expirationDate: '2030-10-10'
issueCountry: USA
issueDate: '2020-10-10'
issueLocation: city
type: PAS
value: ABCDE1234
employeeNumber: employeeNumberValue
loyaltyPrograms:
- issuingSupplierCode: T4
lob: HOTEL
name: S-Card
type: LC
validFrom: '2020-10-10'
validTo: '2025-10-10'
value: S12345
organization: egenciaCompanyId
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: '1'
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: '1'
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
settings:
notifications:
reservationEmail: validReservationEmailValue
promoMail: true
serviceLevelIds:
- '12345'
approvers:
level1Approvers:
- '45678'
delegateApprovers:
- testapprover
arrangers:
- id: '56789'
emails:
- primary: true
type: WORK
value: test@example.com
phoneNumbers:
- primary: true
type: WORK
value: +44-1234512345
addresses:
- country: GB
formatted: address line 1, cityname, state, GB, XXXXXX
locality: city name
postalCode: XXXXX
region: region or state
streetAddress: address line 1
type: WORK
groups:
- display: displayName
value: travelerGroup
roles:
- display: Self Booker
primary: true
value: Self Booker
description: Found.
'400':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid parameters
status: '400'
description: 'Bad Request : Invalid input or request'
'401':
content:
application/scim+json:
example:
error:
code: EGE-ER-4001
message: Unauthorised access, you do not have sufficient permissions to perform this action.
description: 'Unauthorized : Authentication token empty, invalid or expired.'
'403':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin.
status: '403'
description: 'Forbidden : User not Validated for operation.'
'404':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: User not found, you are trying to access an invalid or non existent user.
status: '404'
data:
- attribute: id
message: Requested user identifier is invalid.
description: 'Not Found : Resource Not Found.'
'422':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid or missing parameters encountered, we are unable to process your request.
status: '422'
data:
- attribute: userName
message: userName needs to be specified and cannot be empty or null
description: 'Invalid input : Invalid or missing required input.'
'500':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Your request could not be completed due to some error. Please try again later.
status: '500'
data:
- attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms
message: Error occurred while processing loyalty program associations.
description: 'Internal Server Error : Unable to process request.'
'503':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: We are unable to process your request right now. Please try again later.
status: '503'
data: []
description: 'Service unavailable : Unable to process request at the moment.'
security:
- OAuth2: []
summary: Retrieves the user details for a requested user identifier.
tags:
- SCIM User Sync V1
patch:
operationId: patchUser_2
parameters:
- in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/scim+json:
examples:
Request to add a new arranger to the existing arrangers:
description: Request to add a new arranger to the existing arrangers
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
path: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:arrangers
value:
- id: id
userName: api.sample@egencia.com
'Request to add a new custom data field to the existing custom data field list:':
description: 'Request to add a new custom data field to the existing custom data field list:'
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
path: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:customDataFields
value:
- name: CDF label
value: CDF value
Request to add a new level 1 approver to the existing level1Approvers list:
description: Request to add a new level 1 approver to the existing level1Approvers list
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
path: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:approvers.level1Approvers
value:
- userName: api.sample@egencia.com
Request to add a new level 1 as well as level 2 approver to the existing level1Approvers and level2Approvers list:
description: Request to add a new level 1 as well as level 2 approver to the existing level1Approvers and level2Approvers list
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
value:
urn:ietf:params:scim:schemas:extension:egencia:2.0:User:
approvers:
level1Approvers:
- id: id
level2Approvers:
- userName: api.sample@egencia.com
Request to add a new role to the existing roles:
description: Request to add a new role to the existing roles
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
path: roles
value:
- ARRANGER
Request to add/update first name, last name and date of birth:
description: Request to add/update first name, last name and date of birth
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
value:
name:
givenName: First Name
familyName: Last Name
urn:ietf:params:scim:schemas:extension:egencia:2.0:User:
dateOfBirth: '1988-01-26'
Request to add/update status of user:
description: Request to add/update status of user
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: replace
value:
active: false
Request to replace traveler group with a new one.:
description: Request to replace traveler group with a new one.
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: replace
path: groups
value:
- value: General
Request to update WORK type email, username, ssoId, authentication mode:
description: Request to update WORK type email, username, ssoId, authentication mode
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: replace
path: emails[type eq "WORK"].value
value: api.sample@egencia.com
- op: add
value:
userName: api.sample@egencia.com
urn:ietf:params:scim:schemas:extension:egencia:2.0:User:
singleSignOnId: api.sample@egencia.com
userAuthenticationMode: SSO
Request with multiple patch operations:
description: Request with multiple patch operations
value:
schemas:
- urn:ietf:params:scim:api:messages:2.0:PatchOp
Operations:
- op: add
path: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:customDataFields
value:
- name: ff test
value: ff test value
- name: Test CDF
value: Test CDF
- op: add
path: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:companyId
value: '23'
- op: add
value:
userName: abcd
name:
givenName: Abcd
urn:ietf:params:scim:schemas:extension:egencia:2.0:User:
companyId: '23'
- op: replace
path: addresses[type eq "HOME"].streetAddress
value: 1010 Broadway Ave
- op: replace
path: addresses[type eq "HOME"]
value:
streetAddress: 911 Universal City Plaza
locality: Hollywood
region: CA
postalCode: '91608'
country: USA
formatted: '911 Universal City Plaza
Hollywood, CA 91608 US'
- op: replace
value:
emails:
- value: test@example.com
type: WORK
primary: true
- op: replace
value:
phoneNumbers:
- value: +91-9999999999
type: HOME
primary: true
- op: add
path: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
value: '11111'
schema:
$ref: '#/components/schemas/ScimPatchSchema'
description: SCIM compliant patch operation schema
required: true
responses:
'200':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
externalId: externalSystemIdentifier
userName: test@example.com
displayName: Test User
title: Mr
userType: NORMAL
name:
familyName: User
formatted: ''
givenName: Test
middleName: ''
preferredLanguage: en
active: true
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
userAuthenticationMode: SSO
customDataFields:
- name: Primary cost center
value: Test cost center
dateOfBirth: '1988-01-01'
documents:
- expirationDate: '2030-10-10'
issueCountry: USA
issueDate: '2020-10-10'
issueLocation: city
type: PAS
value: ABCDE1234
employeeNumber: employeeNumberValue
loyaltyPrograms:
- issuingSupplierCode: T4
lob: HOTEL
name: S-Card
type: LC
validFrom: '2020-10-10'
validTo: '2025-10-10'
value: S12345
organization: egenciaCompanyId
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: '1'
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: '1'
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
settings:
notifications:
reservationEmail: validReservationEmailValue
promoMail: true
serviceLevelIds:
- '12345'
approvers:
level1Approvers:
- '45678'
delegateApprovers:
- testapprover
arrangers:
- id: '56789'
emails:
- primary: true
type: WORK
value: test@example.com
phoneNumbers:
- primary: true
type: WORK
value: +44-1234512345
addresses:
- country: GB
formatted: address line 1, cityname, state, GB, XXXXXX
locality: city name
postalCode: XXXXX
region: region or state
streetAddress: address line 1
type: WORK
groups:
- display: displayName
value: travelerGroup
roles:
- display: Self Booker
primary: true
value: Self Booker
description: Patch api success
'401':
content:
application/scim+json:
example:
error:
code: EGE-ER-4001
message: Unauthorised access, you do not have sufficient permissions to perform this action.
description: 'Unauthorized : Authentication token empty, invalid or expired.'
'403':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin.
status: '403'
description: 'Forbidden : User not Validated for operation.'
'404':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: User not found, you are trying to access an invalid or non existent user.
status: '404'
data:
- attribute: id
message: Requested user identifier is invalid.
description: 'Not Found : Resource Not Found.'
'422':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid or missing parameters encountered, we are unable to process your request.
status: '422'
data:
- attribute: userName
message: userName needs to be specified and cannot be empty or null
description: 'Invalid input : Invalid or missing required input.'
'500':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Your request could not be completed due to some error. Please try again later.
status: '500'
data:
- attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms
message: Error occurred while processing loyalty program associations.
description: 'Internal Server Error : Unable to process request.'
'503':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: We are unable to process your request right now. Please try again later.
status: '503'
data: []
description: 'Service unavailable : Unable to process request at the moment.'
security:
- OAuth2: []
summary: Perform patch operation on the user with the given user Id.
tags:
- SCIM User Sync V1
put:
operationId: updateUser_2
parameters:
- in: path
name: userId
required: true
schema:
type: string
requestBody:
content:
application/scim+json:
examples:
Request with all the supported attributes:
description: Request with all the supported attributes
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
externalId: externalSystemIdentifier
userName: test@example.com
displayName: Test User
title: Mr
userType: NORMAL
name:
familyName: User
formatted: ''
givenName: Test
middleName: ''
preferredLanguage: en
active: true
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
userAuthenticationMode: SSO
singleSignOnId: test@example.com
customDataFields:
- name: Primary cost center
value: Test cost center
dateOfBirth: '1988-01-01'
documents:
- expirationDate: '2030-10-10'
issueCountry: USA
issueDate: '2020-10-10'
issueLocation: city
type: PAS
value: ABCDE1234
employeeNumber: employeeNumberValue
loyaltyPrograms:
- issuingSupplierCode: T4
lob: HOTEL
name: S-Card
type: LC
validFrom: '2020-10-10'
validTo: '2025-10-10'
value: S12345
organization: egenciaCompanyId
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: Window
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: Window
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
promoMail: true
serviceLevelIds:
- '12345'
approvers:
level1Approvers:
- '45678'
delegateApprovers:
- testapprover
arrangers:
- id: '56789'
settings:
notifications:
reservationEmail: validReservationEmailValue
emails:
- primary: true
type: work
value: test@example.com
phoneNumbers:
- primary: true
type: work
value: +44-1234512345
addresses:
- country: GB
formatted: address line 1, cityname, state, GB, XXXXXX
locality: city name
postalCode: XXXXX
region: region or state
streetAddress: address line 1
type: work
groups:
- display: displayName
value: travelerGroup
roles:
- display: displayName
primary: true
value: userRole
Request with basic attributes:
description: Request with basic attributes
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
Request with email settings:
description: Request with email settings
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
settings:
notifications:
reservationEmail: validReservationEmailValue
Request with phone number:
description: Request with phone number
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
phoneNumbers:
- primary: true
type: MOBILE
value: '+441234512345'
- type: WORK
value: '+441234512346'
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
Request with preferences:
description: Request with preferences
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: '1'
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: '1'
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
Request with preferences and documents:
description: Request with preferences and documents
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: Window
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: Window
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
documents:
- expirationDate: '2030-10-10'
issueCountry: USA
issueDate: '2020-10-10'
issueLocation: city
type: PAS
value: ABCDE1234
Request with preferences and loyalty program:
description: Request with preferences and loyalty program
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: '1'
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: Window
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
loyaltyPrograms:
- issuingSupplierCode: T4
lob: HOTEL
name: S-Card
type: LC
validFrom: '2020-10-10'
validTo: '2025-10-10'
value: S12345
Request with roles and approvers:
description: Request with roles and approvers
value:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
userName: api.sample@egencia.com
title: '1'
userType: NORMAL
name:
familyName: Test
givenName: Sample
middleName: Api
active: true
emails:
- primary: true
type: work
value: api.sample@egencia.com
groups:
- value: General
roles:
- display: Self Booker
value: SELF_BOOKER
- display: Arranger
value: ARRANGER
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
organization: '12345'
dateOfBirth: '1988-01-01'
userAuthenticationMode: SSO
singleSignOnId: api.sample@egencia.com
customDataFields:
- name: Department code
value: Legal entity value
- name: Reporting field 2
value: custom value
approvers:
level1Approvers:
- approverone@egencia.com
level2Approvers:
- approvertwo@egencia.com
schema:
$ref: '#/components/schemas/UserSchema'
description: User Schema to be updated
required: true
responses:
'200':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:schemas:core:2.0:User
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
externalId: externalSystemIdentifier
userName: test@example.com
displayName: Test User
title: Mr
userType: NORMAL
name:
familyName: User
formatted: ''
givenName: Test
middleName: ''
preferredLanguage: en
active: true
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
userAuthenticationMode: SSO
customDataFields:
- name: Primary cost center
value: Test cost center
dateOfBirth: '1988-01-01'
documents:
- expirationDate: '2030-10-10'
issueCountry: USA
issueDate: '2020-10-10'
issueLocation: city
type: PAS
value: ABCDE1234
employeeNumber: employeeNumberValue
loyaltyPrograms:
- issuingSupplierCode: T4
lob: HOTEL
name: S-Card
type: LC
validFrom: '2020-10-10'
validTo: '2025-10-10'
value: S12345
organization: egenciaCompanyId
preferences:
- lob: AIR
mealType: '178'
preferredDepartureAirport: ''
seatType: '1'
specialRequest: Any special request
- lob: RAIL
seatDirection: Forward
seatRoom: Lower
seatSolo: true
seatType: '1'
- lob: HOTEL
smoking: Smoking
specialRequest: Any special request
- lob: CAR
specialRequest: Any special request
settings:
notifications:
reservationEmail: validReservationEmailValue
promoMail: true
serviceLevelIds:
- '12345'
approvers:
level1Approvers:
- '45678'
delegateApprovers:
- testapprover
arrangers:
- id: '56789'
emails:
- primary: true
type: WORK
value: test@example.com
phoneNumbers:
- primary: true
type: WORK
value: +44-1234512345
addresses:
- country: GB
formatted: address line 1, cityname, state, GB, XXXXXX
locality: city name
postalCode: XXXXX
region: region or state
streetAddress: address line 1
type: WORK
groups:
- display: displayName
value: travelerGroup
roles:
- display: Self Booker
primary: true
value: Self Booker
description: Updated.
'400':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid parameters
status: '400'
description: 'Bad Request : Invalid input or request'
'401':
content:
application/scim+json:
example:
error:
code: EGE-ER-4001
message: Unauthorised access, you do not have sufficient permissions to perform this action.
description: 'Unauthorized : Authentication token empty, invalid or expired.'
'403':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Unauthorised access, you do not have sufficient permissions to perform this action. Contact your admin.
status: '403'
description: 'Forbidden : User not Validated for operation.'
'422':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Invalid or missing parameters encountered, we are unable to process your request.
status: '422'
data:
- attribute: userName
message: userName needs to be specified and cannot be empty or null
description: 'Invalid input : Invalid or missing required input.'
'500':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: Your request could not be completed due to some error. Please try again later.
status: '500'
data:
- attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.loyaltyPrograms
message: Error occurred while processing loyalty program associations.
description: 'Internal Server Error : Unable to process request.'
'503':
content:
application/scim+json:
example:
schemas:
- urn:ietf:params:scim:api:messages:2.0:Error
detail: We are unable to process your request right now. Please try again later.
status: '503'
data: []
description: 'Service unavailable : Unable to process request at the moment.'
security:
- OAuth2: []
summary: Updates an existing user in the system with the requested information.
tags:
- SCIM User Sync V1
servers:
- url: https://apis.egencia.com/openconnect/api
description: Generated server url
components:
schemas:
UserSchema:
type: object
description: The user resource schema.
properties:
emails:
type: array
description: The email addresses associated with the user account.
items:
$ref: '#/components/schemas/EmailSchema'
maxItems: 1
minItems: 1
meta:
$ref: '#/components/schemas/MetaSchema'
description: The attribute containing the resource metadata.
name:
$ref: '#/components/schemas/NameSchema'
description: The name details of the user like first name, last name, etc. This is a mandatory property.
schemas:
type: array
description: The schema urns for the associated resource.
items:
type: string
uniqueItems: true
urn:ietf:params:scim:schemas:extension:egencia:2.0:Admin:
$ref: '#/components/schemas/AdminUserSchema'
description: Extended custom attributes specific to Egencia travel management system.
userName:
type: string
description: A service provider's unique identifier for the user, typically used by the user to directly authenticate to the service provider. The value must be an email value with valid @ domain. Maximum supported characters is 60.
required:
- emails
- name
- schemas
- urn:ietf:params:scim:schemas:extension:egencia:2.0:Admin
title: User schema
PointOfSaleSchema:
type: object
description: The complex model containing point of sale association.
properties:
operation:
type: string
description: The operation for point of sale
enum:
- REMOVE
- ADD
- UPDATE
- STATUS_CHANGE
pointOfSaleId:
type: integer
format: int64
description: The point of sale id
minimum: 1
role:
type: string
description: The role of the user against POS
status:
type: string
description: The admin user status
enum:
- ACTIVE
- INACTIVE
- PENDING
- DELETED
userId:
type: integer
format: int64
description: The admin user id
required:
- pointOfSaleId
- role
title: Name
SearchRequest:
type: object
description: The user search schema. Currently it supports only emails with eq operator.
properties:
filter:
type: string
description: Contains the expression for filtering the request. Currently only search by email, name, username and singleSignOnId is supported with eq operator. This filter attribute can be used to collect Egencia ID by searching via email and Egencia website ID
example: emails[value eq "test@xyz.com"] and urn:ietf:params:scim:schemas:extension:enterprise:2.0:User[organization eq 999]
meta:
$ref: '#/components/schemas/MetaSchema'
description: The attribute containing the resource metadata.
schemas:
type: array
description: The schema urns for the associated resource.
items:
type: string
uniqueItems: true
required:
- filter
- schemas
title: SearchRequest
AdminUserSchema:
type: object
description: The extended custom attributes specific to Egencia travel management system.
properties:
department:
type: string
description: The department of the admin user.
maxLength: 40
minLength: 0
geography:
type: string
description: The geography of the admin user.
maxLength: 40
minLength: 0
partner:
type: string
description: The partner of the admin user.
maxLength: 40
minLength: 0
pointOfSales:
type: array
description: The pointOfSales of the admin user.
items:
$ref: '#/components/schemas/PointOfSaleSchema'
maxItems: 2147483647
minItems: 1
status:
type: string
description: To update status for all Point Of Sales
required:
- department
- geography
- partner
- pointOfSales
title: Admin user
ScimPatchOperationSchema:
type: object
description: A complex object for scim patch oeration.
properties:
op:
type: string
path:
type: string
value: {}
title: ScimPatchOperation
ScimPatchSchema:
type: object
description: The user patch request schema.
properties:
Operations:
type: array
description: List of scim patch operations.
items:
$ref: '#/components/schemas/ScimPatchOperationSchema'
maxItems: 2147483647
minItems: 1
meta:
$ref: '#/components/schemas/MetaSchema'
description: The attribute containing the resource metadata.
schemas:
type: array
description: The schema urns for the associated resource.
items:
type: string
uniqueItems: true
required:
- Operations
- schemas
title: ScimPatchSchema
NameSchema:
type: object
description: The complex model containing name attributes of the user.
properties:
familyName:
type: string
description: The family or last name of the user. This field is mandatory and cannot be empty. Maximum supported characters is 40.
maxLength: 40
minLength: 0
formatted:
type: string
description: The formatted name of the user
givenName:
type: string
description: The given or first name of the user. This field is mandatory and cannot be empty. Maximum supported characters is 40.
maxLength: 40
minLength: 0
middleName:
type: string
description: The middle name of the user. Maximum supported characters is 40.
maxLength: 40
minLength: 0
required:
- familyName
- givenName
title: Name
EmailSchema:
type: object
description: The complex model containing email details of the user.
properties:
primary:
type: boolean
description: Identifier flag to determine whether the address is primary or not.
type:
type: string
description: Type of email. Ex. WORK. Please refer the Enumerations section for the values supported.
enum:
- WORK
value:
type: string
description: The value of the email address. It needs to be in a standard format and cannot be empty.
minLength: 1
required:
- type
- value
title: Email
MetaSchema:
type: object
description: A complex attribute containing resource metadata.
properties:
created:
type: string
format: date-time
description: The creation time metadata.
lastModified:
type: string
format: date-time
description: The last modification time.
location:
type: string
format: uri
description: The location of the user resource accessible by URI.
version:
type: string
description: The version of the resource.
title: Meta
LoyaltyProgramSchema:
type: object
description: The complex model containing details of loyalty programs associated with the user.
properties:
accreditive:
type: boolean
class:
type: string
description: The cabin class to which the loyalty program applies to. e.g. FIRST, SECOND. (applicable to Rail only)
code:
type: string
description: The loyalty program code associated with the membership program.
issuingSupplierCode:
type: string
description: The name of the supplier issuing the loyalty program. This field is mandatory and cannot be empty.
minLength: 1
lob:
type: string
description: The line of business type to which loyalty program is associated e.g. AIR, CAR, HOTEL, RAIL. Please refer the Enumerations section for the values supported.
name:
type: string
description: The name of the loyalty membership program. This field is mandatory and cannot be empty.
minLength: 1
type:
type: string
description: The type of loyalty program if any. Please refer the Enumerations section for the values supported.
validFrom:
type: string
format: date
description: The date from which the loyalty program is valid. (ISO 8601 date format YYYY-MM-DD)
validTo:
type: string
format: date
description: The date to which the loyalty program is valid. (ISO 8601 date format YYYY-MM-DD)
value:
type: string
description: The value of the loyalty program or membership id. This field is mandatory except for UK RAIL loyalty programs and cannot be greater than 30 characters
maxLength: 30
minLength: 1
required:
- issuingSupplierCode
- lob
- name
- value
title: LoyaltyProgramSchema
NameSchema_2:
type: object
description: The complex model containing name attributes of the user.
properties:
familyName:
type: string
description: The family or last name of the user. This field is mandatory and cannot be empty. Maximum supported characters is 40.
maxLength: 40
minLength: 0
formatted:
type: string
description: The formatted name of the user
givenName:
type: string
description: The given or first name of the user. This field is mandatory and cannot be empty. Maximum supported characters is 40.
maxLength: 40
minLength: 0
honorificPrefix:
type: string
description: The honorific prefix(es) of the User, or title in most Western languages (e.g., "Ms". given the full name "Ms. Barbara Jane Jensen, III"). This field is mandatory except for companies located in US for which it's ignored. Please refer the Enumerations section for the values supported. You need to pass label in this field. This field is not supported in version 1 of user APIs.
middleName:
type: string
description: The middle name of the user. Maximum supported characters is 40.
maxLength: 40
minLength: 0
required:
- familyName
- givenName
title: NameSchema
ApproverSchema:
type: object
description: Approver details for the user like level 1, level 2 approvers etc. Approver of a user must already exist and its unique id needs to be passed to associate that approver with a user. The Username (email value) or TUID (Egencia ID) to be set as the Approver of the user.
properties:
delegateApprovers:
type: array
description: Delegate Approver details for the user. Delegate Approver of a user must already exist and its unique id needs to be passed to associate that as a delegate to a user with Approver role
items:
type: string
level1Approvers:
type: array
description: Level 1 approvers associated with the user.
items:
type: string
level2Approvers:
type: array
description: Level 2 approvers associated with the user.
items:
type: string
title: ApproverSchema
GroupSchema:
type: object
description: The complex model containing details of traveller group to which user is associated.
properties:
display:
type: string
description: The displayable value of the group.
value:
type: string
description: Egencia Traveler Group - the value of the group to which the user is associated. This field is mandatory and cannot be empty and must match with value on Egencia website.
minLength: 1
required:
- value
title: GroupSchema
AddressSchema:
type: object
description: The complex model containing contact address attributes of the user.
properties:
country:
type: string
description: The value of the user address country. It should be 3 letters (alpha-3) or 2 letters (alpha-2) ISO country code of the address. This field is mandatory and cannot be empty. Version 1 of the APIs support 3 letter country code while version 2 supports 2 letter country code
maxLength: 3
minLength: 2
formatted:
type: string
description: The formatted address value.
locality:
type: string
description: The locality of the contact address.
postalCode:
type: string
description: The postal code of the address. This field is mandatory and cannot be empty.
minLength: 1
region:
type: string
description: The region or city of the contact address. This field is mandatory and cannot be empty.
streetAddress:
type: string
description: The value of the street address or address line 1. This field is mandatory and cannot be empty.
minLength: 1
type:
type: string
description: The type of physical address.
enum:
- HOME
required:
- country
- postalCode
- region
- streetAddress
- type
title: AddressSchema
UserSettingsSchema:
type: object
description: Schema to denote the user settings.
properties:
notifications:
$ref: '#/components/schemas/UserNotificationsSchema'
description: User Notifications Schema
title: UserSettingSchema
UserNotificationsSchema:
type: object
description: Schema to denote user notifications settings.
properties:
outOfPolicyPurchaseEmails:
type: array
description: Email ids of users to notify when a purchase is out of policy.
items:
type: string
reservationEmail:
type: string
description: 'The reservation email setting of user. Valid values are : {ALL, NONE_EXCEPT_MY_ETICKETS, NORMAL}. Default value is NORMAL. ALL is supported only for Travel Directors and Manage User roles. Please refer the Enumerations section for the values supported.'
title: UserNotificationSchema
CustomDataFieldSchema:
type: object
description: Egencia reporting fields. A complex attribute containing custom data fields associated with the user.
properties:
name:
type: string
description: The name of the custom data field definition. This field is mandatory and cannot be empty. By default, maximum supported characters is 50.
minLength: 1
value:
type: string
description: The value of the custom data field code which needs to be associated with the user. This field is mandatory and cannot be empty. If the custom data field is of LIST type, the value provided must match with value on Egencia website. By default, maximum supported characters is 30 for LIST type and 50 for FREE_FIELD.
minLength: 1
required:
- name
- value
title: CustomDataFieldSchema
EmailSchema_2:
type: object
description: The complex model containing email details of the user.
properties:
primary:
type: boolean
description: Identifier flag to determine whether the address is primary or not.
type:
type: string
description: Type of email. Ex. WORK. Please refer the Enumerations section for the values supported.
enum:
- WORK
value:
type: string
description: The value of the email address. It needs to be in a standard format and cannot be empty.
minLength: 1
required:
- type
- value
title: EmailSchema
ArrangerSchema:
type: object
description: The complex model containing arrangers of the user.
properties:
email:
type: string
id:
type: string
description: User id of the arranger associated with the user.
pattern: ([1-9]([0-9]*))
userName:
type: string
description: Username of the arranger associated with the user.
title: ArrangerSchema
DocumentSchema:
type: object
description: The complex model containing user document details like passport, Id card, etc.
properties:
expirationDate:
type: string
format: date
description: The expiration date of the document. (ISO 8601 date format YYYY-MM-DD)
issueCountry:
type: string
description: The value of the document issue country. It should be 3 letters (alpha-3) or 2 letters (alpha-2) ISO country code of the document issuing country. Version 1 of the APIs support 3 letter country code while version 2 supports 2 letter country code
maxLength: 3
minLength: 2
issueDate:
type: string
format: date
description: The issuing date of the document. (ISO 8601 date format YYYY-MM-DD)
issueLocation:
type: string
description: The name of the document issuing city.
type:
type: string
description: The type code of the document e.g. passport, ID card, etc. Except China and Hong Kong, for rest of the countries we only support documents of type PAS, ID & DL. Please refer the Enumerations section for the values supported
value:
type: string
description: The value of the document. This field is mandatory and cannot be empty.
minLength: 1
required:
- type
- value
title: DocumentSchema
RoleSchema:
type: object
description: The complex model containing role details to which the user is associated.
properties:
display:
type: string
description: The displayable value of the role.
primary:
type: boolean
description: The flag to represent if a role is primary or not.
value:
type: string
description: The value of the role associated with the user. Please refer the Enumerations section for the values supported.
enum:
- SELF_BOOKER, ARRANGER, FLEXIBLE_ARRANGER, GUEST_MANAGER
required:
- value
title: RoleSchema
UserSchema_2:
type: object
description: The user resource schema.
properties:
active:
type: boolean
description: The status of the user's profile.Please provide 'true' for active user or 'false' inactive user.
addresses:
type: array
description: The physical contact addresses associated with the user account.
items:
$ref: '#/components/schemas/AddressSchema'
maxItems: 1
minItems: 1
displayName:
type: string
description: The name of the user, suitable for display to end-users.
emails:
type: array
description: The email addresses associated with the user account.
items:
$ref: '#/components/schemas/EmailSchema_2'
maxItems: 1
minItems: 1
externalId:
type: string
description: Is an identifier for the user resource as defined by the provisioning client.
groups:
type: array
description: A list of traveller groups to which the user is associated. The user can be associated with only one traveller group at the moment.
items:
$ref: '#/components/schemas/GroupSchema'
maxItems: 1
minItems: 0
id:
type: string
description: Is an unique identifier for the user resource as defined by the service provider.
meta:
$ref: '#/components/schemas/MetaSchema_2'
description: The attribute containing the resource metadata.
name:
$ref: '#/components/schemas/NameSchema_2'
description: The name details of the user like first name, last name, etc. This is a mandatory property.
phoneNumbers:
type: array
description: The phone numbers associated with the user account. Multiple types of phone numbers are supported.
items:
$ref: '#/components/schemas/ContactSchema'
preferredLanguage:
type: string
description: The user's preferred language. This field is not supported for US point of sale. If preferredLanguage is not passed, the default language which is configured for that company is set here. The supported languages are {"es","da","de","el","en","fr","it","nl","pt","fi","dv","cs","et","lv","lt","hu","mt","pl","sk","sl","bg","ro","tr","zh","nb","sv"}. eg. en, sv, etc.
roles:
type: array
description: A list of roles for the user that collectively represent who the user is, e.g. Self-booker, Arranger, Flexible Arranger etc.
items:
$ref: '#/components/schemas/RoleSchema'
uniqueItems: true
schemas:
type: array
description: The schema urns for the associated resource.
items:
type: string
uniqueItems: true
title:
type: string
description: The user's salutation or title. This field is mandatory except for companies located in US for which it's ignored. Please refer the Enumerations section for the values supported.
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:
$ref: '#/components/schemas/EnterpriseUserSchema'
description: Extended custom attributes specific to Egencia travel management system.
userName:
type: string
description: A service provider's unique identifier for the user, typically used by the user to directly authenticate to the service provider. The value must be an email value with valid @ domain. Maximum supported characters is 60.
maxLength: 60
minLength: 0
userType:
type: string
description: The user's type. This field is mandatory. Please refer the Enumerations section for the values supported.
enum:
- NORMAL, GUEST
required:
- active
- displayName
- emails
- externalId
- id
- name
- schemas
- urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
- userType
title: UserSchema
EnterpriseUserSchema:
type: object
description: The extended custom attributes specific to Egencia travel management system.
properties:
approvers:
$ref: '#/components/schemas/ApproverSchema'
description: Approver details for the user like level 1, level 2 approvers etc. Approver of a user must already exist and its unique id needs to be passed to associate that approver with a user. The Username (email value) or TUID (Egencia ID) to be set as the Approver of the user.
arrangerGroups:
type: array
description: The arranger groups to which the user is associated with. The user must have an arranger role to get associated to an arranger group.
items:
type: string
arrangers:
type: array
description: Arrangers for the user. Arranger of a user must already exist and its unique id needs to be passed to associate that arranger with a user
items:
$ref: '#/components/schemas/ArrangerSchema'
customDataFields:
type: array
description: Egencia reporting fields. A complex attribute containing custom data fields associated with the user.
items:
$ref: '#/components/schemas/CustomDataFieldSchema'
dateOfBirth:
type: string
description: The date of birth of the user. (ISO 8601 date format YYYY-MM-DD)
documents:
type: array
description: A complex attribute containing documents associated with the user.
items:
$ref: '#/components/schemas/DocumentSchema'
employeeNumber:
type: string
description: The employee number of the requested user. This field is only supported for EU point of sale.
loyaltyPrograms:
type: array
description: A complex attribute containing details of loyalty programs associated with the user.
items:
$ref: '#/components/schemas/LoyaltyProgramSchema'
organization:
type: string
description: Egencia website unique ID. The organization Id or company Id associated with the user. This field is mandatory and cannot be empty.
minLength: 1
preferences:
type: array
description: A complex attribute containing details of the user preferences.
items:
$ref: '#/components/schemas/PreferenceSchema'
serviceLevelIds:
type: array
description: The service level details of the user.
items:
type: string
settings:
$ref: '#/components/schemas/UserSettingsSchema'
description: User settings model
singleSignOnId:
type: string
description: The single sign-on id of the user. It is the SSO ID used for authentication. It will be username handled by Auth if not provided.
userAuthenticationMode:
type: string
description: The case sensitive Authentication mode of the user. Values supported are LOGIN or SSO. It is mandatory if the company is SSO_OR_LOGIN.
required:
- organization
title: EnterpriseUserSchema
ContactSchema:
type: object
description: The complex model containing contact attributes of the user.
properties:
primary:
type: boolean
description: Identifier flag to determine whether the contact is primary or not.
type:
type: string
description: The type of contact e.g. home, work, mobile, etc.
value:
type: string
description: 'The value of the contact in international format. The number should follow this pattern : +[country code]-[area code][phone number] eg. +44-1234512345, or +[country code][area code][phone number] eg. +441234512345. Please follow this link to know more : https://www.itu.int/rec/T-REC-E.123-200102-I/en'
minLength: 1
required:
- type
- value
title: ContactSchema
PreferenceSchema:
type: object
description: The complex model containing details of the user preferences.
properties:
lob:
type: string
description: The line of business type to which preference is associated e.g. AIR, CAR, HOTEL, RAIL. This field is mandatory and cannot be empty. Please refer the Enumerations section for the values supported.
minLength: 1
mealType:
type: string
description: The preferred meal type. (applicable to Air only)
preferredDepartureAirport:
type: string
description: The IATA code of the preferred departure airport. (applicable to Air only)
seatDirection:
type: string
description: The preferred seat direction e.g. Forward, Any, etc. (applicable to Rail only)
seatFreeOfCharge:
type: string
description: The flag to specify if a seat free of charge is to be booked (applicable to Rail only).
enum:
- 0, 1
seatRoom:
type: string
description: The preferred seat room e.g. Upper, Lower, Any. (applicable to Rail only)
seatSolo:
type: string
description: The flag to specify if a solo seat is preferred for first class (applicable to Rail only).
enum:
- 0, 1
seatType:
type: string
description: The preferred seat type e.g. Window, Aisle, etc.
smoking:
type: string
description: The smoking room preference e.g. Smoking, Non-smoking, Any. (applicable to Hotel only).
enum:
- 0, 1, 2
specialRequest:
type: string
description: Any special request. The value cannot be greater than 80 characters
maxLength: 80
minLength: 1
required:
- lob
title: PreferenceSchema
MetaSchema_2:
type: object
description: A complex attribute containing resource metadata.
properties:
created:
type: string
format: date-time
description: The creation time metadata.
lastModified:
type: string
format: date-time
description: The last modification time.
location:
type: string
format: uri
description: The location of the user resource accessible by URI.
version:
type: string
description: The version of the resource.
title: MetaSchema
securitySchemes:
OAuth2:
flows:
clientCredentials:
tokenUrl: https://apis.egencia.com/auth/v1/token
type: oauth2
x-refined-from:
- amex-gbt-service-openconnect-openapi.json
- amex-gbt-user-sync-api-openapi.json