User Management REST APIs
Overview
Oracle CPQ customers can leverage identity management solutions such as Oracle Identity Cloud Service (IDCS) to simplify the administration of users and passwords. CPQ’s integration features simplify the implementation of identity services for Enterprise customers by allowing customers to delegate user management activities.
Oracle CPQ supports two User Management REST APIs as follows:
-
User REST APIs supports activities such as user creation, activation, revocation, and password management for host company users to IDCS or other Identity Service providers.
-
SCIM-Compliant User REST APIs are compliant with the System for Cross-domain Identity Management (SCIM) specification. The SCIM specification is an open standard that facilitates managing user identities across cloud-based applications and services. These endpoints retrieve user details and perform actions to create, update, or inactivate a user. The SCIM-Compliant User REST APIs are supported beginning with Oracle CPQ 23B and REST v14 and later.
Administration
User REST APIs
Administrators can retrieve user details, create and modify users, and reset user passwords via User REST APIs.
Description |
This endpoint returns all users accessible to the current user. |
|
---|---|---|
URI Endpoint |
/rest/v17/users |
|
Endpoint Query Parameters |
This endpoint supports the following query specifications. For more information, see Manage Collections.
|
|
Accept Header |
|
Returns a JSON object (default application type) |
application/zip |
Returns a zip file | |
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
The response will contain a list of all the users that the logged in user is authorized to view. The logged in user's access is governed by their company type, their user type, their user permissions and the administrator group(s) to which they are a member. Please review Administrator Access Control for additional details on user authorization. |
https://sitename.oracle.com/rest/v17/users
- To return a JSON object, set the Accept header to
application/json
. - To return a Zip file, set the Accept header to
application/zip
.
Query Examples:
-
Expand all users with groups details.
https://sitename.oracle.com/rest/v17/users?expand=groups
-
Expand all users with access permission, if Administrator Groups are disabled.
https://sitename.oracle.com/rest/v17/users?expand=accessPermissions
-
Return all host company users.
https://sitename.oracle.com/rest/v17/users?q={"company.loginName":"_host"}
-
Return all users of a partner organization.
https://sitename.oracle.com/rest/v17/users?q={"company.loginName”:"po1"}
-
Return all active users sorted by company name.
https://sitename.oracle.com/rest/v17/users?q={"status":1}&orderby=company.name
-
Return all active users of a partner organization sorted by user type.
https://sitename.oracle.com/rest/v17/users?q={"$and":[{"company.loginName":"po1"}, {"status":1}]}&orderby=type
-
Return all active users of a partner organization and BUY_ACCESS user type.
https://sitename.oracle.com/rest/v17/users?q={"$and":[{"company.loginName":"po1"}, {"status":1},{"type":"BUY_ACCESS"}]}
-
Return all active users of a partner organization sorted by company name and user type.
https://sitename.oracle.com/rest/v17/users?q={"$and":[{"company.loginName":"po1"}, {"status":1}]}
{ "items": [{ "login": "simon.watts", "isNotifyFax": false, "firstName": "Simon", "lastName": "Watts", "jobTitle": "Sales Manager", "email": "simon.watts_eczw@companyemail.com", "phone": "262-262-2627", "fax": "262-265-2655", "billCountry": "United States", "shipCountry": "United States", "shipFax": "262 265 2655", "partnerLogin": "john.dunbar", "externalSsoId": "simon.watts_eczw@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:47.000Z", "dateAdded": "2018-05-07T14:15:45.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/simon.watts" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/simon.watts/groups" } ], "lastLogin": "2018-05-07T15:23:58.000Z", "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "GBP", "displayValue": "United Kingdom Pound" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 2, "displayValue": "dd/MM/yyyy HH:mm" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "company": { "name": "abcCo", "loginName": "_host" } }, { "login": "takahiro.tayama", "isNotifyFax": false, "firstName": "Takahiro", "lastName": "Tayama", "jobTitle": "営業部長", "email": "takahiro.tayama_eczw@companyemail.com", "phone": "011-98-7-6543-2103", "fax": "011-98-7-6543-2102", "shipFax": "011-98-7-6543-2102", "partnerLogin": "john.dunbar", "externalSsoId": "takahiro.tayama_eczw@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:47.000Z", "dateAdded": "2018-05-07T14:15:45.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/takahiro.tayama" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/takahiro.tayama/groups" } ], "lastLogin": "2018-05-07T15:24:34.000Z", "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "ja_JP", "displayValue": "Japanese [Japan]" }, "currency": { "value": "JPY", "displayValue": "Japanese Yen" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 2, "displayValue": "dd/MM/yyyy HH:mm" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "company": { "name": "abcCo", "loginName": "_host" } }, { "login": "taro.hiraiwa", "isNotifyFax": false, "firstName": "Taro", "lastName": "Hiraiwa", "jobTitle": "営業担当者", "email": "taro.hiraiwa_eczw@companyemail.com", "phone": "011-98-7-6543-2101", "fax": "011-98-7-6543-2100", "shipFax": "011-98-7-6543-2100", "partnerLogin": "john.dunbar", "externalSsoId": "taro.hiraiwa_eczw@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:48.000Z", "dateAdded": "2018-05-07T14:15:45.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/taro.hiraiwa" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/taro.hiraiwa/groups" } ], "lastLogin": "2018-05-07T15:25:13.000Z", "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "ja_JP", "displayValue": "Japanese [Japan]" }, "currency": { "value": "JPY", "displayValue": "Japanese Yen" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 2, "displayValue": "dd/MM/yyyy HH:mm" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "company": { "name": "abcCo", "loginName": "_host" } }, { "login": "wei.wang", "isNotifyFax": false, "firstName": "Wei", "lastName": "Wang", "jobTitle": "销售代表", "email": "wei.wang_eczw@companyemail.com", "phone": "262-262-2627", "fax": "262-265-2655", "shipFax": "262 265 2655", "partnerLogin": "john.dunbar", "externalSsoId": "wei.wang_eczw@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:48.000Z", "dateAdded": "2018-05-07T14:15:46.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/wei.wang" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/wei.wang/groups" } ], "lastLogin": "2018-05-07T15:26:22.000Z", "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "zh_CN", "displayValue": "Chinese (Simplified) [China]" }, "currency": { "value": "CNY", "displayValue": "Chinese Yuan Renminbi" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 2, "displayValue": "dd/MM/yyyy HH:mm" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "company": { "name": "abcCo", "loginName": "_host" } }, { "login": "colby.morris", "isNotifyFax": false, "firstName": "Colby", "lastName": "Morris", "jobTitle": "Channel Account Manager", "email": "colby.morris_zenh@companyemail.com", "phone": "13105555237", "fax": "13105555239", "shipFax": "13105555239", "partnerLogin": "john.dunbar", "externalSsoId": "colby.morris_zenh@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:49.000Z", "dateAdded": "2018-05-07T14:15:39.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/colby.morris" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/colby.morris/groups" } ], "lastLogin": "2018-11-22T09:30:10.000Z", "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "USD", "displayValue": "US Dollar" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 0, "displayValue": "MM/dd/yyyy h:mm a" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "company": { "name": "abcCo", "loginName": "_host" } }, ... ], "offset": 0, "limit": 1000, "count": 61, "hasMore": false, "links": [{ "rel": "canonical", "href": "https://sitename.oracle.com/rest/v11/users" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v11/users?offset=0&limit=1000" } ] }
Description |
This endpoint returns all users for the specified company accessible to the current user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/users |
|
Endpoint Parameters |
companyName |
The company name associated with the user.
|
Endpoint Query Parameters |
This endpoint supports the following query specifications. For more information, see Manage Collections.
|
|
Accept Header |
|
Returns a JSON object (default application type) |
application/zip |
Returns a zip file | |
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
This endpoint returns a list of users for the specified company as JSON data or as a Zip file depending on Accept type passed in the request header. |
https://sitename.oracle.com/rest/v17/companies/abcCo/users
- To return a JSON object, set the Accept header to
application/json
. - To return a Zip file, set the Accept header to
application/zip
.
Query Examples:
-
Return all users in host company.
https://sitename.oracle.com/rest/v17/companies/_host/users
-
Return all active users in A1BM1 company.
https://sitename.oracle.com/rest/v17/companies/A1BM1/users?q={"status":1}
{ "items": [{ "dateModified": "2019-12-16T11:18:53.000Z", "dateAdded": "2012-10-08T16:56:31.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/companies/abcCo/users/jjones" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v17/companies/abcCo/users/jjones/groups" } ], "login": "jjones", "firstName": "John", "lastname": "Jones", "email": "john.jones@abcCo.com", "lastLogin": "2019-08-06T19:39:01.000Z", "separateShipAddr": false, "isNotifyEmail": true, "isNotifyFax": false, "isSuperUserPermEnabled": true, "isWebServicesOnly": false, "isAccessAdminPermEnabled": true, "isProxyPermEnabled": true, "type": { "value": "FULL_ACCESS", "displayValue": "FullAccess" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "USD", "displayValue": "US Dollar" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/Chicago", "displayValue": "(GMT-6:00 GMT-5:00) Chicago" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 0, "displayValue": "MM/dd/yyyy h:mm a" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "NOT_ENABLED", "displayValue": "Not Enabled" } } ], "offset": 0, "limit": 1000, "count": 118, "hasMore": false, "totalResults": 173 }
Description |
This endpoint is used to import users of specified company stored in a zip file. If administration groups are enabled, then only users with User Administrator permission and Access to the Bulk Upload segment are allowed to import users. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/actions/import |
|
Endpoint Parameters |
companyName |
The company name associated with the user.
|
Request Supported Media Type |
form-data |
|
Form Parameters |
File |
Select zip file to be imported |
HTTP Method |
POST |
|
Request Body Parameters |
None |
|
Response Body Parameters |
Upload File Task details |
https://sitename.oracle.com/rest/v17/companies/abcCo/actions/import
{ "taskId": 3022163950, "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/tasks/3022163950" } ] }
A task is initiated when you import users and the status log file will be associated with the task. After importing the users, you can view the status of the import and cancel the import.
Get Task Example
To view the status of the users import, initiate the Get Task REST API using the task id from the Import Company Users REST API response.
https://sitename.oracle.com/rest/v17/tasks/3022163950
{ "id": 3022163950, "dateModified": "11/16/2020 3:44 AM", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/tasks/3022163950" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/tasks" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/tasks/3022163950/files" } ], "name": "BulkUpload", "category": { "lookupCode": "4", "displayValue": "Bulk Upload" }, "status": "Completed", "executionTime": "11/16/2020 3:44 AM", "dateAdded": "11/16/2020 3:44 AM" }
Notes:
-
GET on files child resource will return link to the log file and GET on log file link will return the logs.
- To cancel the import users initiate the Cancel Task REST API using the task id from the Import Company Users REST API response.
Description |
This operation returns user details for a specific user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName} |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
JSON data for the user. Returns all attributes from the user object in JSON format. |
https://sitename.oracle.com/rest/v17/companies/_host/users/alicia.sans
{ "login": "alicia.sans", "isNotifyFax": false, "firstName": "Alicia", "lastName": "Sans", "jobTitle": "Representante de Ventas", "email": "alicia.sans_eczw@companyemail.com", "partnerLogin": "john.dunbar", "externalSsoId": "alicia.sans_eczw@companyemail.com", "separateShipAddr": false, "isNotifyEmail": true, "isWebServicesOnly": false, "dateModified": "2020-10-13T16:28:54.000Z", "dateAdded": "2018-05-07T14:15:38.000Z", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/alicia.sans" }, { "rel": "child", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/alicia.sans/groups" } ], "type": { "value": "SALES_AGENT", "displayValue": "SalesAgent" }, "language": { "value": "es_ES", "displayValue": "Spanish" }, "currency": { "value": "EUR", "displayValue": "Euro" }, "numberFormat": { "value": 0, "displayValue": "####.##" }, "timeZone": { "value": "America/New_York", "displayValue": "(GMT-5:00 GMT-4:00) New York" }, "units": { "value": 0, "displayValue": "System Default" }, "dateFormat": { "value": 2, "displayValue": "dd/MM/yyyy HH:mm" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" } }
Description |
This operation creates a new user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/users |
|
Endpoint Parameters |
companyName |
The company name associated with the user.
|
HTTP Method |
POST |
|
Request Body Parameters |
displayValue property is optional for all complex properties (type, language, currency, numberFormat, timeZone, units , dateFormat, status, enabledForSso). |
|
|
The email address of the user (Required) |
|
firstName |
The first name of the user (Required) |
|
login |
The login ID of the user (Required) |
|
type |
The type of user (Required) |
|
language |
The language to associate with the user |
|
currency |
The currency to associate with the user |
|
lastName |
The last name of the user |
|
emailPassword |
Send an email containing the password to the email address specified in the email field?
|
|
jobTitle |
The job title of the user |
|
phone |
The phone number of the user |
|
fax |
The fax number of the user |
|
billFirstName |
The billing first name |
|
billLastName |
The billing last name |
|
billCompany |
The billing company |
|
billCompany2 |
Additional billing company information |
|
billAddress1 |
The billing address |
|
billAddress2 |
Additional billing address information |
|
billCity |
The city associated with the billing address |
|
billStateProvince |
The state or province to associate with the billing address |
|
billZip |
The zip code to associate with the billing address |
|
billCountry |
The country to associate with the billing address |
|
billPhone |
The phone number to associate with the billing address |
|
billFax |
The fax number to associate with the billing address |
|
billEmail |
The email address to associate with the billing address |
|
shipFirstName |
The shipping first name |
|
shipLastName |
The shipping last name |
|
shipCompany |
The shipping company |
|
shipCompany2 |
Additional shipping company information |
|
shipAddress1 |
The shipping address |
|
shipAddress2 |
Additional shipping address information |
|
shipCity |
The city associated with the shipping address |
|
shipStateProvince |
The state or province associated with the shipping address |
|
shipZip |
The zip code to associate with the shipping address |
|
shipCountry |
The country to associate with the shipping address |
|
shipPhone |
The phone number to associate with the shipping address |
|
shipFax |
The fax number to associate with the shipping address |
|
shipEmail |
The email address to associate with the shipping address |
|
timeZone |
The time zone of the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
approvalDelegate |
The approval delegate associated with the user |
|
separateShipAddr |
Is there a separate shipping address for the user?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
isNotifyFax |
Is the notification preference fax?
|
|
isSuperUserPermEnabled |
Is User Administrator permission enabled?
|
|
isWebServicesOnly |
Is Web Services Only enabled?
|
|
numberFormat |
The number format preference |
|
units |
The user’s unit-type preference |
|
dateFormat |
The user’s date preference |
|
status |
The status of the user |
|
enabledForSso |
The Single Sign-On information associated with the user |
|
isAccessAdminPremEnabled |
Is Access Administrator permissions enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
groups |
A list of groups that the user has access to. | |
accessPermissions |
A list of access permissions for Product Families, Supported Product Families, and Data Table Folders for the user. | |
Response Body Parameters |
JSON data for the new user. |
https://sitename.oracle.com/rest/v17/companies/_host/users
{ "login": "johnsmith", "firstName": "John", "lastName": "Smith", "jobTitle": "Sales Administrator", "password": "password1234", "emailPassword": true, "email": "john.smith@companyemail.com", "phone": "2346456456", "fax": "456457657", "billLastName": "test", "billCompany": "A", "billCompany2": "test", "billAddress1": "Address1", "billAddress2": "Address2", "billCity": "City", "billStateProvince": "Illinois", "billZip": "23434", "billCountry": "United States", "billPhone": "457657657", "billFax": "657657", "billEmail": "john.smith@companyemail.com", "shipFirstName": "Super", "shipLastName": "User", "shipCompany": "B", "shipCompany2": "B", "shipAddress1": "Address", "shipAddress2": "Address", "shipCity": "City", "shipStateProvince": "California", "shipZip": "345435", "shipCountry": "United States", "shipPhone": "345435", "shipFax": "235435", "shipEmail": "john.smith@companyemail.com", "partnerLogin": null, "separateShipAddr": false, "isNotifyEmail": true, "isNotifyFax": false, "numberFormat": { "value": 1, "displayValue": "####,##" }, "timeZone": { "value": "America/Los_Angeles", "displayValue": "(GMT-8:00 GMT-7:00) Los Angeles" }, "type": { "value": "FULL_ACCESS", "displayValue": "FullAccess" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "USD", "displayValue": "US Dollar" }, "dateFormat": { "value": 16, "displayValue": "dd/MM/yyyy h:mm a" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" }, "groups": { "items": [{ "label": "Sales Administrator", "variableName": "salesAdministrator", "type": "Sales" } ] }, "accessPermissions": { "items": [{ "name": "Testbed", "variableName": "testbed", "hasAccess": true, "type": "productFamily" } ] } }
Description |
This operation replaces the details of an existing user or creates a new user. If the Request URI references an existing user, the existing user details are replaced with an updated version of the user details. If the Request URI references a user that does not already exist, a new user is created. CPQ is standardizing v11 REST APIs with the PUT method. Beginning in v11, any parameters that are not explicitly included in the request body will be set to the default value, including "isAccessAdminPremEnabled" and "isWebServicesOnly" properties. If you are not sending all parameters in the request to update a user, you should use the PATCH method to avoid clearing unspecified properties. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/users/{userName} |
|
Endpoint Parameters
|
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
HTTP Method |
PUT |
|
Request Body Parameters |
|
|
type |
The type of user |
|
language |
The language to associate with the user |
|
currency |
The currency to associate with the user |
|
login |
The login ID of the user |
|
firstName |
The first name of the user |
|
lastName |
The last name of the user |
|
jobTitle |
The job title of the user |
|
|
The email address of the user |
|
phone |
The phone number of the user |
|
fax |
The fax number of the user |
|
billFirstName |
The billing first name |
|
billLastName |
The billing last name |
|
billCompany |
The billing company |
|
billCompany2 |
Additional billing company information |
|
billAddress1 |
The billing address |
|
billAddress2 |
Additional billing address information |
|
billCity |
The city associated with the billing address |
|
billStateProvince |
The state or province to associate with the billing address |
|
billZip |
The zip code to associate with the billing address |
|
billCountry |
The country to associate with the billing address |
|
billPhone |
The phone number to associate with the billing address |
|
billFax |
The fax number to associate with the billing address |
|
billEmail |
The email address to associate with the billing address |
|
shipFirstName |
The shipping first name |
|
shipLastName |
The shipping last name |
|
shipCompany |
The shipping company |
|
shipCompany2 |
Additional shipping company information |
|
shipAddress1 |
The shipping address |
|
shipAddress2 |
Additional shipping address information |
|
shipCity |
The city associated with the shipping address |
|
shipStateProvince |
The state or province associated with the shipping address |
|
shipZip |
The zip code to associate with the shipping address |
|
shipCountry |
The country to associate with the shipping address |
|
shipPhone |
The phone number to associate with the shipping address |
|
shipFax |
The fax number to associate with the shipping address |
|
shipEmail |
The email address to associate with the shipping address |
|
timeZone |
The time zone of the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
approvalDelegate |
The approval delegate associated with the user |
|
separateShipAddr |
Is there a separate shipping address for the user?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
isNotifyFax |
Is the notification preference fax?
|
|
isSuperUserPermEnabled |
Is User Administrator permission enabled?
|
|
isWebServicesOnly |
Is Web Services Only enabled?
|
|
numberFormat |
The number format preference |
|
units |
The user’s unit-type preference |
|
dateFormat |
The user’s date preference |
|
status |
The status of the user |
|
enabledForSso |
The Single Sign-On information associated with the user |
|
isAccessAdminPremEnabled |
Is Access Admin permissions enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
groups |
A list of groups that the user has access to. | |
accessPermissions |
A list of access permissions for Product Families, Supported Product Families, and Data Table Folders for the user. | |
Response Body Parameters |
JSON data for the new version of user details. |
https://sitename.oracle.com/rest/v17/companies/abcCo/users/janedoe
{ "login": "janedoe", "firstName": "Jane", "lastName": "Doe", "jobTitle": "Developer", "email": "jane.doe@abcCo.com", "phone": "9999999999", "fax": "9999999999", "billLastName": "Bill Last Name", "billCompany": "Bill Company", "billCompany2": "Bill Company 2", "billAddress1": "Address1", "billAddress2": "Address2", "billCity": "City", "billStateProvince": "Illinois", "billZip": "23434", "billCountry": "United States", "billPhone": "457657657", "billFax": "657657", "billEmail": "billing@abcCo.com", "shipFirstName": "Super", "shipLastName": "User", "shipCompany": "B", "shipCompany2": "B", "shipAddress1": "Address", "shipAddress2": "Address", "shipCity": "City", "shipStateProvince": "California", "shipZip": "345435", "shipCountry": "United States", "shipPhone": "345435", "shipFax": "235435", "shipEmail": "shipping@abcCo.com", "partnerLogin": null, "separateShipAddr": false, "isNotifyEmail": true, "isNotifyFax": false, "type": { "value": "RESTRICTED_ACCESS", "displayValue": "RestrictedAccess" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "USD", "displayValue": "US Dollar" }, "numberFormat": { "value": 1, "displayValue": "####,##" }, "timeZone": { "value": "America/Los_Angeles", "displayValue": "(GMT-8:00 GMT-7:00) Los Angeles" }, "dateFormat": { "value": 16, "displayValue": "dd/MM/yyyy h:mm a" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" } }
Description |
This operation applies changes to an existing user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/users/{userName} |
|
Endpoint Parameters
|
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
HTTP Method |
PATCH |
|
Request Body Parameters |
type |
The type of user |
language |
The language to associate with the user |
|
currency |
The currency to associate with the user |
|
login |
The login ID of the user |
|
firstName |
The first name of the user |
|
lastName |
The last name of the user |
|
jobTitle |
The job title of the user |
|
|
The email address of the user |
|
phone |
The phone number of the user |
|
fax |
The fax number of the user |
|
billFirstName |
The billing first name |
|
billLastName |
The billing last name |
|
billCompany |
The billing company |
|
billCompany2 |
Additional billing company information |
|
billAddress1 |
The billing address |
|
billAddress2 |
Additional billing address information |
|
billCity |
The city associated with the billing address |
|
billStateProvince |
The state or province to associate with the billing address |
|
billZip |
The zip code to associate with the billing address |
|
billCountry |
The country to associate with the billing address |
|
billPhone |
The phone number to associate with the billing address |
|
billFax |
The fax number to associate with the billing address |
|
billEmail |
The email address to associate with the billing address |
|
shipFirstName |
The shipping first name |
|
shipLastName |
The shipping last name |
|
shipCompany |
The shipping company |
|
shipCompany2 |
Additional shipping company information |
|
shipAddress1 |
The shipping address |
|
shipAddress2 |
Additional shipping address information |
|
shipCity |
The city associated with the shipping address |
|
shipStateProvince |
The state or province associated with the shipping address |
|
shipZip |
The zip code to associate with the shipping address |
|
shipCountry |
The country to associate with the shipping address |
|
shipPhone |
The phone number to associate with the shipping address |
|
shipFax |
The fax number to associate with the shipping address |
|
shipEmail |
The email address to associate with the shipping address |
|
timeZone |
The time zone of the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
approvalDelegate |
The approval delegate associated with the user |
|
separateShipAddr |
Is there a separate shipping address for the user?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
isNotifyFax |
Is the notification preference fax?
|
|
isSuperUserPermEnabled |
Is User Administrator permission enabled?
|
|
isWebServicesOnly |
Is Web Services Only enabled?
|
|
numberFormat |
The number format preference |
|
units |
The user’s unit-type preference |
|
dateFormat |
The user’s date preference |
|
status |
The status of the user |
|
enabledForSso |
The Single Sign-On information associated with the user |
|
isAccessAdminPremEnabled |
Is Access Admin permissions enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
groups |
A list of groups that the user has access to. | |
accessPermissions |
A list of access permissions for Product Families, Supported Product Families, and Data Table Folders for the user. | |
Success Response |
HTTP Code 204 |
https://sitename.oracle.com/rest/v17/companies/abcCo/users/AAP39
{ "type": { "value": "FULL_ACCESS", "displayValue": "FullAccess" }, "language": { "value": "en_US", "displayValue": "English" }, "currency": { "value": "USD", "displayValue": "US Dollar" }, "status": { "value": 1, "displayValue": "Active" }, "enabledForSso": { "value": "SSO_ENABLED", "displayValue": "Enabled for SSO" } }
Note: The display value is optional in the sample above. For example, the following sample is also valid.
{ "type": { "value": "FULL_ACCESS" }, "language": { "value": "en_US" }, "currency": { "value": "USD" }, "status": { "value": 1 }, "enabledForSso": { "value": "SSO_ENABLED" } }
Description |
This endpoint returns Product Family, Supported Product Families, and Data Table folder access permissions for the specified user. Access permissions for a user will be available only when Administration Groups are disabled. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/accessPermissions |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
fields |
Restrict which fields shall be returned. The value is a comma delimited string and each token is a field name. | |
excludeLinks |
Exclude given link types from response. | |
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
name |
Name of the entity to which access restrictions apply. |
variableName |
Variable name of the entity to which access restrictions apply. | |
hasAccess |
Boolean attribute that indicates if a user has access to the restricted entity. | |
type |
Type of the restricted entity. Possible values productFamily, supportedProductFamily and dataTableFolder. |
https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk/accessPermissions
{ "items": [{ "name": "Testbed", "variableName": "testbed", "hasAccess": true, "type": "productFamily" }, { "name": "Admin", "variableName": "admin", "hasAccess": true, "type": "productFamily" }, { "name": "Test 4", "variableName": "test4", "hasAccess": true, "type": "supportedProductFamily" }, { "name": "[Default]", "variableName": "_default", "hasAccess": true, "type": "dataTableFolder" } ], "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk/accessPermissions" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk" } ] }
Update User Access Permissions
Description |
This endpoint replaces the access permissions of an existing user with new permissions passed in the request body. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/accessPermissions |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
HTTP Method |
PUT |
|
Request Body Parameters |
name |
(Optional) Name of the entity to which access restrictions apply. |
variableName |
Variable name of the entity to which access restrictions apply. | |
hasAccess |
Boolean attribute that indicates if a user has access to the restricted entity. The default value is false. This parameter is required to grant and continue access to a restricted entity. |
|
type |
Type of the restricted entity. Possible values productFamily, supportedProductFamily and dataTableFolder. | |
Response Body Parameters |
Returns the updated user access permissions. |
https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk/accessPermissions
{ "items": [{ "name": "Testbed", "variableName": "testbed", "hasAccess": true, "type": "productFamily" } ] }
Description |
This endpoints returns all groups assigned to specified user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/groups |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
Endpoint Query Parameters |
This endpoint supports the following query specifications. For more information, see Manage Collections.
|
|
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
Returns the group name, group variable name, and group type for the groups the user is assigned to. |
https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk/groups
{ "items": [{ "label": "100k Parts", "variableName": "a100kparts", "type": "Sales" }, { "label": "Admin Access- Internal Users", "variableName": "adminAccessUsersOnly", "type": "Administrator" } ], "offset": 0, "limit": 1000, "count": 2, "hasMore": false, "links": [{ "rel": "parent", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/aavenkatbulk" }, { "rel": "canonical", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/aavenkatbulk/groups" }, { "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/aavenkatbulk/groups?offset=0&limit=1000" } ] }
Description |
This operation to update assigned groups for the specified user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/groups |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
userName |
The login ID of the user |
|
HTTP Method |
PUT |
|
Request Body Parameters |
An array of group names, group variable names, and group types to which user should belong. Note: The user will be removed from the existing groups which are not passed in request. |
|
Response Body Parameters |
JSON data for the user groups. Returns all attributes from the user groups object in JSON format. |
https://sitename.oracle.com/rest/v17/companies/_host/users/aavenkatbulk/groups
{ "items": [{ "label": "Sales User", "variableName": "salesUser", "type": "Sales" }, { "label": "Sales Administrator", "variableName": "salesAdministrator", "type": "Administrator" } ] }
{ "items": [{ "label": "Sales User", "variableName": "salesUser", "type": "Sales" }, { "label": "Sales Administrator", "variableName": "salesAdministrator", "type": "Administrator" } ], "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/aavenkatbulk/groups" }, { "rel": "parent", "href": "https://sitename.oracle.com/rest/v11/companies/_host/users/aavenkatbulk" } ] }
Get User Password Security Question
Description |
This endpoint returns the password security question for the specified user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/password |
|
Endpoint Parameters |
companyName |
The company name of the user
|
userName |
The login ID of the user. |
|
HTTP Method |
GET |
|
Request Body Parameters |
None | |
Success Response |
Returns the user security question. |
https://sitename.oracle.com/rest/v17/companies/abcCo/users/AAP39/password
{ "securityQuestion": "Who was your childhood hero?" }
Update User Security Question or Password
Description |
This endpoint is used to change the password, security question, or the secret answer of the current user. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyName}/users/{userName}/password |
|
Endpoint Parameters |
companyName |
The company name associated with the user
|
|
userName |
The login ID of the user |
HTTP Method |
PATCH |
|
Request Body Parameters |
currentPassword |
Current Password of User |
newPassword |
New Password for User | |
securityQuestion |
Security Question for User | |
secretAnswer |
Secret Answer for User | |
Success Response |
responses: 204 |
https://sitename.oracle.com/rest/v17/companies/abcCo/users/AAP39/password
{
"currentPassword": "oldPassword",
"newPassword": "newPassword",
"securityQuestion": "What is your favorite color?",
"secretAnswer": "periwinkle"
}
Description |
This operation creates a temporary password and sends it to the user’s email. |
|
---|---|---|
URI Endpoint |
/rest/v17/companies/{companyname}/users/{userName}/actions/resetPassword |
|
Endpoint Parameters |
companyName |
The company name of the user
|
userName |
The login ID of the user. |
|
HTTP Method |
POST |
|
Request Body Parameters |
password |
Password is an optional parameter. When no password is provided an email will be sent to the user prompting them to create a new password. |
Success Response |
HTTP Code 204 |
https://sitename.oracle.com/rest/v17/companies/_host/users/AAP39/actions/resetPassword
Description |
This endpoint is used to perform a bulk update of user status based on the criteria passed in the request body. |
|
---|---|---|
URI Endpoint |
/rest/v17/users/actions/bulkUpdate |
|
Endpoint Parameters |
None | |
HTTP Method |
POST |
|
Request Body Parameters |
userData |
Contains the property names to be updated. Currently, only the status field is supported. To update status for users that match the specified criteria, use one of the following values:
displayValue property is optional for status. |
criteria |
Use the "q" query specification to declare a user query specification expression in MongoDB format. For more information, see Criteria Query Parameters. |
|
Response Body Parameters |
204: All Users updated successfully. |
https://sitename.oracle.com/rest/v17/companies/abcCo/actions/bulkUpdate
{ "userData": { "status": { "value": 0, "displayValue": "Inactive" } }, "criteria": { "q": "{'login' :{'$like':'%jsmith%'}}" } }
Note: The display value is optional in the sample above. For example, the following sample is also valid.
{ "userData": { "status": { "value": 0 } }, "criteria": { "q": "{'login' :{'$like':'%jsmith%'}}" } }
SCIM-Compliant User REST APIs
The SCIM specification is an open standard that facilitates managing user identities across cloud-based applications and services. This REST API retrieves user details and performs actions to create, update, or inactivate a user.
Beginning in Oracle CPQ 23C, the SCIM-Compliant User Management REST API supports PATCH method which allows administrators to update a user record instead of fully replacing the entire record. Administrators need to determine the best method for adding, updating, or removing migration package contents. The differences in the SCIM-Compliant User Management PUT and PATCH methods are as follows:
PUT – replaces the entire set of values with an entire new set of values which include the added and/or updated resource. You may want to use this method when there are many changes to the values. If there is a validation failure with any field, the request fails and the content remains unchanged.
PATCH – adds or updates resource within the existing set of values. You may to use this method when the sequence of resource changes is key to the content result and when error checking for each modification is desired.
Oracle CPQ and Core User Schema Attribute Mapping
The following table provides the Oracle CPQ user attribute and associated core user schema attribute.
Oracle CPQ Attribute |
Core User Scheme Attribute |
Extension User |
Oracle CPQ Extension User |
Required |
Notes |
---|---|---|---|---|---|
login |
userName |
|
|
Yes |
|
password |
password |
|
|
No |
To auto-generate a temporary password, leave the password field blank. |
First Name |
name.givenName |
|
|
Yes |
|
Last Name |
name.familyName |
|
|
No |
|
|
emails emails{<type}.primary emails{work}.value |
|
|
Yes |
An error occurs if the request payload has more than one email |
Email Password |
|
|
|
|
|
Company |
|
organization |
|
No |
Default value is host company |
Language |
preferredLanguage |
|
|
No |
Possible values:
|
Type |
|
|
userType |
No |
Possible values:
|
Status |
active |
|
|
No |
Possible values:
|
Time Zone |
timezone |
|
|
No |
Default is America/Chicago |
Currency |
|
|
currency |
No |
Default is USD |
Date/Time Format |
|
|
dateFormat |
No |
Possible values:
|
Number Format |
|
|
numberFormat |
No |
Possible values:
|
Units |
|
|
|
No |
Possible values:
|
Notification Preference |
|
|
isNotifyEmail isNotifyFax |
No |
|
Delegated Approver |
|
|
approvalDelegate |
No |
|
Job Title |
title |
|
|
No |
|
Fax Number Phone Number |
phoneNumbers phoneNumbers{<type>}.primary phoneNumbers{work}.value (Mobile and/or Fax) |
|
|
No |
If a <type> value is not provided, it is taken as a phone number (default) |
EnabledForSso |
|
|
enabledForSso |
No |
Possible values:
|
External SSO ID |
|
|
ExternalSsoId |
No |
|
IDCS GUID |
|
|
Idcs_guid |
No |
|
isSuperUserPermEnabled |
|
|
isSuperUserPermEnabled |
No |
|
isWebServicesOnly |
|
|
isWebServicesOnly |
No |
|
isAccessAdminPermEnabled |
|
|
isAccessAdimPermEnabled |
No |
|
isProxyPermEnabled |
|
|
isProxyPermEnabled |
No |
|
isMobileEnabled |
|
|
isMobileEnabled |
No |
|
Partner Login |
|
|
partnerLogin |
No |
|
stdcOrgId |
|
|
sfdcOrgId |
No |
|
id |
id |
|
|
|
CPQ GUID |
Separate Ship Addr |
|
|
separateShipAddr |
No |
Use to indicate both ship and bill address are same or different address. |
Bill To/Ship To (SCIM : Field type: addresses (Complex mulit-valued attribute)) |
|||||
|
addresses.type |
|
|
|
SCIM Attribute
BILL_TO/SHIP_TO |
First Name |
|
|
address[<Type>].name.givenName |
No |
|
Last Name |
|
|
address[<Type>].name.lastName |
No |
|
Company Name |
|
|
address[<Type>].companyName |
No |
|
Company Name 2 |
|
|
address[<Type>].companyName2 |
No |
|
City |
|
|
address[<Type>].locality |
No |
|
State/Province |
|
|
address[<Type>].region |
No |
|
Zip/Postal Code |
|
|
address[<Type>].postalCode |
No |
|
Country |
|
|
address[<Type>].country |
No |
|
Phone |
|
|
address[<Type>].phone |
No |
|
Fax |
|
|
address[<Type>].fax |
|
|
|
|
|
address[<Type>].email |
No |
Description |
This endpoint returns a list of all users. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users |
|
Endpoint Query Parameters |
q |
Optional) This endpoint supports query specifications that follow Oracle CPQ query and pagination parameters syntax. The following SCIM attribute filters are available:
Query specifications follow a subset of MongoDB syntax and can be used to organize or narrow return data. For more information,see Manage Collections. |
HTTP Method |
GET |
|
Request Body Parameters |
None |
|
Response Body Parameters |
The response will contain a list of all the users that the logged in user is authorized to view. The logged in user's access is governed by their company type, their user type, their user permissions and the administrator group(s) to which they are a member. Please review Administrator Access Control for additional details on user authorization. |
https://sitename.oracle.com/rest/v17/scim/users
Query Examples:
-
Return all host company users.
https://sitename.oracle.com/rest/v17/scim/users?filter=organization eq "_host"
-
Return all users of a partner organization.
https://sitename.oracle.com/rest/v17/scim/users?filter=organization eq "po1"
-
Return all active users sorted by company name.
https://sitename.oracle.com/rest/v17/scim/users?filter=active eq 1&sortBy=userName&sortOrder=ascending
-
Return all active users of a partner organization sorted by user type.
https://sitename.oracle.com/rest/v17/scim/users?filter=organization eq "po1" and active eq 1&sortBy=userType
-
Return all active users of a partner organization and BUY_ACCESS user type.
https://sitename.oracle.com/rest/v17/scim/users?filter=organization eq "po1" and ( active eq 1 and userType eq "BUY_ACCESS"
-
Return all active users of a partner organization sorted by company name and user type.
https://sitename.oracle.com/rest/v17/scim/users?filter=organization eq "po1" and ( active eq 1 and userType eq "BUY_ACCESS")&sortBy=organization,userType
Description |
This endpoint returns details about a specific user. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users/{id} |
|
Endpoint Parameters |
id |
The unique identifier for the user. |
HTTP Method |
GET |
|
Request Body Parameters |
NONE |
|
Response Body Parameters |
JSON data for the specific user. Note: HTTP Code 404 displays if user does not exist |
https://sitename.oracle.com/rest/v17/scim/users/121eeadc-3945-49aO-bc48-48c6f14eec7
{ "schemas": ["urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User", "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"], "id": "121eeadc-3945-49a0-bc48-48c6f14beec7", "meta": { "resourceType": "User", "created": "2008-05-05T17:27:57.000Z", "lastModified": "2022-08-23T09:53:57.000Z", "version": "v14", "location": "http://sitename.oracle.com/rest/v17/scim/users/121eeadc-3945-49a0-bc48-48c6f14beec7" }, "userName": "lisaJones", "emails": [{ "value": "lisa.jones@companyemail.com", "type": "WORK", "primary": false } ], "active": true, "preferredLanguage": "en_US", "phoneNumbers": [{ "value": "6504036322", "type": "FAX", "primary": false }, { "value": "6504036322", "type": "MOBILE", "primary": false } ], "name": { "familyName": "Jones", "givenName": "Lisa" }, "timezone": "America/Los_Angeles", "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User": { "userType": "FULL_ACCESS", "currency": "USD", "dateFormat": 0, "numberFormat": 0, "units": 0, "enabledForSso": "SSO_ENABLED", "addresses": [{ "type": "BILL_TO", "name": { "familyName": "Jones", "givenName": "Lisa" }, "address1": "1 waters park dr", "address2": "Po1 suite 240-1", "locality": "SanMateo", "companyName": "po1", "region": "Michigan", "postalCode": "94403", "phone": "6504036322", "fax": "6504036322", "email": "lisa.jones@companyemail.com" } ], "webServicesOnly": false, "notifyEmail": false, "notifyFax": false, "superUserPermEnabled": false, "proxyPermEnabled": false, "accessAdminPermEnabled": false, "isNotifyFax": false, "isNotifyEmail": false, "isSuperUserPermEnabled": false, "isWebServicesOnly": false, "isProxyPermEnabled": false, "isAccessAdminPermEnabled": false }, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "organization": "po1" } }
Description |
This endpoint creates a new user. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users |
|
Endpoint Parameters |
None |
|
HTTP Method |
POST | |
Request
Body Parameters
|
emails |
The primary email of the user (Required) |
givenName |
The first name of the user (Required) |
|
familyName |
The last name of the user |
|
userName |
The login of the user (Required) |
|
preferredLanguage |
The preferred language of the user |
|
currency |
The currency to associate with the user |
|
active |
The status of the user. This value must be set to true. (Required) |
|
oraganization |
The company name of the user. The default value is the host company. |
|
userType |
The type of user. The default is RESTRICTED_ACCESS. |
|
dateFormat |
The ID of the date format preference |
|
numberFormat |
The ID of the number format preference |
|
units |
The ID of the user's unit type preference |
|
approvalDelegate |
The approval delegate assoicated with the user |
|
address |
The address type (Ship to or Bill to) |
|
address1 |
The shipping/billing address 1 |
|
address2 |
The shipping/billing address 2 |
|
locality |
The city/locality of the shipping/billing address |
|
companyName |
The shipping/billing company |
|
companyName2 |
The shipping/billing company 2 |
|
region |
The state/region of the shipping/billing address |
|
postalCode |
The zip code/postal code of the shipping/billing address |
|
country |
The country of the shipping/billing address |
|
phone |
The phone number to associate with the shipping/billing address |
|
fax |
The fax number to associate with the shipping/billing address |
|
enabledForSSO |
The Single Sign-On information associated with the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
isNotifyFax |
Is the notification preference fax?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
fax |
The fax number of the user |
|
isSuperUserPermEnabled |
Is SuperUser Administrator permission enabled?
|
|
isWebServiesOnly |
Is Web Services Only enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
isAccessAdminPermEnabled |
Is Access Administrator permission enabled?
|
|
partnerLogin |
The partner login of the user |
|
SeparateShipAddr |
Is there a separate shipping address?
|
|
Response Body Parameters |
JSON data for the specific user. Note: HTTP Code 400 is provided if the new user is not created |
https://sitename.oracle.com/rest/v17/scim/users
{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"], "userName": "johnMarkson", "emails": [{ "value": "john.markson@companyemail.com", "type": "work", "primary": true } ], "active": true, "preferredLanguage": "en-US", "phoneNumbers": [{ "value": "555-555-4444", "type": "mobile" } ], "meta": { "resourceType": "User", "created": "2022-08-01T18:29:49.793Z", "lastModified": "2022-08-01T18:29:49.793Z", "location": "https://example.com/v2/Users/2819c223...", "version": "v14"" }, "name": { "familyName": "Markson", "givenName": "John" }, "timezone": "America/Los_Angeles", "urn:ietf:params:scim:schemas:oracle:cpq:extension:user:User": { "idcs_guid": "deddc4270d4142c1a65e73f70897cc1e", "currency": "USD", "numberFormat": "", "units": "", "dateFormat": "", "enabledForSso": "XX", "externalSsoId": "XX", "address": [{ "company": "XX", "company2": "XX", "name": { "familyName": "Markson", "givenName": "John" }, "fax": "XX", "email": "XX", "streetAddress": "XX", "locality": "XX", "region": "XX", "postalCode": "XX", "country": "XX", "type": "billTo" }, { "company": "XX", "company2": "XX", "name": { "familyName": "Markson", "givenName": "John" }, "fax": "XX", "email": "XX", "streetAddress": "XX", "locality": "XX", "region": "XX", "postalCode": "XX", "country": "XX", "type": "shipTo" } ] } }
{ "schemas": ["urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User", "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"], "id": "d37b189d-b6b7-4eef-a550-7213a11811f8", "meta": { "resourceType": "User", "created": "2022-09-14T11:36:23.000Z", "lastModified": "2022-09-14T12:05:42.000Z", "version": "v14", "location": "https://sitename.oracle.com/rest/v17/scim/users/d37b189d-b6b7-4eef-a550-7213a11811f8" }, "userName": "johnMarkson", "emails": [{ "value": "john.markson@companyemail.com", "type": "WORK", "primary": false } ], "active": true, "preferredLanguage": "en_US", "phoneNumbers": [{ "value": "555-555-4444", "type": "FAX", "primary": false }, { "value": "555-555-4444", "type": "MOBILE", "primary": false } ], "name": { "familyName": "Markson", "givenName": "John" }, "title": "Sales Specialist", "timezone": "America/Los_Angeles", "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User": { "userType": "FULL_ACCESS", "currency": "USD", "dateFormat": 1, "numberFormat": 1, "units": 1, "enabledForSso": "NOT_ENABLED", "addresses": [{ "type": "BILL_TO", "name": { "familyName": "Markson" }, "address1": "address1", "address2": "address2", "locality": "hyd", "companyName": "companyName", "companyName2": "company name 2", "region": "ts", "postalCode": "500010", "email": "john.markson@companyemail.com" }, { "type": "SHIP_TO", "name": { "familyName": "Markson" }, "address1": "address1", "address2": "address2", "locality": "hyd", "companyName": "companyName", "companyName2": "company name 2", "region": "ts", "postalCode": "500010", "email": "john.markson@companyemail.com" } ], "webServicesOnly": true, "accessAdminPermEnabled": true, "superUserPermEnabled": true, "proxyPermEnabled": true, "notifyEmail": true, "notifyFax": true, "isNotifyFax": true, "isNotifyEmail": true, "isSuperUserPermEnabled": true, "isWebServicesOnly": true, "isProxyPermEnabled": true, "isAccessAdminPermEnabled": true }, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "organization": "pol" } }
Description |
This endpoint updates an existing user. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users/{id} |
|
Endpoint Parameters |
id |
The unique identifier for the user. |
HTTP Method |
PUT | |
Request
Body Parameters
|
emails |
The primary email of the user (Required) |
givenName |
The first name of the user (Required) |
|
familyName |
The last name of the user |
|
userName |
The login of the user (Required) |
|
preferredLanguage |
The preferred language of the user |
|
currency |
The currency to associate with the user |
|
active |
The status of the user. This value must be set to true. (Required) |
|
oraganization |
The company name of the user. The default value is the host company. |
|
userType |
The type of user. The default is RESTRICTED_ACCESS. |
|
dateFormat |
The ID of the date format preference |
|
numberFormat |
The ID of the number format preference |
|
units |
The ID of the user's unit type preference |
|
approvalDelegate |
The approval delegate assoicated with the user |
|
address |
The address type (Ship to or Bill to) |
|
address1 |
The shipping/billing address 1 |
|
address2 |
The shipping/billing address 2 |
|
locality |
The city/locality of the shipping/billing address |
|
companyName |
The shipping/billing company |
|
companyName2 |
The shipping/billing company 2 |
|
region |
The state/region of the shipping/billing address |
|
postalCode |
The zip code/postal code of the shipping/billing address |
|
country |
The country of the shipping/billing address |
|
phone |
The phone number to associate with the shipping/billing address |
|
fax |
The fax number to associate with the shipping/billing address |
|
enabledForSSO |
The Single Sign-On information associated with the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
isNotifyFax |
Is the notification preference fax?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
fax |
The fax number of the user |
|
isSuperUserPermEnabled |
Is SuperUser Administrator permission enabled?
|
|
isWebServiesOnly |
Is Web Services Only enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
isAccessAdminPermEnabled |
Is Access Administrator permission enabled?
|
|
partnerLogin |
The partner login of the user |
|
SeparateShipAddr |
Is there a separate shipping address?
|
|
Response Body Parameters |
HTTP Code 200 |
https://sitename.oracle.com/rest/v17/scim/users/b41d85c8f77d4e43a24e7a8ce7873041
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "lisaJones", "active": true, "preferredLanguage": "en_US", "timezone": "America/Los_Angeles", "emails": [ { "value": "lisa.jones@companyemail.com", "type": "work", "primary": true } ], "name":{ "givenName":"Lisa" }, "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User": { "userType": "FULL_ACCESS", "proxyPermEnabled": true, "notifyFax": false, "superUserPermEnabled": true, "accessAdminPermEnabled": true, "notifyEmail": false, "webServicesOnly": true }, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "organization": "pol" } }
Add, Replace, or Remove User Information
Description |
This endpoint performs an operation to add user information, update existing user information or remove existing user information for a specified user. The endpoint supports a single operation request or multiple operation requests performed sequentially. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users/{id} |
|
Endpoint Parameters |
id |
The unique identifier for the user. |
HTTP Method |
PATCH | |
Request
Body Parameters
|
op |
The operation type parameter:
Add/Replace Operation: The operation must contain a " If the " Remove Operation: The " If "path" is unspecified, the operation fails with HTTP status code 400 and a " If the target location is a single-value attribute, the attribute and its associated value is removed, and the attribute is considered unassigned. If the target location is a multi-valued attribute and no filter is specified, the attribute and all values are removed. If the target location is a multi-valued attribute and a complex filter is specified comparing a " If the target location is a complex multi-valued attribute and a complex filter is specified based on the attribute's sub-attributes, the matching records are removed. |
path |
Required string value for " Optional string value for " If the " If the value is " The " |
|
emails |
The primary email of the user. Required for "add " operation |
|
givenName |
The first name of the user. Required for "add " operation. |
|
familyName |
The last name of the user |
|
userName |
The login of the user. Only supported for " |
|
preferredLanguage |
The preferred language of the user |
|
currency |
The currency to associate with the user |
|
active |
The status of the user. This value must be set to true. Required for " |
|
oraganization |
The company name of the user. The default value is the host company. |
|
userType |
The type of user. The default is RESTRICTED_ACCESS. |
|
dateFormat |
The ID of the date format preference |
|
numberFormat |
The ID of the number format preference |
|
units |
The ID of the user's unit type preference |
|
approvalDelegate |
The approval delegate associated with the user |
|
address |
The address type (Ship to or Bill to) |
|
address1 |
The shipping/billing address 1 |
|
address2 |
The shipping/billing address 2 |
|
locality |
The city/locality of the shipping/billing address |
|
companyName |
The shipping/billing company |
|
companyName2 |
The shipping/billing company 2 |
|
region |
The state/region of the shipping/billing address |
|
postalCode |
The zip code/postal code of the shipping/billing address |
|
country |
The country of the shipping/billing address |
|
phone |
The phone number to associate with the shipping/billing address |
|
fax |
The fax number to associate with the shipping/billing address |
|
enabledForSSO |
The Single Sign-On information associated with the user |
|
externalSsoId |
The external Single Sign On ID to associate with the user |
|
isNotifyFax |
Is the notification preference fax?
|
|
isNotifyEmail |
Is the notification preference email?
|
|
fax |
The fax number of the user |
|
isSuperUserPermEnabled |
Is SuperUser Administrator permission enabled?
|
|
isWebServiesOnly |
Is Web Services Only enabled?
|
|
isProxyPermEnabled |
Are proxy permissions enabled?
|
|
isAccessAdminPermEnabled |
Is Access Administrator permission enabled?
|
|
partnerLogin |
The partner login of the user |
|
SeparateShipAddr |
Is there a separate shipping address?
|
|
Response Body Parameters |
JSON data for the user |
https://sitename.oracle.com/rest/v17/scim/users/559a595d-fa7b-43b1-853b-f4ff30b779de
{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "operations": [{ "op": "replace", "value": { "active": true } }, { "op": "remove", "path": "phoneNumbers" }, { "op": "add", "path": "name", "value": { "familyName": "jones", "givenName": "lisa" } }, { "op": "replace", "path": "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User", "value": { "userType": "FULLACCESS1", "addresses": [{ "country": "UK", "name": { "familyName": "jones", "givenName": "lisa" } } ] } }, { "op": "remove", "path": "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User.addresses.name.givenName" }, { "op": "add", "path": "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User.addresses[type eq \"SHIP_TO\" and country eq \"UK\" ]", "value": [{ "country": "JPN", "name": { "familyName": "jones", "givenName": "lisa" } } ] } ] }
"schemas": [ "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User", "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "id": "559a595d-fa7b-43b1-853b-f4ff30b779de", "meta": { "resourceType": "User", "created": "2023-01-12T00:49:54.000Z", "lastModified": "2023-01-12T00:49:55.000Z", "version": "v14", "location": "http://phoenix60388.ad1.fusionappsdphx1.oraclevcn.com /rest/v17/scim/users/559a595d-fa7b-43b1-853b-f4ff30b779de" }, "userName": "lisaJones", "emails": [ { "value": "lisa.jones@companyemail.com", "type": "WORK", "primary": true } ], "active": true, "preferredLanguage": "en_US", "name": { "familyName": "jones", "givenName": "lisa" }, "title": "FullAccess User", "timezone": "America/New_York", "urn:ietf:params:scim:schemas:extension:oracle:2.0:CPQ:User": { "userType": "FULL_ACCESS", "currency": "EUR", "dateFormat": 3, "numberFormat": 0, "units": 1, "enabledForSso": "SSO_ENABLED", "separateShipaddr": false, "addresses": [ { "type": "BILL_TO", "name": { "familyName": "jones", "givenName": "lisa" }, "address1": "2 waters park dr", "address2": "Po2 suite 240-2", "locality": "SanMateo", "companyName": "PO2", "region": "California", "postalCode": "94403", "country": "UK", "phone": "650-403-6322", "fax": "650-403-6322", "email": "lisa.jones@companyemail.com" }, { "type": "SHIP_TO", "name": { "familyName": "jones", "givenName": "lisa" }, "address1": "2 waters park dr", "address2": "Po2 suite 240-2", "locality": "SanMateo", "companyName": "po2", "region": "California", "postalCode": "94403", "country": "JPN", "phone": "650-403-6322", "fax": "650-403-6322", "email": "lisa.jones@companyemail.com" } ], "isNotifyEmail": false, "isSuperUserPermEnabled": false, "isAccessAdminPermEnabled": false, "isProxyPermEnabled": false, "isNotifyFax": false, "isWebServicesOnly": false }, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "organization": "phoenix60388" } }
Description |
This endpoint makes a user inactive. When a user is inactive, its owner will not be able to log in to Oracle CPQ and the user will not count in the user license count. |
|
---|---|---|
URI Endpoint |
/rest/v17/scim/users/{id} |
|
Endpoint Parameters |
id |
The unique identifier for the user. |
HTTP Method |
DELETE |
|
Request Body Parameters |
None |
|
Response Body Parameters |
HTTP Code 204 |
https://sitename.oracle.com/rest/v17/scim/users/b41d85c8f77d4e43a24e7a8ce7873041
Notes
The v11 request and response structures for the following existing User Management REST APIs have major changes to provide behavior consistent with the CPQ User Administration UI. These changes also provide support for additional use cases, user access permissions, and user groups.
- Get Company User (GET) /rest/v11/companies/{companyName}/users/{userName}
- Create a Company User (POST) /rest/v11/companies/{companyName}/users
- Update/Create a Company User ( PUT) /rest/v11/companies/{companyName}/users/{userName}
- Update a Company User (PATCH) /rest/v11/companies/{companyName}/users/{userName}
The User REST APIs introduced in Oracle CPQ Release 18D support currency and language codes and IDs in the input and response payloads. Oracle CPQ now supports integrations with external applications to specify the preferred currency and language for a user profile to specify the preferred currency and language for a user with standardized code values.
- User REST APIs v5 through v10 support Currency Codes and Language Codes.
- Beginning in v11, currency and language use complex objects to support value and display items.
- When integrating with an external application, the User REST APIs are available via Oracle Integration Cloud Service (ICS) Oracle CPQ Adapter for REST API Services.
- When both a currency code and currency ID are provided in the payload, the currency code takes precedence. When both a language code and a language ID are provided in the payload, the language code takes precedence.
Refer to the following topics for supported codes:
In the ICS integration, a new Users category is available. The GET, UPSERT, and UPDATE HTTP Methods are under User. The Update for Reset Password HTTP Method is under User. The Update for Reset Password HTTP Method is under User:Action:Reset Password. The POST HTTP Method is under User: Collection.