openapi: 3.2.0 info: title: Amex Gbt SCIM User Sync V2 API version: '1.0' description: 'Operations tagged SCIM User Sync V2 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 version 2. name: SCIM User Sync V2 paths: /scim/v2/Users: get: description: "

Search/retrieve users based on the filter string parameter. Please be cautious if you are using organization token, search API will only return users of parent company if company is not provided in the filter criteria.

\n
\n

Results are returned in ascending order of userIds.

\n

Note: We only support search by email, name, userName and singleSignOnId. Since filter attribute contains special characters like square brackets, clients need to encode the filter attribute value.

\n
\n    \n        For search by email with value as test@egencia.com, you need to pass encoded value in filter which will be :\n        filter = emails%5Bvalue%20eq%20%22test%40egencia.com%22%5D\n        which is the encoded value for filter = emails[value eq \"test@egencia.com\"]\n    \n
\n" operationId: getUsers_1 parameters: - description: SCIM compliant filter attribute to take query string. If you are using any external tool to make the API call, please make sure to encode the filter value. examples: Search Users By Company: description: Replace {companyId} by the egencia company Id you want to search. value: urn:ietf:params:scim:schemas:extension:egencia:2.0:User[companyId eq "{companyId}"] Search Users By Email: description: Replace {email} by the email you want to search. value: emails[value eq "{email}"] Search Users By Email and Company: description: Replace {email} by the email and {companyId} by the egencia company Id you want to search. value: emails[value eq "{email}"] and urn:ietf:params:scim:schemas:extension:egencia:2.0:User[companyId eq "{companyId}"] Search Users By Name: description: Replace {givenName} by the first name of the user and {familyName} by the last name of the user you want to search. value: name[givenName eq "{givenName}" and familyName eq "{familyName}"] Search Users By Name and Company: description: Replace {givenName} by the first name of the user, {familyName} by the last name of the user and {companyId} by the egencia company Id you want to search. value: name[givenName eq "{givenName}" and familyName eq "{familyName}"] and urn:ietf:params:scim:schemas:extension:egencia:2.0:User[companyId eq "{companyId}"] Search Users By No Filter: description: No need to pass anything in filter. Search Users By Single Sign On Id: description: Replace {singleSignOnId} by the single sing on Id you want to search. value: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:singleSignOnId eq "{singleSignOnId}" Search Users By Single Sign On Id and Company: description: Replace {singleSignOnId} by the single sign on Id and {companyId} by the egencia company Id you want to search. value: urn:ietf:params:scim:schemas:extension:egencia:2.0:User:singleSignOnId eq "{singleSignOnId}" and urn:ietf:params:scim:schemas:extension:egencia:2.0:User:companyId eq "{companyId}" Search Users By Username: description: Replace {userName} by the username you want to search. value: userName eq "{userName}" Search Users By Username and Company: description: Replace {userName} by the username and {companyId} by the egencia company Id you want to search. value: userName eq "{userName}" and urn:ietf:params:scim:schemas:extension:egencia:2.0:User[companyId eq "{companyId}"] in: query name: filter required: false schema: type: string - description: 1-based start index in: query name: startIndex required: false schema: type: integer format: int32 default: 1 exclusiveMinimum: 0 - description: Number of resources to be returned. Maximum supported value is 100 in: query name: count required: false schema: type: integer format: int32 default: 20 exclusiveMinimum: 0 maximum: 100 responses: '200': content: application/scim+json: example: schemas: - urn:ietf:params:scim:api:messages:2.0:ListResponse itemsPerPage: 1 startIndex: 1 totalResults: 1 Resources: - schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User meta: created: '2024-07-17T00:00:00.000Z' lastModified: '2024-07-17T00:00:00.000Z' location: '{baseUrl}/openconnect/api/scim/v2/Users/12345' id: egenciaUniqueIdentifier externalId: externalSystemIdentifier userName: test@example.com name: familyName: User formatted: '' givenName: Test middleName: '' honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - id: '4567' level2Approvers: - id: '4567' delegateApprovers: - id: '123' arrangerGroups: - arrangerGroup1 arrangers: - id: '5678' - userName: testarranger1 companyId: egenciaCompanyId customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1989-01-01' documents: - expirationDate: '2031-10-10' issueCountry: US issueDate: '2020-10-10' issueLocation: city type: PAS value: ABCDE1234 loyaltyPrograms: - issuingSupplierCode: T4 lob: HOTEL name: S-Card type: LC validFrom: '2021-10-10' validTo: '2025-10-10' value: S12345 preferences: - lob: AIR mealType: '178' preferredDepartureAirport: '' seatType: '1' specialRequest: Any special requests - lob: RAIL seatDirection: Forward seatRoom: Lower seatSolo: true seatType: '1' - lob: HOTEL smoking: Smoking specialRequest: Any special requests - lob: CAR specialRequest: Any special requests serviceLevelIds: - '12345' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: singleSignOnIdValue userAuthenticationMode: SSO emails: - primary: true type: WORK value: test@abc.com phoneNumbers: - primary: true type: WORK value: +44-1234512345 addresses: - country: GB formatted: address line 1, cityname, state, GB, 123212 locality: city name postalCode: '123212' region: region or state streetAddress: address line 1 type: WORK groups: - display: displayName value: travelerGroup roles: - 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 V2 post: operationId: createUser_1 requestBody: content: application/json: examples: Create user with basic and extension attributes: description: Create user with basic and extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue Create user with basic attributes: description: Create user with basic attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER Create user with basic, extension and egencia extension attributes: description: Create user with basic, extension and egencia extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - userName: approverone@egencia.com level2Approvers: - userName: approvertwo@egencia.com delegateApprovers: - userName: approver@egencia.com arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' companyId: egenciaCompanyId customDataFields: - name: Cdf Name value: Cdf Value dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '123' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: api.sample@egencia.com userAuthenticationMode: SSO Create user with minimal attributes: description: Create user with minimal attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: '' userType: NORMAL active: true emails: - type: WORK value: test@egencia.com primary: true addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 schema: $ref: '#/components/schemas/UserSchemaV2' application/scim+json: examples: Create user with basic and extension attributes: description: Create user with basic and extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue Create user with basic attributes: description: Create user with basic attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER Create user with basic, extension and egencia extension attributes: description: Create user with basic, extension and egencia extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - userName: approverone@egencia.com level2Approvers: - userName: approvertwo@egencia.com delegateApprovers: - userName: approver@egencia.com arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' companyId: egenciaCompanyId customDataFields: - name: Cdf Name value: Cdf Value dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '123' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: api.sample@egencia.com userAuthenticationMode: SSO Create user with minimal attributes: description: Create user with minimal attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User userName: test@egencia.com name: familyName: User givenName: Test middleName: '' userType: NORMAL active: true emails: - type: WORK value: test@egencia.com primary: true addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 schema: $ref: '#/components/schemas/UserSchemaV2' description: User Schema to be created required: true responses: '201': content: application/scim+json: example: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User meta: created: '2024-07-17T00:00:00.000Z' lastModified: '2024-07-17T00:00:00.000Z' location: '{baseUrl}/openconnect/api/scim/v2/Users/egenciaUniqueIdentifier' id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - userName: approverone@egencia.com level2Approvers: - userName: approvertwo@egencia.com delegateApprovers: - userName: approver@egencia.com arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' companyId: egenciaCompanyId customDataFields: - name: Cdf Name value: Cdf Value dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '123' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: api.sample@egencia.com userAuthenticationMode: SSO 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.' '409': 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: '409' data: - attribute: userName message: Username already exists. description: 'Conflict : User already exists.' '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 V2 servers: - url: https://apis.egencia.com/openconnect/api description: Generated server url /scim/v2/Users/{userId}: delete: description: "

Delete the user with the given user Id in the path

\n

Request Parameters

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Attribute\n \n Type\n \n Description\n
userIdStringUser Id of the user to be deleted
\n
\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/v2/Users/test_user_id\n        Response:\n            -> 204 No Content\n   \n
\n" operationId: deleteUserUser_1 parameters: - description: User Id of the user to be deleted in: path name: userId required: true schema: type: string responses: '204': description: No Content. '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: We are unable to process the request due to missing mandatory or invalid parameters. status: '422' data: - attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.documents message: One or more invalid user documents are supplied. - attribute: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.preferences message: One or more invalid user preferences are supplied. 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: Delete the user in the system with the given user Id. tags: - SCIM User Sync V2 get: operationId: getUser_1 parameters: - description: Id of the user to be retrieved in: path name: userId required: true schema: type: string - in: query name: attributes required: false schema: type: array items: 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:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User meta: created: '2024-07-17T00:00:00.000Z' lastModified: '2024-07-17T00:00:00.000Z' location: '{baseUrl}/openconnect/api/scim/v2/Users/12345' id: egenciaUniqueIdentifier externalId: externalSystemIdentifier userName: test@example.com name: familyName: User formatted: '' givenName: Test middleName: '' honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: employeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - id: '45678' level2Approvers: - id: '45678' delegateApprovers: - id: '123' arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' - userName: testarranger companyId: egenciaCompanyId customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '12345' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: singleSignOnIdValue userAuthenticationMode: SSO 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, 123212 locality: city name postalCode: '123212' region: region or state streetAddress: address line 1 type: WORK groups: - display: displayName value: travelerGroup roles: - 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 V2 patch: operationId: patchUser_1 parameters: - description: Id of the user to be updated in: path name: userId required: true schema: type: string requestBody: content: application/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' 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:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User meta: created: '2024-07-17T00:00:00.000Z' lastModified: '2024-07-17T00:00:00.000Z' location: '{baseUrl}/openconnect/api/scim/v2/Users/12345' id: egenciaUniqueIdentifier externalId: externalSystemIdentifier userName: test@example.com name: familyName: User formatted: '' givenName: Test middleName: '' honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: employeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - id: '45678' level2Approvers: - id: '45678' delegateApprovers: - id: '123' arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' - userName: testarranger companyId: egenciaCompanyId customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '12345' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: singleSignOnIdValue userAuthenticationMode: SSO 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, 123212 locality: city name postalCode: '123212' region: region or state streetAddress: address line 1 type: WORK groups: - display: displayName value: travelerGroup roles: - SELF_BOOKER description: Patch 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.' '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 V2 put: operationId: updateUser_1 parameters: - description: Id of the user to be updated in: path name: userId required: true schema: type: string requestBody: content: application/json: examples: Update user with basic and extension attributes: description: Update user with basic and extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue Update user with basic attributes: description: Update user with basic attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER Update user with basic, extension and egencia extension attributes: description: Update user with basic, extension and egencia extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - userName: approverone@egencia.com level2Approvers: - userName: approvertwo@egencia.com delegateApprovers: - userName: approver@egencia.com arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' companyId: egenciaCompanyId customDataFields: - name: Cdf Name value: Cdf Value dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '123' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: api.sample@egencia.com userAuthenticationMode: SSO Update user with minimal attributes: description: Update user with minimal attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: '' userType: NORMAL active: true emails: - type: WORK value: test@egencia.com primary: true addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 schema: $ref: '#/components/schemas/UserSchemaV2' application/scim+json: examples: Update user with basic and extension attributes: description: Update user with basic and extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue Update user with basic attributes: description: Update user with basic attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER Update user with basic, extension and egencia extension attributes: description: Update user with basic, extension and egencia extension attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: I formatted: Test I User honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true emails: - type: WORK value: test@egencia.com primary: true phoneNumbers: - type: MOBILE value: '+14254204087' addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 groups: - value: General roles: - SELF_BOOKER urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: testEmployeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - userName: approverone@egencia.com level2Approvers: - userName: approvertwo@egencia.com delegateApprovers: - userName: approver@egencia.com arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' companyId: egenciaCompanyId customDataFields: - name: Cdf Name value: Cdf Value dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '123' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: api.sample@egencia.com userAuthenticationMode: SSO Update user with minimal attributes: description: Update user with minimal attributes value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User id: egenciaUniqueIdentifier userName: test@egencia.com name: familyName: User givenName: Test middleName: '' userType: NORMAL active: true emails: - type: WORK value: test@egencia.com primary: true addresses: - type: HOME streetAddress: 1415 140TH AVE NE APT 15 locality: Bellevue region: WA postalCode: '98005' country: US formatted: 1415 140TH AVE NE APT 15 schema: $ref: '#/components/schemas/UserSchemaV2' 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:egencia:2.0:User - urn:ietf:params:scim:schemas:extension:enterprise:2.0:User meta: created: '2024-07-17T00:00:00.000Z' lastModified: '2024-07-17T00:00:00.000Z' location: '{baseUrl}/openconnect/api/scim/v2/Users/12345' id: egenciaUniqueIdentifier externalId: externalSystemIdentifier userName: test@example.com name: familyName: User formatted: '' givenName: Test middleName: '' honorificPrefix: Mr. userType: NORMAL preferredLanguage: en active: true urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: employeeNumber: employeeNumberValue urn:ietf:params:scim:schemas:extension:egencia:2.0:User: approvers: level1Approvers: - id: '45678' level2Approvers: - id: '45678' delegateApprovers: - id: '123' arrangerGroups: - arrangerGroup1 arrangers: - id: '56789' - userName: testarranger companyId: egenciaCompanyId customDataFields: - name: Primary cost center value: Test cost center dateOfBirth: '1988-01-01' documents: - expirationDate: '2030-10-10' issueCountry: US 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: '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 serviceLevelIds: - '12345' settings: notifications: reservationEmail: validReservationEmailValue singleSignOnId: singleSignOnIdValue userAuthenticationMode: SSO 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, 123212 locality: city name postalCode: '123212' region: region or state streetAddress: address line 1 type: WORK groups: - display: displayName value: travelerGroup roles: - 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 V2 servers: - url: https://apis.egencia.com/openconnect/api description: Generated server url components: schemas: UserSchemaV2: 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 emails: type: array description: The email addresses associated with the user account. items: $ref: '#/components/schemas/EmailSchema' 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' 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. 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"}. For Canada point of sale, supported languages are CA_fr and CA_en only. 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, MANAGE_USERS, GUEST_MANAGER, etc. items: type: string uniqueItems: true 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:User: $ref: '#/components/schemas/EgenciaExtensionUserSchemaV2' description: Extended custom attributes specific to Egencia travel management system. urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: $ref: '#/components/schemas/EnterpriseUserSchemaV2' description: Enterprise attributes for User profile. 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 - emails - externalId - id - name - schemas - userType title: UserSchemaV2 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: 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 EnterpriseUserSchemaV2: type: object description: Enterprise attributes for User profile. properties: employeeNumber: type: string description: The employee number of the requested user. This field is only supported for EU point of sale. title: EnterpriseUserSchemaV2 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 ApproverSchemaV2: type: object description: The complex model containing approver's id, userName, and externalId. properties: externalId: type: string description: External id of the approver associated with the user. id: type: string description: User id of the approver associated with the user. pattern: ([1-9]([0-9]*)) userName: type: string description: Username of the approver associated with the user. title: ApproverSchemaV2 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: 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 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 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 EgenciaExtensionUserSchemaV2: type: object description: The extended custom attributes specific to Egencia travel management system. properties: approvers: $ref: '#/components/schemas/AllApproversSchemaV2' 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' companyId: type: string description: Egencia website unique ID. The organization Id or company Id associated with the user. 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' loyaltyPrograms: type: array description: A complex attribute containing details of loyalty programs associated with the user. items: $ref: '#/components/schemas/LoyaltyProgramSchema' 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. subscribedCompanyIds: type: array description: The GPIDs, associated with the requested user's company, that are subscribed by the partner whose token is used. Populated only for partner tokens; it is null for customer tokens. items: type: string readOnly: true 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. title: EgenciaExtensionUserSchemaV2 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 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 ScimPatchOperationSchema: type: object description: A complex object for scim patch oeration. properties: op: type: string path: type: string value: {} title: ScimPatchOperation AllApproversSchemaV2: 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: $ref: '#/components/schemas/ApproverSchemaV2' level1Approvers: type: array description: Level 1 approvers associated with the user. items: $ref: '#/components/schemas/ApproverSchemaV2' level2Approvers: type: array description: Level 2 approvers associated with the user. items: $ref: '#/components/schemas/ApproverSchemaV2' title: ApproverSchemaV2 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 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 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 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