Workspace Operations APIs
You can expose Siebel workspace operations as REST APIs using Siebel Open Integration. Workspace operations represent the lifecycle activities performed on a workspace, from creation through delivery. These operations help manage changes in a controlled, auditable, and conflict-free manner.
To expose Siebel workspace operations as REST APIs, configure the
openintegration/v1.0/wsoperation resource in the apigen >
resources section in the config.json file.
The openintegration/v1.0/wsoperation resource supports only the
All value.
The following example from the config.json file shows the configuration
for exposing workspace operations as REST APIs:
"apigen": {
"resources": {
"openintegration/v1.0/wsoperation": [
"All"
]
}
}
Supported Operations
The Workspace Operations 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 |
|---|---|---|
| Create workspace | Creates a new workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/Create |
| Get workspace details | Retrieves details of the specified workspace. | GET
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name> |
| Get workspace details by version | Retrieves details of the specified workspace for the specified workspace version. | GET
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/<version> |
| Delete a workspace | Deletes the specified workspace. | DELETE
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name> |
| Delete multiple workspaces | Deletes multiple workspaces based on the request body. | DELETE
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation |
| Checkpoint a workspace | Creates a checkpoint for the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/Checkpoint |
| Deliver a workspace | Delivers the changes in the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/Deliver |
| Rebase a workspace | Rebases the specified workspace with the latest changes from its parent workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/Rebase |
| Finish a rebase | Completes the rebase operation for the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/FinishRebase |
| Cancel a rebase | Cancels the rebase operation for the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/CancelRebase |
| Revert a workspace | Reverts the changes in the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/Revert |
| Submit a workspace for delivery | Submits the specified workspace for delivery. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/SubmitForDelivery |
| Undo submit for delivery | Cancels the submit-for-delivery status of the specified workspace. | POST
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/<workspace-name>/UndoSubmitForDelivery |
Examples
- Create a workspace: This example creates a new
workspace:Request:
- Method: POST
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/Create - Request Body:
{ "Build Branch Flag": "N", "Name": "dev_sadmin_ws_1783494726", "Parent Name": "MAIN", "Parent Version": "LATEST", "Comments": "WS Creation" }
Response:
{ "Name": "dev_sadmin_ws_1783494726", "Status": "Created", "Id": "88-4DCDUR", "Parent Name": "MAIN", "Parent Version": "27" } - Create multiple workspaces: This example creates multiple workspaces in a single
request:Request:
- Method: POST
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/Create - Request Body:
{ "workspaces": [ { "Build Branch Flag": "N", "Name": "dev_sadmin_ws_17834956581", "Parent Name": "MAIN", "Parent Version": "LATEST", "Comments": "WS Creation" }, { "Build Branch Flag": "N", "Name": "dev_sadmin_ws_178349565812", "Parent Name": "MAIN", "Parent Version": "LATEST", "Comments": "WS Creation" } ] }
Response:
{ "workspaces": [ { "Name": "dev_sadmin_ws_17834956581", "Status": "Created", "Id": "88-4DCDUW", "Parent Name": "MAIN", "Parent Version": "27" }, { "Name": "dev_sadmin_ws_178349565812", "Status": "Created", "Id": "88-4DCDV0", "Parent Name": "MAIN", "Parent Version": "27" } ] } - Retrieve workspace details: This example retrieves details of the
dev_sadmin_ws_1783494726workspace:Request:- Method: GET
-
Endpoint:
https://hostname:port//openintegration/v1.0/wsoperation/dev_sadmin_ws_1783494726
Response:
{ "Name": "dev_sadmin_ws_1783494726", "Status": "Created", "Id": "88-4DCDUR", "Latest Version": "0", "Parent Workspace Version": "27", "Parent Workspace Name": "MAIN", "Comments": "WS Creation", "Modified Objects": [] } - Delete a workspace: This example deletes the
dev_sadmin_ws_1783494726workspace:Request:- Method: DELETE
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation/dev_sadmin_ws_1783494726
Response:
{ "Name": "dev_sadmin_ws_1783494726", "Id": "88-4DCDUR" } - Delete multiple workspaces: This example deletes multiple workspaces in a single
request:Request:
- Method: DELETE
-
Endpoint:
https://<hostname:port>/<context>/openintegration/v1.0/wsoperation - Request Body:
{ "workspaces": [ { "Name": "dev_sadmin_ws_17834956581" }, { "Name": "dev_sadmin_ws_178349565812" } ] }
Response:
{ "workspaces": [ { "Name": "dev_sadmin_ws_17834956581", "Id": "88-4DCDUW" }, { "Name": "dev_sadmin_ws_178349565812", "Id": "88-4DCDV0" } ] }