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

\n

Examples:

\n

Replace {baseUrl} with the actual value of Egencia APIs host. Please refer Base Urls section under API Overview page of Egencia Developer Center.

\n

Deleting 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