4Using the Siebel REST API

About Using the Siebel REST API

Each topic in this chapter provides both JSON and XML examples that demonstrate how to use the Siebel REST API calls to interact with Siebel Server resources.

Each REST API call in this chapter uses the following format:

  • An example request, which includes the following information:

    • URI. The location of the Siebel REST API resource on the Siebel Server. For more information about Siebel REST API URL format, see About Siebel CRM REST API URI Formats.

    • HTTP Method. The HTTP method used to call the Siebel REST API to interact with the Siebel Server. For more information about supported HTTP Methods, About Supported HTTP Methods.

    • Content-Type. The part of the HTTP header that indicates the media type of the data that is sent by the Siebel REST API HTTP methods. For more information about supported HTTP headers, see About Supported HTTP Header Fields.

    • Request Body. The code example for the Siebel REST API request.

  • An example response, which includes the following information:

    • HTTP Code. The HTTP status code returned to indicate whether the request was successful or if there was an error. For more information about supported HTTP codes, About Standard HTTP Status Codes and Error Messages.

    • Content-Type. The part of the HTTP header that indicates the media type of the data that is returned by the Siebel REST API HTTP methods. For more information about supported HTTP headers, see About Supported HTTP Header Fields.

    • Response Body. The code example for the Siebel REST API response.

Note: Because of the length of REST responses, some REST responses have been omitted.

Querying for a Siebel CRM Repository Resource

You can query for a Siebel CRM repository resource by sending an HTTP GET request to the repository resource's URI.

