You use the OpenAPI describe parameter by appending it to a HTTP GET request to the resource's URI. This retrieves the catalog of Business Objects exposed over REST, their descriptions, the paths to retrieve the catalog of individual objects, request formats, possible responses with HTTP codes, and so on.
The following request uses the describe parameter to return the catalog of Business Objects exposed over REST in OpenAPI 2.0 format:
URI: http://ServerName:port/siebel/v1.0/data/describe?openapiversion=2
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Here are the response details for 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":[] } ] } } } }
The following request uses the describe parameter to return the catalog of Business Objects exposed over REST in OpenAPI 3.0 format:
-
URI: http://ServerName:port/siebel/v1.0/data/describe
-
HTTP Method: GET
-
Content-Type: application/json
-
Authorization: Basic
-
Request body: None
Here are the response details for a successful request:
-
HTTP Code: 200
-
Content-Type: application/json
-
Response body:
{
"openapi": "3.0.1",
"info": {
"title": "SblDt",
"description": "OpenAPI specification for SiebelData - API : data",
"contact": {
"email": "sample@sample.com"
},
"version": "1.0"
},
"externalDocs": {
"description": "OpenAPI",
"url": "https://openapis.org"
},
"servers": [{
"url": "https://hostname:port/siebel/v1.0"
}],
"tags": [{
"name": "data/Account/describe"
}],
"paths": {
"/data/Action/describe": {
"get": {
"tags": [
"data/Action/describe"
],
"operationId": "data/Action/describe",
"parameters": [{
"name": "openapiversion",
"in": "query",
"schema": {
"type": "string",
"default": "3.0"
}
}],
"responses": {
"200": {
"description": "Successful Operation",
"content": {}
},
"204": {
"description": "No Resource Found",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"404": {
"description": "There is no data for the requested resource",
"content": {}
},
"500": {
"description": "Internal Server Error",
"content": {}
}
},
"security": [{
"basicAuth": [],
"oAuth2.0": []
}]
}
}
},
"components": {
"securitySchemes": {
"basicAuth": {
"type": "http",
"scheme": "basic"
},
"oAuth2.0": {
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "http://openAPI.io/",
"scopes": {
"write:": "modify",
"read:": "read only"
}
}
}
}
}
},
"x-original-swagger-version": "3.0"
}