Workspace APIs
You can expose Siebel workspaces as REST APIs. A workspace provides a controlled environment for managing changes to objects, integration components, workflows, services, and related configurations.
To expose Siebel workspaces as REST APIs, configure the
openintegration/v1.0/workspace resource under the apigen >
resources section in the config.json file.
The openintegration/v1.0/workspace resource supports only the
All value.
The following example from the config.json file shows the configuration
for exposing workspace as REST APIs:
"apigen": {
"resources": {
"openintegration/v1.0/workspace": [
"All"
]
}
}
Supported Operations
The Workspace REST API supports several operations:
This table shows the supported operations:
Angle brackets (< >) indicate placeholders that you must replace with actual
values. For example, replace <hostname:port> with the host
name and port number of your environment, such as
machine123:8443.
| Supported Operation | Method | Endpoint |
|---|---|---|
| Retrieve all records | GET | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet |
| Retrieve single record | GET | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name> |
| Create a record | POST | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet |
| Update a record | PUT | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name> |
| Delete a record | DELETE | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name> |
Supported Query Parameters
Query Parameters for GET All Operations
The query parameters shown in this table are supported for GET All operations:
Angle brackets (< >) indicate placeholders that you must replace with actual
values. For example, replace <hostname:port> with the host
name and port number of your environment, such as
machine123:8443.
| Query Parameter | Description | Example |
|---|---|---|
| pageSize | Specifies the maximum number of records to retrieve. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?pageSize=<sizeOfRecords> |
| startRowNum | Specifies the row number from which to start retrieving records. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?startRowNum=<startingRowNumber> |
| fields | Returns only the specified fields for each record. Specify a comma-separated list of field names. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?fields=<comma-separated-field-names> |
| sortSpec | Sorts the returned records based on the specified field and sort order. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?sortSpec=<field>:<asc\|desc> |
| searchSpec | Returns records that match the specified search criteria. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?searchSpec=<search-string> |
| recordCountNeeded | Returns the total number of available records in the X-Record-Count response header when set to true. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?recordCountNeeded=true |
| ViewMode | Retrieves data using the specified Siebel visibility mode. If not specified, the default view mode is used. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?ViewMode=<view-mode> |
| excludeEmptyFieldsInResponse | Excludes empty fields from the response payload when set to true. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?excludeEmptyFieldsInResponse=true |
| childlinks | Includes child resource links in the response when set to true. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?childlinks=true |
| ExecutionMode | Processes the request using the specified execution mode. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?ExecutionMode=<execution-mode> |
| version | Retrieves the workspace resource for the specified workspace version. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?version=<workspace-version> |
| pagination | Includes pagination information in the response, such as navigation links and last-page details, when set to true. | https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet?pagination=true |
Query Parameters for GET by Record ID Operations
The query parameters shown in this table are supported for GET by Record ID operations.
Angle brackets (< >) indicate placeholders that you must replace with actual
values. For example, replace <hostname:port> with the host
name and port number of your environment, such as
machine123:8443.
| Query Parameter | Description | Example |
|---|---|---|
| fields | Returns only the specified fields for the record. Specify a comma-separated list of field names. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?fields=<comma-separated-field-names> |
| ViewMode | Retrieves data using the specified Siebel visibility mode. If not specified, the default view mode is used. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?ViewMode=<view-mode> |
| excludeEmptyFieldsInResponse | Excludes empty fields from the response payload when set to true. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?excludeEmptyFieldsInResponse=true |
| childlinks | Includes child resource links in the response when set to true. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?childlinks=true |
| ExecutionMode | Processes the request using the specified execution mode. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?ExecutionMode=<execution-mode> |
| version | Retrieves the workspace resource for the specified workspace version. | GET https://<hostname:port>/<context>/openintegration/v1.0/workspace/<workspace-name>/Applet/<applet-name>?version=<workspace-version> |
Examples
- Create an applet: The following example creates an applet in the
dev_sadmin_ws_17835001881workspace:Request:- Method: POST
-
Endpoint:
https://hostname:port//openintegration/v1.0/workspace/dev_sadmin_ws_17835001881/Applet - Request Body:
{ "Name": "SIS Account List Applet_1783500195", "ProjectId": "88-31WZ-18LV", "UpgradeBehavior": "Preserve", "ProjectName": "ABO Bulk Request UI", "Comments": "New Record_update" }
Response:
{ "items": { "Name": "SIS Account List Applet_1783500195", "Upgrade Behavior": "Preserve", "Id": "88-4DCJHL", "Project Name": "ABO Bulk Request UI", "Project Id": "88-31WZ-18LV", "Comments": "New Record_update", "Link": { "rel": "self", "href": "https://abc/openintegration/v1.0/workspace/dev_sadmin_ws_17835001881/Applet/SIS Account List Applet_1783500195", "name": "Applet" } } } -
Update an applet: This example updates the
SIS Account List Applet_1783500195applet in thedev_sadmin_ws_17835001881 workspace:Request:- Method: PUT
-
Endpoint:
https://hostname:port//openintegration/v1.0/workspace/dev_sadmin_ws_17835001881/Applet/SIS%20Account%20List%20Applet_1783500195 - Request Body:
{ "Name": "SIS Account List Applet_1783500195", "ProjectId": "88-31WZ-18LV", "UpgradeBehavior": "Preserve", "ProjectName": "ABO Bulk Request UI", "Comments": "Updating record" }
Response:
{ "items": { "Name": "SIS Account List Applet_1783500195", "Upgrade Behavior": "Preserve", "Id": "88-4DCJHL", "Project Name": "ABO Bulk Request UI", "Project Id": "88-31WZ-18LV", "Comments": "Updating record", "Link": { "rel": "self", "href": "https://abc/openintegration/v1.0/workspace/dev_sadmin_ws_17835001881/Applet/SIS%20Account%20List%20Applet_1783500195", "name": "Applet" } } } -
Delete an applet: This example deletes the SIS Account List Applet_1783500195 applet from the dev_sadmin_ws_17835001881 workspace:
Request:- Method: DELETE
-
Endpoint:
https://hostname:port//openintegration/v1.0/workspace/dev_sadmin_ws_17835001881/Applet/SIS Account List Applet_1783500195 - Request Body:
{ "Name": "SIS Account List Applet_1783500195", "ProjectId": "88-31WZ-18LV", "UpgradeBehavior": "Preserve", "ProjectName": "ABO Bulk Request UI", "Comments": "Updating record" } -
Response:
{}
- Retrieve applet records: This example retrieves applet records from the
MAINworkspace. The request specifies a page size of12, so the response contains up to 12 records:Request:- Method: GET
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/workspace/MAIN/Applet?pageSize=12 -
Response:
The response contains up to 12 applet records. The following is a sample record:{ "items": [ { "Class": "CSSFrameList", "Project Locked Language": "", "Mail Address Field": "", "Title - String Override": "", "Project UI Freeze": "N", "No Update": "N", "Object Language Locked": "", "Popup Dimension": "", "Name": " Contact Quota Period List Applet", "List Name": "List", "Upgrade Behavior": "Preserve", "No Delete": "N", "Application Code": "", "Project Id": "88-31WZ-18LL", "Service Application Use": "", "Background Bitmap Style": "", "Text Style": "", "Search Specification": "", "Disable Dataloss Warning": "N", "Help Identifier": "", "Scripted": "N", "No Merge": "N", "Associate Applet": "", "Repository Name": "Siebel Repository", "Title - Ref Exact": "Contact Quota Periods", "Responsive Flag": "Y", "Object Locked By Name": "", "Background Bitmap": "", "ICL Upgrade Path": "", "Title - Ref Default": "Contact Quota Periods", "Project Name": "Quota Rollup", "Repository Id": "88-31WZ-1", "Insert Applet": "", "Height": "4", "Module": "", "Browser Class": "", "Comments": "", "Task": "", "Project UI Freeze By Id": "", "No Insert": "Y", "Default Applet Method": "", "Insert Position": "", "Default Double Click Method": "", "Project Locked": "N", "Width": "2", "Tools Application Use": "", "Auto Query Mode": "", "Mail Template": "", "Inactive": "N", "Object Locked": "N", "Type": "Standard", "Title - String Reference": "SBL_TM_CONTACT_QUOTA_PERIODS", "Title - Base Row": "", "Object Locked Date": "", "Upgrade Ancestor": "", "HTML Number Of Rows": "", "Project Locked By Id": "", "Object Locked By Id": "", "Sales Application Use": "", "Business Component": "Contact Quota Period BC", "Language Code": "", "HTML Popup Dimension": "", "Link": [ { "rel": "self", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet", "name": "Applet" }, { "rel": "canonical", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet", "name": "Applet" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Message", "name": "Applet Message" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/List", "name": "List" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Chart", "name": "Chart" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Tree", "name": "Tree" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Web Template", "name": "Applet Web Template" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Browser Script", "name": "Applet Browser Script" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet User Prop", "name": "Applet User Prop" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Locale", "name": "Applet Locale" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Toggle", "name": "Applet Toggle" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Server Script", "name": "Applet Server Script" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Script", "name": "Applet Script" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Drilldown Object", "name": "Drilldown Object" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Control", "name": "Control" }, { "rel": "child", "href": "https://xxx.appsdev.xxx.xxx.com/openintegration/v1.0/workspace/MAIN/Applet/ Contact Quota Period List Applet/Applet Method Menu Item", "name": "Applet Method Menu Item" } ] } ] }
- Retrieve selected fields and sort results: This example retrieves applet records
from the
MAINworkspace:Request:- Method: GET
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/workspace/MAIN/Applet?fields=Name,Project%20Name,Comments&sortSpec=Name:desc -
Response: The response includes only the Name, Project Name, and Comments fields, and the records are sorted by Name in descending order.
- Retrieve applet records using a search specification: This example retrieves
applet records from the
MAINworkspace:Request:- Method: GET
-
Endpoint:
https://hostname:port//openintegration/v1.0/workspace/MAIN/Applet?searchSpec=[Business Component] Like 'A*' -
Response: The response contains only applet records with a Business Component value that starts with A.