The following details are for a request query that returns control properties of the WriteRecord Method in the SIS Account List Applet applet on the Siebel CRM Server:

  • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet /Control/WriteRecord

  • HTTP Method: GET

  • Content-Type: application/json

  • Authorization: Basic

  • Request body: None

    Querying for a Siebel CRM Repository Resource with a Search Specification

    You can query for a Siebel CRM repository resource by sending an HTTP GET request to the repository resource's URI.

    The following details are for a request query that returns properties of the SIS Account List Applet applet based on search specification from the Siebel CRM Server:

    • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?searchspec=[Business Component] LIKE 'B*

    • HTTP Method: GET

    • Content-Type: application/json

    • Authorization: Basic

    • Request body: None

      Querying for a Siebel CRM Repository Resource with a Returned Field List

      You can query for a Siebel CRM repository resource by sending an HTTP GET request to the repository resource's URI.

      The following details are for a request query that returns field values only for the Name, ProjectName, and Comments fields of the SIS Account List Applet applet from the Siebel CRM Server:

      • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?fields=Name,ProjectName,Comments

      • HTTP Method: GET

      • Content-Type: application/json

      • Authorization: Basic

      • Request body: None

        Querying for a Siebel CRM Repository Resource with Access Controls

        You can query for a Siebel CRM Repository Resource with access controls by sending an HTTP GET request to the resource's URI.

        The following details are for a request to query for a Siebel CRM Repository Resource with a ViewMode="Personal" access control on the Siebel CRM Server:

        • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ViewMode="Personal"

        • HTTP Method: GET

        • Content-Type: application/json

        • Authorization: Basic

        • Request body: None

          Inserting a Siebel CRM Repository Resource

          You can insert a Siebel CRM repository resources by sending an HTTP POST request to the repository resource's URI.

          The following details are for a request to insert a new applet on the Siebel CRM Server:

          • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1

          • HTTP Method: POST

          • Content-Type: application/json

          • Authorization: Basic

          • Request body:
            {
                 "Name":"SIS Account List Applet_1",
                 "ProjectName":"Siebel Rest",
                 "UpgradeBehavior":"Preserve",
                 "Comments":"SIS Account List Applet: Added by Rest"
            }

            Upserting a Siebel CRM Repository Resource

            You can upsert a Siebel CRM repository resource by sending an HTTP PUT request to the resource's URI.

            The following details are for a request to upsert a repository resource by updating the comments of the applet and adding a BtnAutoSchedule control to it on the Siebel CRM Server:

            • URL: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1/Control/WriteRecord

            • HTTP Method: PUT

            • Content-Type: application/json

            • Authorization: Basic

            • Request body:
              {
                "Name": "WriteRecord",
              }
              

              Deleting a Siebel CRM Repository Resource

              You can delete a Siebel CRM repository resource by sending an HTTP DELETE request to the resource's URI.

              The following details are for a request to delete a repository resource on the Siebel CRM Server:

              • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1

              • HTTP Method: DELETE

              • Content-Type: application/json

              • Authorization: Basic

              • Request body: None

                Using the Describe Parameter to Return Top-Level Repository Objects

                You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                The following details are for a Describe request to return top-level repository objects from the Siebel CRM Server:

                • URI: http://ServerName:port/siebel/v1.0/workspace/main/describe

                • HTTP Method: GET

                • Content-Type: application/json

                • Authorization: Basic

                • Request body: None

                The following are the details for the response to a successful request:

                • HTTP Code: 200

                • Content-Type: application/json

                • Response body:
                  {
                    "swagger": "2.0",
                    "info": 
                  {
                  },
                    "schemes": 
                    [
                      "http",
                      "https" 
                    ],
                    "securityDefinitions": 
                    {
                      "Basic Auth": 
                      {
                        "type": "basic"
                      }
                    },
                    "externalDocs": 
                    {
                      "description": "OpenAPI",
                      "url": "https://openapis.org"
                    },
                    "host": "host:port number",
                    "basePath": "/siebel/v1.0",
                    "tags": [
                    {
                      "name": "workspace/main/Applet/describe",
                      "description": "Catalogging of Applet",
                      "externalDocs": 
                      {
                        "description": "Find Out More",
                        "url": ""
                      }
                    },
                    {
                      "name": "workspace/main/Application/describe",
                      "description": "Catalogging of Application",
                      "externalDocs":
                      {
                        "description": "Find Out More",
                         "url": ""
                      }
                    }
                    ],
                    "paths": 
                    {
                      "/workspace/main/Applet/describe": 
                      {
                        "get": 
                       {
                     "tags": [
                     "workspace/main/Applet/describe"
                     ],
                     "summary": "",
                     "description": "",
                     "operationId": "workspace/main/Applet/describe",
                     "produces": [
                       "application/xml",
                       "application/json"
                     ],
                    "responses": {                
                      "200": {"description": "Successful Operation"},
                      "204": {"description": "No Resource Found"},
                      "404": {"description": "There is no data for the requested resource"},
                      "500": {"description": "Internal Server Error"}
                      },
                    "parameters": [],
                    "security": [
                    {
                     "Basic Auth": [],
                     "OAuth 2.0": []
                    }
                    ]
                    }
                   }
                  }

                  Using Describe to Return Metadata for a Repository Object and Children Catalog URLs

                  You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                  The following details are for a Describe request to return metadata for a repository object and children catalog URLs from the Siebel CRM Server:

                  • URI: http://ServerName:port/siebel/v1.0/workspace/main/Applet/describe

                  • HTTP Method: GET

                  • Content-Type: application/json

                  • Authorization: Basic

                  • Request body:

                  The following are the details for the response to a successful request:

                  • HTTP Code: 200

                  • Content-Type: application/json

                  • Response body:
                    {
                      "swagger": "2.0",
                      "info": {},
                      "schemes": [],
                      "securityDefinitions": {},
                      "externalDocs": {},
                      "host": "host:port number",
                      "basePath": "/siebel/v1.0",
                      "definitions": {},
                      "tags": [],
                      "paths": {
                        "/workspace/main/Applet/{key}/Applet Browser Script/describe": {
                      "get": {
                     "tags": [
                        "workspace/main/Applet/{key}/Applet Browser Script/describe"
                        ],
                      "summary": "",
                      "description": "",
                      "operationId": "workspace/main/Applet/{key}/Applet Browser Script/describe",
                      "produces": [
                        "application/xml",
                        "application/json"
                        ],
                      "responses": {
                        "200": {"description": "Successful Operation"},
                        "204": {"description": "No Resource Found"},
                        "404": {"description": "There is no data for the requested resource"},
                        "500": {"description": "Internal Server Error"}
                        },
                      "parameters": [
                      {
                        "name": "key",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "default": "key",
                        "type": "string"
                      }
                      ],
                      "security": [
                      {
                        "Basic Auth": [],
                        "OAuth 2.0": []
                      }
                      ]
                      }
                      }
                     }
                    }

                    Using Describe to Return Metadata for Child Repository Objects and Catalog URLs for Grand Child Repository Objects

                    You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                    The following details are for a Describe request to return metadata for child repository objects and grand child catalog URLs from the Siebel CRM Server:

                    • URI: http://ServerName:port/siebel/v1.0/workspace/main/Applet/{key}/Control/describe

                    • HTTP Method: GET

                    • Content-Type: application/json

                    • Authorization: Basic

                    • Request body: None

                    The following are the details for the response to a successful request:

                    • HTTP Code: 200

                    • Content-Type: application/json

                    • Response body:
                      {
                        "swagger": "2.0",
                        "info": {},
                        "schemes": [],
                        "securityDefinitions": {},
                        "externalDocs": {},
                        "host": "host:port number",
                        "basePath": "/siebel/v1.0",
                        "definitions": {
                        "workspace_main_Applet_{key}_Control_": {
                          "type": "object",
                          "required": [
                            "Name",
                            "Type",
                            "Show Popup",
                            "HTML Row Sensitive",
                            "Parent Id",
                            "HTML Default Control"
                            ],
                          "properties": {
                            "ActiveX Bind Property": {
                            "maxLength": 75,
                            "x-siebel-precision": "0",
                            "type": "string",
                            "x-siebel-datatype": "DTYPE_TEXT",
                            "x-siebel-scale": "0",
                            "title": "ActiveX Bind Property"
                           },
                        "tags": [],
                        "paths":{}
                      }

                      Using Siebel REST API to Access Siebel Business Objects JSON Examples

                      You can use the Siebel REST API to access Siebel CRM Business Objects. Users can perform Query, Insert, Update, and Delete operations on the Siebel Business Objects using REST API requests over HTTP as described in this section.

                      This topic includes the following information:

                        Querying for a Siebel CRM Business Object

                        You can query for a Siebel CRM Business Object by sending an HTTP GET request to the resource's URI.

                        The following details are for a request to query for an Account business object with an ID of 1LS-9XKU on the Siebel CRM Server:

                        • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/1LS-9XKU

                        • HTTP Method: GET

                        • Content-Type: application/json

                        • Authorization: Basic

                        • Request body: None

                          Querying for a Siebel CRM Business Object with a Search Specification

                          You can query for a Siebel CRM Business Object by sending an HTTP GET request to the resource's URI.

                          The following details are for a request to query for a Contact business object with a search specification parameter on the Siebel CRM Server:

                          • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/Account/1-32HG/Contact/?searchspec=([First Name] LIKE 'J*' AND [Last Name] LIKE 'A*')

                          • HTTP Method: GET

                          • Content-Type: application/json

                          • Authorization: Basic

                            Querying for a Siebel CRM Business Object with a Returned Fields List

                            You can query for a Siebel CRM Business Object by sending an HTTP GET request to the resource's URI.

                            The following details are for a request to query for an Account business object that return values only for the Name, Location, and Account Status fields of an Account with an 1-32HG ID number on the Siebel CRM Server:

                            • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/Account/1-32HG?fields=Name, Location, Account Status

                            • HTTP Method: GET

                            • Content-Type: application/json

                            • Authorization: Basic

                              Inserting a Siebel CRM Business Object

                              You can insert a Siebel CRM business object by sending an HTTP POST request to the resource's URI.

                              The following details are for a request to create a new account on the Siebel CRM Server:

                              • URL: http://ServerName:port/siebel/v1.0/data/Account/Account

                              • HTTP Method: POST

                              • Content-Type: application/json

                              • Authorization: Basic

                              • Request body:

                              { 
                                 "Name": "AccountExample", 
                              		"Primary Organization": "Millennium Institutional Finance Services IF ENU", 
                              		"Location": "HQ-Distribution", 
                              		"Description": "AccountData", 
                              		"Primary Organization Id": "1-1DG", 
                              }

                                Inserting a Siebel CRM Child Business Object

                                You can insert a Siebel CRM child business object by sending an HTTP PUT request to the resource's URI.

                                The following details are for a request to insert a Contact business object into an existing Account business object on the Siebel CRM Server:

                                • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF/Contact

                                • HTTP Method: PUT

                                • Content-Type: application/json

                                • Authorization: Basic

                                • Request body:

                                {
                                  "Employee Number":"1231",
                                  "Employer Name":"BXM",
                                  "Bill To First Name":"MAYANew",
                                  "Bill To Last Name": "ABRAHAMNew",
                                  "Primary Organization Id":"0-R9NH",
                                  "Account Integration Id":"",
                                  "Job Title":"",
                                  "Person UId":"0CR-1MF5Z611",
                                  "Primary Organization":"Default Organization",
                                  "Personal Contact":"N"
                                }
                                

                                  Inserting Multiple Siebel CRM Child Business Objects

                                  You can insert multiple Siebel CRM child business object by sending an HTTP PUT request to the resource's URI.

                                  The following details are for a request to insert multiple Contacts into an existing Account business object on the Siebel CRM Server:

                                  • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/Account/1-1/Contact

                                  • HTTP Method: PUT

                                  • Content-Type: application/json

                                  • Authorization: Basic

                                  • Request body:
                                    {
                                      "Contact":[
                                      {  
                                        "Primary Organization Id":"1-1DG",
                                        "Primary Organization":"Default Organization",
                                        "First Name":"Ken",
                                        "Last Name": "Bass",
                                        "Id":"12345"
                                      },
                                      {  
                                        "Primary Organization Id":"1-1DG",
                                        "Primary Organization":"Default Organization",
                                        "First Name":"test",
                                        "Last Name": "test1",
                                        "Id":"123456"
                                      }
                                      ]
                                    }
                                    

                                    Upserting a Siebel CRM Business Object

                                    You can upsert a Siebel CRM business object by sending an HTTP PUT request to the resource's URI.

                                    The following details are for a request to update the fields of an existing Account business object on the Siebel CRM Server:

                                    • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF

                                    • HTTP Method: PUT

                                    • Content-Type: application/json

                                    • Authorization: Basic

                                    • Request body:
                                      { 
                                        "Name": "AccountExample", 
                                        "Primary Organization": 
                                        "Millennium Institutional Finance Services IF ENU", 
                                        "Location": "HQ-Distribution", 
                                        "Description": "AccountDataUpdate", 
                                        "Primary Organization Id": "1-1DG" 
                                      }

                                      Upserting a Siebel CRM Child Business Object

                                      You can upsert a Siebel CRM child business object by sending an HTTP PUT request to the resource's URI.

                                      The following details are for a request to update the fields of an Opportunity of a given Account child business object on the Siebel CRM Server:

                                      • URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF/Opportunity

                                      • HTTP Method: PUT

                                      • Content-Type: application/json

                                      • Authorization: Basic

                                      • Request body:
                                        {
                                          "Id":"123456",
                                          "Name":"NewOpp",
                                          "Currency Code": "AUD",
                                          "Primary Organization":"Default Organization"
                                        }
                                        

                                        Deleting a Siebel CRM Business Object

                                        You can delete a Siebel CRM business object by sending an HTTP DELETE request to the resource's URI.

                                        The following details are for a request to delete an Account business object on the Siebel CRM Server:

                                        • URL: http://ServerName:port/siebel-rest/v1.0/data/Account/Account/88-43CGR

                                        • HTTP Method: DELETE

                                        • Content-Type: application/json

                                        • Authorization: Basic

                                        • Request body: None

                                          Querying for a Siebel CRM Business Object with Access Controls

                                          You can query for a Siebel CRM Business Object with access controls by sending an HTTP GET request to the resource's URI.

                                          The following details are for a request to query for a Siebel CRM Business Object with a ViewMode="Sales Rep" access control on the Siebel CRM Server:

                                          • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/?ViewMode="Sales Rep"

                                          • HTTP Method: GET

                                          • Content-Type: application/json

                                          • Authorization: Basic

                                            Using Describe to Return the Siebel Base Business Object Catalog

                                            You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                                            The following details are for a Describe request to return the Siebel Base Business Object from the the Siebel CRM Server:

                                            • URI: http://ServerName:port/siebel/v1.0/data/describe

                                            • HTTP Method: GET

                                            • Content-Type: application/json

                                            • Authorization: Basic

                                            • Request body: None

                                            The following are the details for the response to a successful request:

                                            • HTTP Code: 200

                                            • Content-Type: application/json

                                            • Response body:
                                              {  
                                                 "swagger":"2.0",
                                                 "info":{  
                                                    "description":"Siebel REST API",
                                                    "version":"1.0",
                                                    "title":"Siebel REST API",
                                                    "contact":{  
                                                       "email":"sample@sample.com"
                                                    }
                                                 },
                                                 "schemes":[  
                                                    "http",
                                                    "https"
                                                 ],
                                                 "securityDefinitions":{  
                                                    "Basic Auth":{  
                                                       "type":"basic"
                                                    },
                                                    "OAuth 2.0":{  
                                                       "type":"oauth2",
                                                       "authorizationUrl":"http://openAPI.io/",
                                                       "flow":"implicit",
                                                       "scopes":{  
                                                          "write:":"modify",
                                                          "read:":"read only"
                                                       }
                                                    }
                                                 },
                                                 "externalDocs":{  
                                                    "description":"OpenAPI",
                                                    "url":"https://openapis.org"
                                                 },
                                                 "host": "host:port number",
                                                 "basePath":"/siebel/v1.0",
                                                 "tags":[  
                                                    {  
                                                       "name":"data/Account/describe",
                                                       "description":"Catalogging of Account",
                                                       "externalDocs":{  
                                                          "description":"Find Out More",
                                                          "url":""
                                                       }
                                                    },
                                                    {  
                                                       "name":"data/Service Request/describe",
                                                       "description":"Catalogging of Service Request",
                                                       "externalDocs":{  
                                                          "description":"Find Out More",
                                                          "url":""
                                                       }
                                                    },
                                                    "paths":{  
                                                       "/data/Account/describe":{  
                                                          "get":{  
                                                             "tags":[  
                                                                "data/Account/describe"
                                                             ],
                                                             "summary":"",
                                                             "description":"",
                                                             "operationId":"data/Account/describe",
                                                             "produces":[  
                                                                "application/xml",
                                                                "application/json"
                                                             ],
                                                             "responses":{  
                                                                "200":{"description":"Successful Operation"},
                                                                "204":{ "description":"No Resource Found"},
                                                                "404":{"description":"There is no data for the requested resource"},
                                                                "500":{"description":"Internal Server Error"}
                                                             },
                                                             "parameters":[  
                                              
                                                             ],
                                                             "security":[  
                                                                {  
                                                                   "Basic Auth":[],
                                                                   "OAuth 2.0":[]
                                                                }
                                                             ]
                                                          }
                                                       },
                                                       "/data/Service Request/describe":{  
                                                          "get":{  
                                                             "tags":[  
                                                                "data/Service Request/describe"
                                                             ],
                                                             "summary":"",
                                                             "description":"",
                                                             "operationId":"data/Service Request/describe",
                                                             "produces":[  
                                                                "application/xml",
                                                                "application/json"
                                                             ],
                                                             "responses":{  
                                                                "200":{"description":"Successful Operation"},
                                                                "204":{"description":"No Resource Found"},
                                                                "404":{"description":"There is no data for the requested resource"},
                                                                "500":{"description":"Internal Server Error"}
                                                             },
                                                             "parameters":[],
                                                             "security":[  
                                                                {  
                                                                   "Basic Auth":[],
                                                                   "OAuth 2.0":[]
                                                                }
                                                             ]
                                                          },
                                                          "post":{  
                                                             "tags":[  
                                                                "data_Account_Account_"
                                                             ],
                                                             "summary":"",
                                                             "description":"",
                                                             "operationId":"data_Account_Account_/post",
                                                             "produces":[  
                                                                "application/xml",
                                                                "application/json"
                                                             ],
                                                             "consumes":[  
                                                                "application/xml",
                                                                "application/json"
                                                             ],
                                                             "responses":{  
                                                                "200":{"description":"Successful Operation"},
                                                                "204":{"description":"No Resource Found"},
                                                                "404":{ "description":"There is no data for the requested resource"},
                                                                "500":{ "description":"Internal Server Error"}
                                                             },
                                                             "parameters":[  
                                                                {  
                                                                   "in":"body",
                                                                   "name":"body",
                                                                   "description":"",
                                                                   "required":true,
                                                                   "schema":{  
                                                                      "$ref":"#/definitions/data_Account_Account_"
                                                                   }
                                                                }
                                                             ],
                                                             "security":[  
                                                                {  
                                                                   "Basic Auth":[],
                                                                   "OAuth 2.0":[]
                                                                }
                                                             ]
                                                          }
                                                       }
                                                    }
                                              
                                              }

                                              Using the Describe Parameter to Return the Business Object Catalog of a Parent Business Component

                                              You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                                              The following details are for a Describe request to return the Business Object Catalog of a parent Business Component from the Siebel CRM Server:

                                              • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/describe

                                              • HTTP Method: GET

                                              • Content-Type: application/json

                                              • Authorization: Basic

                                              • Request body:

                                              The following are the details for the response to a successful request:

                                              • HTTP Code: 200

                                              • Content-Type:

                                              • Response body:
                                                 { 
                                                  "definitions":{
                                                    "data_Account_Account_":{
                                                     "type":"object",
                                                     "required":
                                                     "properties":
                                                     }
                                                  },
                                                  "tags":[
                                                  {
                                                    "name":"data/Account/Account/",
                                                    "description":"Operations available on data/Account/Account/",
                                                    "externalDocs":{
                                                    "description":"Find Out More",
                                                    "url":""
                                                  }
                                                  },
                                                  "paths":{
                                                    "/data/Account/Account/":{
                                                    "get":{
                                                   "tags":[
                                                   "data_Account_Account_"
                                                   ],
                                                  "summary":"",
                                                  "description":"",
                                                  "operationId":"data_Account_Account_/get",
                                                  "produces":[
                                                  "application/xml",
                                                  "application/json"
                                                  ],
                                                  "responses":{
                                                    "200":{"description":"Successful Operation"},
                                                    "204":{"description":"No Resource Found"},
                                                    "404":{"description":"There is no data for the requested resource"},
                                                    "500":{"description":"Internal Server Error"}
                                                    },
                                                  "parameters":[
                                                  {
                                                    "name":"key",
                                                    "in":"path",
                                                    "description":"",
                                                    "required":true,
                                                    "type":"string"
                                                  }
                                                  ],
                                                  "security":[
                                                  {
                                                    "Basic Auth":[],
                                                    "OAuth 2.0":[]
                                                  }
                                                  ]
                                                  }  
                                                 }
                                                }
                                                }

                                                Using the Describe Parameter to Return Metadata for a Parent Business Component and Catalog of Child Business Components

                                                You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                                                The following details are for a Describe request to return Metadata for a parent Business Component and catalog of Child Business Components from the Siebel CRM Server:

                                                • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-6/Contact/describe

                                                • HTTP Method: GET

                                                • Content-Type: application/json

                                                • Authorization: Basic

                                                • Request body: None

                                                The following are the details for the response to a successful request:

                                                • HTTP Code: 200

                                                • Content-Type: application/json

                                                • Response body:
                                                  {
                                                  "definitions":{  
                                                     "data_Account_Account_{key}_Contact_":{  
                                                        "type":"object",
                                                        "required":[],
                                                        "properties":[],
                                                        "tags":[  
                                                           {  
                                                              "name":"data/Account/Account/{key}/Contact/",
                                                              "description":"Operations available on data/Account/Account/{key}/Contact/",
                                                              "externalDocs":{  
                                                                 "description":"Find Out More",
                                                                 "url":""
                                                              }
                                                           },
                                                           "paths":{  
                                                              "/data/Account/Account/{key}/Contact/":{  
                                                                 "get":{  
                                                                    "tags":[  
                                                                       "data_Account_Account_{key}_Contact_"
                                                                    ],
                                                                    "summary":"",
                                                                    "description":"",
                                                                    "operationId":"data_Account_Account_{key}_Contact_/get",
                                                                    "produces":[  
                                                                       "application/xml",
                                                                       "application/json"
                                                                    ],
                                                                    "responses":{  
                                                                       "200":{"description":"Successful Operation"},
                                                                       "204":{"description":"No Resource Found"},
                                                                       "404":{ "description":"There is no data for the requested resource"},
                                                                       "500":{"description":"Internal Server Error"}
                                                                    },
                                                                    "parameters":[  
                                                                       {  
                                                                          "name":"key",
                                                                          "in":"path",
                                                                          "description":"",
                                                                          "required":true,
                                                                          "type":"string"
                                                                       }
                                                                    ],
                                                                    "security":[  
                                                                       {  
                                                                          "Basic Auth":[],
                                                                          "OAuth 2.0":[]
                                                                       }
                                                                    ]
                                                                 },
                                                                 "post":{  
                                                                    "tags":[  
                                                                       "data_Account_Account_{key}_Contact_"
                                                                    ],
                                                                    "summary":"",
                                                                    "description":"",
                                                                    "operationId":"data_Account_Account_{key}_Contact_/post",
                                                                    "produces":[  
                                                                       "application/xml",
                                                                       "application/json"
                                                                    ],
                                                                    "consumes":[  
                                                                       "application/xml",
                                                                       "application/json"
                                                                    ],
                                                                    "responses":{  
                                                                       "200":{"description":"Successful Operation"},
                                                                       "204":{"description":"No Resource Found"},
                                                                       "404":{"description":"There is no data for the requested resource"},
                                                                       "500":{"description":"Internal Server Error"}
                                                                    },
                                                                    "parameters":[  
                                                                       {  
                                                                          "in":"body",
                                                                          "name":"body",
                                                                          "description":"",
                                                                          "required":true,
                                                                          "schema":{  
                                                                             "$ref":"#/definitions/data_Account_Account_{key}_Contact_"
                                                                          }
                                                                       }
                                                                    ],
                                                                    "security":[  
                                                                       {  
                                                                          "Basic Auth":[],
                                                                          "OAuth 2.0":[]
                                                                       }
                                                                    ]
                                                                 }
                                                              }
                                                           }
                                                  
                                                  }

                                                  Querying for all Contacts in an Account by Using the Uniformresponse Flag

                                                  You can query for a Siebel CRM object by sending an HTTPS GET request to the resource’s URI.

                                                  The following details are to request for all Contacts in a given Account from the Siebel CRM Server by using the uniformresponse flag:
                                                  • URI: GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?fields=First Name, Last Name&childlinks=Account,Position,Organization&uniformresponse=yes

                                                  • HTTP Method: GET

                                                  • Content Type: application/json

                                                  • Authorization: Basic

                                                  • Request body: None

                                                  The following are the details for the response to a successful request:
                                                  • HTTP Code: 200

                                                  • Content Type:

                                                  • Response body:
                                                    {
                                                        "items": [
                                                            {
                                                                "Id": "0CR-1MF5Z6",
                                                                "First Name": "JOHN",
                                                                "Last Name": "SMITH",
                                                                "Link": [
                                                                    {
                                                                        "rel": "self",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                        "name": "Contact"
                                                                    },
                                                                    {
                                                                        "rel": "canonical",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                        "name": "Contact"
                                                                    },
                                                                    {
                                                                        "rel": "parent",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                        "name": "Account"
                                                                    },
                                                                    {
                                                                        "rel": "child",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position",
                                                                        "name": "Position"
                                                                    },
                                                                    {
                                                                        "rel": "child",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization",
                                                                        "name": "Organization"
                                                                    },
                                                                    {
                                                                        "rel": "child",
                                                                        "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account",
                                                                        "name": "Account"
                                                                    }
                                                                ]
                                                            }
                                                        ],
                                                        "Link": [
                                                            {
                                                                "rel": "self",
                                                                "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?&uniformresponse=y&childlinks=Account,Position,Organization&fields=First Name, Last Name",
                                                                "name": "Contact"
                                                            }
                                                        ]
                                                    }

                                                    Querying for all Contacts in an Account Without Using the Uniformresponse Flag Where Response Returns Multiple Records

                                                    You can query for a Siebel CRM object by sending an HTTPS GET request to the resource’s URI.

                                                    The following details are to request for all Contacts in a given Account from the Siebel CRM Server, without using the uniformresponse flag, and receive multiple records in the response:
                                                    • URI: GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?fields=First Name, Last Name&childlinks=Account,Position,Organization

                                                    • HTTP Method: GET

                                                    • Content Type: application/json

                                                    • Authorization: Basic

                                                    • Request body: None

                                                    The following are the details for the response to a successful request:
                                                    • HTTP Code: 200

                                                    • Content Type:

                                                    • Response body:
                                                      {
                                                          "items": [
                                                              {
                                                                  "Id": "0CR-1MF5Z6",
                                                                  "First Name": "JOHN",
                                                                  "Last Name": "SMITH",
                                                                  "Link": [
                                                                      {
                                                                          "rel": "self",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                          "name": "Contact"
                                                                      },
                                                                      {
                                                                          "rel": "canonical",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                          "name": "Contact"
                                                                      },
                                                                      {
                                                                          "rel": "parent",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                          "name": "Account"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position",
                                                                          "name": "Position"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization",
                                                                          "name": "Organization"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account",
                                                                          "name": "Account"
                                                                      }
                                                                  ]
                                                              }
                                                      				{
                                                                  "Id": "0V-18PLXQ",
                                                                  "First Name": "WILLIAM",
                                                                  "Last Name": "BROWN",
                                                                  "Link": [
                                                                      {
                                                                          "rel": "self",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                          "name": "Contact"
                                                                      },
                                                                      {
                                                                          "rel": "canonical",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6",
                                                                          "name": "Contact"
                                                                      },
                                                                      {
                                                                          "rel": "parent",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                          "name": "Account"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position",
                                                                          "name": "Position"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization",
                                                                          "name": "Organization"
                                                                      },
                                                                      {
                                                                          "rel": "child",
                                                                          "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account",
                                                                          "name": "Account"
                                                                      }
                                                                  ]
                                                              }
                                                          ],
                                                          "Link": {
                                                                  "rel": "self",
                                                                  "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?&childlinks=Account,Position,Organization&fields=First Name, Last Name",
                                                                  "name": "Contact"
                                                              }
                                                          }

                                                      Querying for a Single Account Record Without Using the Uniformresponse Flag

                                                      You can query for a single Siebel CRM object by sending an HTTPS GET request to the resource’s URI.

                                                      The following details are to request for a single account from the Siebel CRM Server without using the uniformresponse flag:
                                                      • URI: GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND?fields=Name,Location,Id&childlinks=Contact,Position

                                                      • HTTP Method: GET

                                                      • Content Type: application/json

                                                      • Authorization: Basic

                                                      • Request body: None

                                                      The following are the details for the response to a successful request:
                                                      • HTTP Code: 200

                                                      • Content Type:

                                                      • Response body:
                                                        {
                                                           "Name": "3Com",
                                                           "Id": "88-26CND",
                                                           "Location": "Headquarters",
                                                           "Link": [
                                                                        {
                                                                            "rel": "self",
                                                                            "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                            "name": "Account"
                                                                        },
                                                                        {
                                                                            "rel": "canonical",
                                                                            "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                            "name": "Account"
                                                                        },
                                                                        {
                                                                            "rel": "child",
                                                                            "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact",
                                                                            "name": "Contact"
                                                                        },
                                                                        {
                                                                            "rel": "child",
                                                                            "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Position",
                                                                            "name": "Position"
                                                                        }
                                                                  ]
                                                         }
                                                        

                                                        Querying for a Single Account Record by Using the Uniformresponse Flag

                                                        You can query for a single Siebel CRM object by sending an HTTPS GET request to the resource’s URI.

                                                        The following details are to request for a single account from the Siebel CRM Server by using the uniformresponse flag:
                                                        • URI: GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND?fields=Name,Location,Id&childlinks=Contact,Position,Organization&uniformresponse=y

                                                        • HTTP Method: GET

                                                        • Content Type: application/json

                                                        • Authorization: Basic

                                                        • Request body: None

                                                        The following are the details for the response to a successful request:
                                                        • HTTP Code: 200

                                                        • Content Type:

                                                        • Response body:
                                                          {
                                                              "items": [
                                                          			{
                                                            			 "Name": "3Com",
                                                            			 "Id": "88-26CND",
                                                            			 "Location": "Headquarters",
                                                            			 "Link": [
                                                          	                {
                                                                              "rel": "self",
                                                                              "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                              "name": "Account"
                                                                          	},
                                                                          	{
                                                                              "rel": "canonical",
                                                                              "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND",
                                                                              "name": "Account"
                                                                          	},
                                                                          	{
                                                                              "rel": "child",
                                                                              "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact",
                                                                              "name": "Contact"
                                                                         		},
                                                                          	{
                                                                              "rel": "child",
                                                                              "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Position",
                                                                              "name": "Position"
                                                                          	},
                                                                   				]
                                                          			 }
                                                          ]
                                                              "Link": [
                                                                  {
                                                                    "rel": "self",
                                                                    "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account?uniformresponse=y&childlinks=Contact,Position,Organization&fields=Name,Location,Id",
                                                          					"name": "Account"
                                                          			  }
                                                          		]
                                                          }
                                                          

                                                          Using Siebel REST API to Access Siebel Business Services JSON Examples

                                                          You can use the Siebel REST API to access Siebel Business Services. Users can call Siebel Business Services using the Siebel REST API HTTP POST request to specify the Business Service Name, Method Name, and method parameters in the URI.

                                                          Before you can access the Siebel Business Services, you must configure the access and responsibility values of the Siebel Business Service. For more information, see Configuring Business Service Methods for RESTful Access.

                                                          This topic includes the following information:

                                                            Accessing a Siebel Business Service with Arguments in the Request Body

                                                            You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                            The following details are for a request to call the CreateAccount Method on the Account Business Service with business service arguments included in the request body. This request creates a REST Test Business Service3 account on the Siebel CRM Server:

                                                            • URI: http://ServerName:port/siebel/v1.0/service/Account/CreateAccount

                                                            • HTTP Method: POST

                                                            • Content-Type: application/json

                                                            • Authorization: Basic

                                                            • Request body:
                                                              {
                                                                "body":
                                                                  {
                                                                    "Account IO":
                                                                    {
                                                                      "IntObjectName":"Account IO",
                                                                      "IntObjectFormat":"Siebel Hierarchical",
                                                                      "ListOfAccount IO":
                                                                      {
                                                                        "Account":
                                                                        {
                                                                          "Name":"REST Test Business Service3"
                                                                        }
                                                                      }
                                                                    }
                                                                  }
                                                              }
                                                              

                                                              Acessing a Siebel Business Service with Arguments in the Request URI

                                                              You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                              The following details are for a request to call the QueryPage method of the AccountWS Business Service with PageSize=10, StartRowNum=0 and ViewMode=All parameters included in the request URI. This request returns the REST Test Business Service3 account in the format of the integration Account_EMR object on the Siebel CRM Server:

                                                              • URI: http://ServerName:port/siebel/v1.0/service/AccountWS/QueryPage?PageSize=10&StartRowNum=0&ViewMode=All

                                                              • HTTP Method: POST

                                                              • Content-Type: application/json

                                                              • Authorization: Basic

                                                              • Request body:
                                                                {
                                                                  "body":
                                                                    {
                                                                      "SiebelMessage":
                                                                      {
                                                                        "MessageId":"",
                                                                        "MessageType":"Integration Object",
                                                                        "IntObjectName":"Account_EMR",
                                                                        "IntObjectFormat":"Siebel Hierarchical",
                                                                        "ListOfAccount_EMR":
                                                                        {
                                                                          "Account":
                                                                          {
                                                                            "Name":"REST Test Business Service3"
                                                                          }
                                                                        }
                                                                      }
                                                                    }
                                                                }
                                                                

                                                                Accessing the Query By Example Method of the Siebel Account Business Service

                                                                You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                                The following details are for a request to call the QueryByExample method of the Siebel Account business service. This request will query and return an account with the name 3Com.

                                                                • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryByExample

                                                                • HTTP Method: POST

                                                                • Content-Type: application/json

                                                                • Authorization: Basic

                                                                • Request body:
                                                                  {
                                                                    "body":
                                                                    {
                                                                      "SiebelMessage":
                                                                      {
                                                                        "MessageId":"",
                                                                        "MessageType":"Integration Object",
                                                                        "IntObjectName":"Account Interface",
                                                                        "IntObjectFormat":"Siebel Hierarchical",
                                                                        "ListOfAccount Interface":
                                                                        {
                                                                          "Account":
                                                                          {
                                                                            "Name":"3Com"
                                                                          }
                                                                        }
                                                                      }
                                                                    }
                                                                  }
                                                                  

                                                                  Querying for an Account Using the Siebel Business Service QueryId Method

                                                                  You can query for an Account using the Siebel CRM business service QueryId method by sending an HTTP POST request to the resource's URI.

                                                                  The following details are for a request to call the QueryId method of the Siebel Account business service and the PrimaryRowId parameter is accepted as the query parameter. The following example query returns an account with an 88-459YQ PrimaryRowId value.

                                                                  • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryById?PrimaryRowId=88-459YQ

                                                                  • HTTP Method: POST

                                                                  • Content-Type: application/json

                                                                  • Authorization: Basic

                                                                  • Request body:
                                                                    {
                                                                    }
                                                                    

                                                                    Inserting an Account Using the Siebel Account Business Service

                                                                    You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                                    The following details are for a request to call the Insert method of Siebel Account Business service to insert a new account with details given in the request.

                                                                    • URI: https://ServerName:port/siebel/v1.0/service/Siebel Account/Insert

                                                                    • HTTP Method: POST

                                                                    • Content-Type: application/json

                                                                    • Authorization: Basic

                                                                    • Request body:
                                                                      {
                                                                        "body":
                                                                        {
                                                                          "SiebelMessage":
                                                                          {
                                                                            "MessageId":"",
                                                                            "MessageType":"Integration Object",
                                                                            "IntObjectName":"Account Interface",
                                                                            "IntObjectFormat":"Siebel Hierarchical",
                                                                            "ListOfAccount Interface":
                                                                            {
                                                                              "Account":
                                                                              {
                                                                                "Account Id":"2345",
                                                                                "Name":"REST Test Business Service"
                                                                              }
                                                                            }
                                                                         }
                                                                      }
                                                                      }
                                                                      

                                                                      Updating an Account Using a Siebel Account Business Service

                                                                      You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                                      The following details are for a request to call the Update method of Siebel Account Business Service.

                                                                      • URI: https://ServerName:port/siebel/siebel-rest/v1.0/service/Siebel Account/Update

                                                                      • HTTP Method: POST

                                                                      • Content-Type: application/json

                                                                      • Authorization: Basic

                                                                      • Request body:
                                                                        {
                                                                          "body":
                                                                          {
                                                                            "SiebelMessage":
                                                                            {
                                                                              "MessageId":"",
                                                                              "MessageType":"Integration Object",
                                                                              "IntObjectName":"Account Interface",
                                                                              "IntObjectFormat":"Siebel Hierarchical",
                                                                              "ListOfAccount Interface":
                                                                              {
                                                                                "Account":
                                                                                {
                                                                                  "Account Id":"1-6",
                                                                                  "Name":"REST Test Business Service32",
                                                                                  "Main Phone Number": "2018742315"
                                                                                }
                                                                              }
                                                                            }
                                                                          }
                                                                        }
                                                                        

                                                                        Upserting an Account Using a Siebel Account Business Service

                                                                        You can access a Siebel CRM business service by sending an HTTP POST request to the resource's URI.

                                                                        The following details are for a request to call the InsertOrUpdate method of Siebel Account Business service to insert an account with details given in the request.

                                                                        • URI: https://ServerName:port/siebel/v1.0/service/Siebel Account/InsertOrUpdate

                                                                        • HTTP Method: POST

                                                                        • Content-Type: application/json

                                                                        • Authorization: Basic

                                                                        • Request body:
                                                                          {
                                                                            "body":
                                                                            {
                                                                              "SiebelMessage":
                                                                              {
                                                                                "MessageId":"",
                                                                                "MessageType":"Integration Object",
                                                                                "IntObjectName":"Account Interface",
                                                                                "IntObjectFormat":"Siebel Hierarchical",
                                                                                "ListOfAccount Interface":
                                                                                {
                                                                                  "Account":
                                                                                  {
                                                                                    "Account Id":"34567",
                                                                                    "Name":"Rest",
                                                                                    "Main Phone Number": "20187423154"
                                                                                  }
                                                                                }
                                                                              }
                                                                            }
                                                                          }
                                                                          

                                                                          Using Describe to Return Methods for a Business Service

                                                                          You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                                                                          The following details are for a Describe request to return methods for business services from the Siebel CRM Server:

                                                                          • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/describe

                                                                          • HTTP Method: GET

                                                                          • Content-Type: application/json

                                                                          • Authorization: Basic

                                                                          • Request body: None

                                                                          The following are the details for the response to a successful request:

                                                                          • HTTP Code: 200

                                                                          • Content-Type: application/json

                                                                          • Response body:
                                                                                "swagger": "2.0",
                                                                                "info": {},
                                                                                "schemes": [],
                                                                                "securityDefinitions": {},
                                                                                "externalDocs": {},
                                                                                "host": "host:port number",
                                                                                "basePath": "/siebel/v1.0",
                                                                            
                                                                                "definitions": {},
                                                                            
                                                                                "tags": [],
                                                                            
                                                                                "paths": {
                                                                            
                                                                                    "/service/Siebel Account/Delete/describe": {
                                                                            
                                                                                        "get": {
                                                                            
                                                                                            "tags": [
                                                                            
                                                                                                "service/Siebel Account/Delete/describe"
                                                                            
                                                                                            ],
                                                                            
                                                                                            "summary": "",
                                                                            
                                                                                            "description": "",
                                                                            
                                                                                            "operationId": "service/Siebel Account/Delete/describe",
                                                                            
                                                                                            "produces": [                   
                                                                            
                                                                                            ],
                                                                            
                                                                                            "responses": {                
                                                                            
                                                                                            },
                                                                            
                                                                                            "parameters": [],                    
                                                                            
                                                                                            "security": [                
                                                                            
                                                                                            ]
                                                                            
                                                                                        }
                                                                            
                                                                                    },
                                                                            
                                                                                    "/service/Siebel Account/Insert/describe": {
                                                                            
                                                                                    },
                                                                            
                                                                                    "/service/Siebel Account/InsertOrUpdate/describe": {
                                                                            
                                                                                    },
                                                                            
                                                                                    "/service/Siebel Account/QueryByExample/describe": {
                                                                            
                                                                                    },  
                                                                            
                                                                                    "/service/Siebel Account/QueryById/describe": {
                                                                            
                                                                                    }, 
                                                                            
                                                                                    "/service/Siebel Account/Synchronize/describe": {
                                                                            
                                                                                    }, 
                                                                            
                                                                                    "/service/Siebel Account/Update/describe": {
                                                                            
                                                                                    }
                                                                            
                                                                                }
                                                                            
                                                                            }

                                                                            Using Describe to Return a Catalog of URLs for All Available Business Services

                                                                            You can use the OpenAPI Describe parameter by appending Describe to an HTTP GET request to the resource's URI.

                                                                            The following details are for a Describe request to return a catalog of URLs for all available business services from the Siebel CRM Server:

                                                                            • URI: http://ServerName:port/siebel/v1.0/workspace/main/Applet/{key}/Control/describe

                                                                            • HTTP Method: GET

                                                                            • Content-Type: application/json

                                                                            • Authorization: Basic

                                                                            • Request body:

                                                                            The following are the details for the response to a successful request:

                                                                            • HTTP Code: 200

                                                                            • Content-Type: application/json

                                                                            • Response body:
                                                                              {
                                                                                  "swagger": "2.0",  //Existing Swagger specification version
                                                                                  "info": {          //Metadata about API
                                                                                  },
                                                                                  "schemes": [        
                                                                                      "http",
                                                                                      "https"
                                                                                  ],
                                                                                  "securityDefinitions": {     //information about the authorization schemes
                                                                                      "Basic Auth": {
                                                                                          "type": "basic"
                                                                                      }
                                                                                  },
                                                                                  "externalDocs": {            
                                                                                      "description": "OpenAPI",
                                                                                      "url": "https://openapis.org"
                                                                                  },
                                                                                  "host": "host:port number",
                                                                                  "basePath": "/siebel/v1.0",
                                                                                  "tags": [                        
                                                                                      {
                                                                                          "name": "service/ABO Bulk Request Explode Service/describe",                
                                                                                          "description": "Catalogging of ABO Bulk Request Explode Service",
                                                                                          "externalDocs": {
                                                                                              "description": "Find Out More",
                                                                                              "url": ""
                                                                                          }
                                                                                      },
                                                                              
                                                                                     {
                                                                              
                                                                                          "name": "service/nextSet/describe",        
                                                                              
                                                                                          "description": "Catalogging of nextSet",
                                                                              
                                                                                          "externalDocs": {
                                                                              
                                                                                              "description": "Find Out More",
                                                                              
                                                                                              "url": ""
                                                                              
                                                                                          }
                                                                              
                                                                                      }
                                                                                      
                                                                                  ],
                                                                                  "paths": {
                                                                                      "/service/ABO Bulk Request Explode Service/describe": {                                                   //links
                                                                                          "get": {                                          
                                                                                              "tags": [
                                                                                                  "service/ABO Bulk Request Explode Service/describe"
                                                                                              ],
                                                                                              "summary": "",
                                                                                              "description": "",
                                                                                              "operationId": "service/ABO Bulk Request Explode Service/describe",
                                                                                              "produces": [
                                                                                                  "application/xml",
                                                                                                  "application/json"
                                                                                              ],
                                                                                              "responses": {                
                                                                                                  "200": {"description": "Successful Operation"},
                                                                                                  "204": {"description": "No Resource Found"},
                                                                                                  "404": {"description": "There is no data for the requested resource"},
                                                                                                  "500": {"description": "Internal Server Error"}
                                                                                              },
                                                                                              "parameters": [],
                                                                                              "security": [
                                                                                                  {
                                                                                                      "Basic Auth": [],
                                                                                                      "OAuth 2.0": []
                                                                                                  }
                                                                                              ]
                                                                                          }
                                                                                      },
                                                                              
                                                                                      "/service/describe?PageSize=10&StartRowNum=10": {                                                   //links
                                                                                          "get": {                                          
                                                                                              "tags": [
                                                                                                  "service/nextSet/describe"
                                                                                              ],
                                                                                              "summary": "",
                                                                                              "description": "",
                                                                                              "operationId": "service/nextSet/describe",
                                                                                              "produces": [
                                                                                                  "application/xml",
                                                                                                  "application/json"
                                                                                              ],
                                                                                              "responses": {                
                                                                                                  "200": {"description": "Successful Operation"},
                                                                                                  "204": {"description": "No Resource Found"},
                                                                                                  "404": {"description": "There is no data for the requested resource"},
                                                                                                  "500": {"description": "Internal Server Error"}
                                                                                              },
                                                                                              "parameters": [],
                                                                                              "security": [
                                                                                                  {
                                                                                                      "Basic Auth": [],
                                                                                                      "OAuth 2.0": []
                                                                                                  }
                                                                                              ]
                                                                                          }
                                                                                      }
                                                                                  }
                                                                              }

                                                                              Using Siebel REST API to Access Siebel Repository Data XML Examples

                                                                                Querying for a Siebel CRM Repository Resource

                                                                                You can query for a Siebel CRM repository resource by sending an HTTP GET request to the repository resource's URI.

                                                                                The following details are for a request query for a parent repository resource on the Siebel CRM Server that returns WriteRecord control properties in the SIS Account List Applet:

                                                                                • URI: http://ServerName:port/siebel/v1.0/workspace/dev_sadmin_temp/Applet/SIS Account List Applet

                                                                                • HTTP Method: GET

                                                                                • Content-Type: application/xml

                                                                                • Authorization: Basic

                                                                                • Request body: None

                                                                                  Querying for a Siebel CRM Repository Resource with a Search Specification

                                                                                  You can query for a Siebel CRM repository resource by sending an HTTP GET request to the repository resource's URI.

                                                                                  The following details are for a request query for a repository resource on the Siebel CRM Server that returns SIS Account List Applet properties based on a given search specification:

                                                                                  • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?searchspec=[Business Component] LIKE 'B*'

                                                                                  • HTTP Method: GET

                                                                                  • Content-Type: application/xml

                                                                                  • Authorization: Basic

                                                                                  • Request body: None

                                                                                    Querying for a Siebel CRM Repository Resource that Returns Fields List

                                                                                    You can query for a Siebel CRM parent repository resource by sending an HTTP GET request to the repository resource's URI.

                                                                                    The following details are for a request query for a repository resource on the Siebel CRM Server that returns values for the Name, ProjectName, and Comments fields of the SIS Account List Applet applet:

                                                                                    • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?fields=Name,ProjectName,Comments

                                                                                    • HTTP Method: GET

                                                                                    • Content-Type: application/xml

                                                                                    • Authorization: Basic

                                                                                    • Request body: None

                                                                                      Inserting a Siebel CRM Repository Resource

                                                                                      You can insert a Siebel CRM repository resource by sending an HTTP POST request to the repository resource's URI.

                                                                                      The following details are for a request to insert a repository resource on the Siebel CRM Server:

                                                                                      • URI: http://ServerName:port/siebel/v1.0/workspace/dev_sadmin_temp/Applet/SIS Account List Applet_1

                                                                                      • HTTP Method: POST

                                                                                      • Content-Type: application/xml

                                                                                      • Authorization: Basic

                                                                                      • Request body:
                                                                                        <?xml version="1.0" encoding="UTF-8" ?>
                                                                                          <request>
                                                                                            <Name>SIS Account List Applet_1</Name>
                                                                                            <ProjectName>Siebel Rest</ProjectName>
                                                                                            <UpgradeBehavior>Preserve</UpgradeBehavior>
                                                                                            <Comments>SIS Account List Applet: Added by Rest</Comments>
                                                                                          </request>
                                                                                        

                                                                                        Upserting a Siebel CRM Repository Resource

                                                                                        You can upsert a Siebel CRM repository resource by sending an HTTP PUT request to the repository resource's URI.

                                                                                        The following details are for a request to upsert comments and add a control to a repository resource on the Siebel CRM Server:

                                                                                        • URI: http://ServerName:port/siebel/v1.0/workspace/dev_sadmin_temp/Applet/SIS Account List Applet_1/Control/WriteRecord

                                                                                        • HTTP Method: PUT

                                                                                        • Content-Type: application/xml

                                                                                        • Authorization: Basic

                                                                                        • Request body:
                                                                                          <?xml version="1.0" encoding="UTF-8" ?>
                                                                                            <request>
                                                                                              <Name>WriteRecord</Name>
                                                                                            </request>
                                                                                          

                                                                                          Deleting a Siebel CRM Repository Resource

                                                                                          You can delete a Siebel CRM repository resource by sending an HTTP DELETE request to the repository resource's URI.

                                                                                          The following details are for a request to delete a repository resource on the Siebel CRM Server:

                                                                                          • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1

                                                                                          • HTTP Method: DELETE

                                                                                          • Content-Type: application/xml

                                                                                          • Authorization: Basic

                                                                                          • Request body: None

                                                                                            Querying for a Siebel CRM Repository Resource with Access Controls

                                                                                            You can query for a Siebel CRM Repository Resource with access controls by sending an HTTP GET request to the resource's URI.

                                                                                            The following details are for a request to query for a Siebel CRM Repository Resource with a ViewMode="Personal" access control on the Siebel CRM Server:

                                                                                            • URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ViewMode="Personal"

                                                                                            • HTTP Method: GET

                                                                                            • Content-Type: application/xml

                                                                                            • Authorization: Basic

                                                                                            • Request body: None

                                                                                              Querying for a Siebel CRM Business Object

                                                                                              You can query for a Siebel CRM business object resource by sending an HTTP GET request to the repository resource's URI.

                                                                                              The following details are for a request query for an Account Business Object resource on the Siebel CRM Server:

                                                                                              • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1LS-9XKU

                                                                                              • HTTP Method: GET

                                                                                              • Content-Type: application/xml

                                                                                              • Authorization: Basic

                                                                                                Querying for a Siebel CRM Business Object with a Search Specification

                                                                                                You can query for a Siebel CRM business object resource by sending an HTTP GET request to the repository resource's URI.

                                                                                                The following details are for a request query for a business object resource on the Siebel CRM Server:

                                                                                                • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG/Contact/?searchspec=([First Name] LIKE 'J*' AND [Last Name] LIKE 'A*')

                                                                                                • HTTP Method: GET

                                                                                                • Content-Type: application/xml

                                                                                                • Authorization: Basic

                                                                                                  Querying for a Siebel CRM Business Object Resource that Returns Fields List

                                                                                                  You can query for a Siebel CRM business object resource by sending an HTTP GET request to the repository resource's URI.

                                                                                                  The following details are for a request query for a business object resource on the Siebel CRM Server that returns field values for an Account Business Object:

                                                                                                  • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG?fields=Name, Location, Account Status

                                                                                                  • HTTP Method: GET

                                                                                                  • Content-Type: application/xml

                                                                                                  • Authorization: Basic

                                                                                                    Inserting a Siebel CRM Parent Business Object

                                                                                                    You can insert a Siebel CRM parent business object resource by sending an HTTP POST request to the repository resource's URI.

                                                                                                    The following details are for a request to insert a parent business object resource on the Siebel CRM Server:

                                                                                                    • URI: http://ServerName:port/siebel/v1.0/data/Account/Account

                                                                                                    • HTTP Method: POST

                                                                                                    • Content-Type: application/xml

                                                                                                    • Authorization: Basic

                                                                                                    • Request body:
                                                                                                      <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                        <request >
                                                                                                          <Name>AccountData</Name>
                                                                                                          <Primary_spcOrganization>Millennium Institutional Finance Services IF ENU</
                                                                                                           Primary_spcOrganization>
                                                                                                          <Location>HQ-Distribution</Location>
                                                                                                          <Description>AccountData</Description>
                                                                                                          <Primary_spcOrganization_spcId>1-1DG</Primary_spcOrganization_spcId>
                                                                                                        </request>
                                                                                                      

                                                                                                      Upserting a Siebel CRM Parent Business Object

                                                                                                      You can upsert a Siebel CRM parent business object resource by sending an HTTP PUT request to the repository resource's URI.

                                                                                                      The following details are for a request to upsert a parent business object resource on the Siebel CRM Server:

                                                                                                      • URI: http://ServerName:port/siebel/v1.0/data/Account/Account

                                                                                                      • HTTP Method: PUT

                                                                                                      • Content-Type: application/xml

                                                                                                      • Authorization: Basic

                                                                                                      • Request body:

                                                                                                      <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                        <request>
                                                                                                          <Name>AccountData</Name>
                                                                                                          <Primary_spcOrganization>Millennium Institutional Finance Services IF ENU</
                                                                                                           Primary_spcOrganization>
                                                                                                          <Location>HQ-Distribution</Location>
                                                                                                          <Description>AccountDataUpdate</Description>
                                                                                                          <Primary_spcOrganization_spcId>1-1DG</Primary_spcOrganization_spcId>
                                                                                                        </request>
                                                                                                      

                                                                                                        Deleting a Siebel CRM Parent Business Object

                                                                                                        You can delete a Siebel CRM parent business object resource by sending an HTTP DELETE request to the repository resource's URI.

                                                                                                        The following details are for a delete request for a parent business object resource on the Siebel CRM Server:

                                                                                                        • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-43CGR

                                                                                                        • HTTP Method: DELETE

                                                                                                        • Content-Type: application/xml

                                                                                                        • Authorization: Basic

                                                                                                        • Request body:
                                                                                                          <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                          <request>
                                                                                                            <Id>88-43CGR</Id>
                                                                                                          </request>
                                                                                                          

                                                                                                          Querying for a Siebel CRM Business Object That Returns Child Links to CUT

                                                                                                          You can query for a Siebel CRM business object resource that returns child links to CUT by sending an HTTP PUT request to the repository resource's URI.

                                                                                                          The following details are for a request to query for a Siebel CRM business object resource that returns child links to CUT on the Siebel CRM Server:

                                                                                                          • URI: http://ServerName:port/siebel/v1.0/data/Account/Account?ChildLinks=CUT Address for Account/Contact,FINS Security - Account External Holdings,FINS cBanking Facility

                                                                                                          • HTTP Method: PUT

                                                                                                          • Content-Type: application/xml

                                                                                                          • Authorization: Basic

                                                                                                            Querying for a Siebel CRM Business Object Resource with Access Controls

                                                                                                            You can query for a Siebel CRM Business Object Resource with access controls by sending an HTTP GET request to the resource's URI.

                                                                                                            The following details are for a request to query for a Siebel CRM Business Object Resource with a ViewMode="Sales Rep" access control on the Siebel CRM Server:

                                                                                                            • URI: http://ServerName:port/siebel/v1.0/data/Account/Account/?ViewMode="Sales Rep"

                                                                                                            • HTTP Method: GET

                                                                                                            • Content-Type: application/xml

                                                                                                            • Authorization: Basic

                                                                                                              Using Siebel REST API to Access Siebel Business Services XML Examples

                                                                                                              You can use the Siebel REST API to access Siebel Business Services. Users can call Siebel business services using the Siebel REST API HTTP POST request to specify the Business Service Name, Method Name, and method parameters in the URI.

                                                                                                              This topic includes the following information:

                                                                                                                Using a Siebel CRM Business Service to Insert an Account

                                                                                                                You can use a Siebel CRM Business Service resource to insert an Account by sending an HTTP POST request to the repository resource's URI.

                                                                                                                The following details are for a request to use a business service resource to insert an Account on the Siebel CRM Server:

                                                                                                                • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Insert

                                                                                                                • HTTP Method: POST

                                                                                                                • Content-Type: application/xml

                                                                                                                • Authorization: Basic

                                                                                                                • Request body:
                                                                                                                  <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                                  <body>
                                                                                                                    <SiebelMessage>
                                                                                                                      <MessageId></MessageId>
                                                                                                                      <MessageType>Integration Object</MessageType>
                                                                                                                      <IntObjectName>EAI Account</IntObjectName>
                                                                                                                      <IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
                                                                                                                      <ListOfEAI_spcAccount>
                                                                                                                        <Account>
                                                                                                                          <Name>Test Account</Name>
                                                                                                                        </Account>
                                                                                                                      </ListOfEAI_spcAccount>
                                                                                                                    </SiebelMessage>
                                                                                                                  </body>
                                                                                                                  

                                                                                                                  Using a Siebel CRM Business Service to Update an Account

                                                                                                                  You can use a Siebel CRM Business Service resource to update an Account by sending an HTTP PUT request to the repository resource's URI.

                                                                                                                  The following details are for a request to update a Main Phone field for an Account Business Service on the Siebel CRM Server:

                                                                                                                  • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Update

                                                                                                                  • HTTP Method: PUT

                                                                                                                  • Content-Type: application/xml

                                                                                                                  • Authorization: Basic

                                                                                                                  • Request body:

                                                                                                                    <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                                    <body>
                                                                                                                      <SiebelMessage>
                                                                                                                        <MessageId></MessageId>
                                                                                                                        <MessageType>Integration Object</MessageType>
                                                                                                                        <IntObjectName>Account Interface</IntObjectName>
                                                                                                                        <IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
                                                                                                                        <ListOfAccount_spcInterface>
                                                                                                                          <Account><Account_spcId>1-34Z</Account_spcId>
                                                                                                                          <Main_spcPhone_spcNumber>2018742315</Main_spcPhone_spcNumber>
                                                                                                                          </Account>
                                                                                                                        </ListOfAccount_spcInterface>
                                                                                                                      </SiebelMessage>
                                                                                                                    </body>
                                                                                                                    

                                                                                                                    Using a Siebel CRM Business Service to Delete an Account

                                                                                                                    You can use a Siebel CRM Business Service to delete an Account by sending an HTTP DELETE request to the resource's URI.

                                                                                                                    The following details are for a request to delete an Account on the Siebel CRM Server:

                                                                                                                    • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Delete

                                                                                                                    • HTTP Method: DELETE

                                                                                                                    • Content-Type: application/xml

                                                                                                                    • Authorization: Basic

                                                                                                                    • Request body:
                                                                                                                      <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                                      <body>
                                                                                                                        <SiebelMessage>
                                                                                                                          <MessageId></MessageId>
                                                                                                                          <MessageType>Integration Object</MessageType>
                                                                                                                          <IntObjectName>Account Interface</IntObjectName>
                                                                                                                          <IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
                                                                                                                          <ListOfAccount_spcInterface>
                                                                                                                            <Account>
                                                                                                                              <Account Id>1-34Z</Account Id>
                                                                                                                            </Account>
                                                                                                                          </ListOfAccount_spcInterface>
                                                                                                                        </SiebelMessage>
                                                                                                                      </body>
                                                                                                                      

                                                                                                                      Using a Siebel CRM Business Service to Query for an Account

                                                                                                                      You can use a Siebel CRM Business Service to query for an Account by sending an HTTP GET request to the resource's URI.

                                                                                                                      The following details are for a request to query for an Account with an ID=1-6 value on the Siebel CRM Server:

                                                                                                                      • URI: http://ServerName:port/siebel/v1.0/v1.0/service/Siebel Account/QueryById?PrimaryRowId=1-6

                                                                                                                      • HTTP Method: GET

                                                                                                                      • Content-Type: application/xml

                                                                                                                      • Authorization: Basic

                                                                                                                      • Request body:

                                                                                                                        <xml>

                                                                                                                        </xml>

                                                                                                                        Accessing the Query By Example Method of the Siebel Account Business Service

                                                                                                                        You can use a Siebel CRM Business Service to query for an Account by sending an HTTP GET request to the resource's URI.

                                                                                                                        The following details are for a request to query for an Account with a 3Com Name value on the Siebel CRM Server:

                                                                                                                        • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryByExample

                                                                                                                        • HTTP Method: GET

                                                                                                                        • Content-Type: application/xml

                                                                                                                        • Authorization: Basic

                                                                                                                        • Request body:

                                                                                                                        <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                                        <body>
                                                                                                                          <SiebelMessage>
                                                                                                                            <MessageId></MessageId>
                                                                                                                            <MessageType>Integration Object</MessageType>
                                                                                                                            <IntObjectName>Account Interface</IntObjectName>
                                                                                                                            <IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
                                                                                                                            <ListOfAccount_spcInterface>
                                                                                                                              <Account>
                                                                                                                                <Name>3Com</Name>
                                                                                                                              </Account>
                                                                                                                            </ListOfAccount_spcInterface>
                                                                                                                          </SiebelMessage>
                                                                                                                        </body>
                                                                                                                        

                                                                                                                          Using a Siebel CRM Business Service to Insert an Account

                                                                                                                          You can use a Siebel CRM Business Service to insert an Account by sending an HTTP POST request to the resource's URI.

                                                                                                                          The following details are for a request to insert an Account with a REST Test Business Service Name value on the Siebel CRM Server:

                                                                                                                          • URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Insert

                                                                                                                          • HTTP Method: POST

                                                                                                                          • Content-Type: application/xml

                                                                                                                          • Authorization: Basic

                                                                                                                          • Request body:
                                                                                                                            <?xml version="1.0" encoding="UTF-8" ?>
                                                                                                                            <body>
                                                                                                                              <SiebelMessage>
                                                                                                                                <MessageId></MessageId>
                                                                                                                                <MessageType>Integration Object</MessageType>
                                                                                                                                <IntObjectName>Account Interface</IntObjectName>
                                                                                                                                <IntObjectFormat>Siebel Hierarchical</IntObjectFormat>
                                                                                                                                <ListOfAccount_spcInterface>
                                                                                                                                  <Account>
                                                                                                                                    <Account_spcId>2345</Account_spcId>
                                                                                                                                    <Name>REST Test Business Service</Name>
                                                                                                                                  </Account>
                                                                                                                                </ListOfAccount_spcInterface>
                                                                                                                              </SiebelMessage>
                                                                                                                            </body>