Developer Documentation Library > Web API > Web API application > OpenApi specification
 
OpenApi specification
You can get an OpenApi 3.0 specification of the Web API from the /OpenApi/version endpoint: for example, /OpenApi/v1.0 for version 1.0 of the Web API, or /OpenApi/v1.1 for version 1.1. You can access this endpoint without being authenticated.
The OpenApi specification has additional properties that specify component version information.
info.version
The version of the Web API. This is a standard OpenApi property.
info.x-supportedByReleases
The names of the product versions that support the Web API version.
info.x-componentVersions
A list of components that make up the Web API version and the API version of each component.
Example
The following example is the “info” property that is in version 1.1 of the OpenApi specification of the Web API.
This info JSON shows that this specification is for v1.1 of the Web API, and that v1.1 is supported by product releases 6.0.1 FP4 IF111 and 7.5.1 FP1.
In this version, the Intelligence.WebApi.Components.Quotas component is at v1.1; therefore, to use the API, clients should specify an X-Api-Version header value of 1.1 when accessing any endpoint implemented by the Intelligence.WebApi.Components.Quotas component.
When accessing any endpoint implemented by the Intelligence.WebApi.Components.ExportData component the client should specify an X-Api-Version header value of 1.0.
"info": {
"title": "UNICOM Intelligence Web API",
"description": "Unified RESTful API for programmatic access to UNICOM Intelligence",
"version": "1.1",
"x-supportedByReleases": [
"6.0.1 FP4 IF111",
"7.5.1 FP1"
],
"x-componentVersions": {
"Intelligence.WebApi.Core": "1.1",
"Intelligence.WebApi.Components.CaseData": "1.0",
"Intelligence.WebApi.Components.DPM": "1.1",
"Intelligence.WebApi.Components.ExportData": "1.0",
"Intelligence.WebApi.Components.Files": "1.1",
"Intelligence.WebApi.Components.InterviewingReports": "1.0",
"Intelligence.WebApi.Components.Metadata": "1.0",
"Intelligence.WebApi.Components.Participants": "1.0",
"Intelligence.WebApi.Components.Quotas": "1.1"
}
}
For each method of each path, the OpenApi specification has an “x-component” property which indicates the name of the component which implements that path. You can use this property to get the value of the X-Api-Version header variable which should be used when accessing that path by looking up the value of the x-component property in the x-componentVersions array. The parameters for each path in the OpenApi specification always include an “X-Api-Version” header parameter, which is a string parameter with only one possible value.
The following example is for the /Projects/{projectName}/Quotas endpoint.
The x-component property indicates that this endpoint is implemented by the Intelligence.WebApi.Components.Quota component.
The parameters property indicates that a header parameter called “X-Api-Version” is required, which must be a value of “1.1”.
Each version of the OpenApi specification specifies different X-Api-Version values for each endpoint.
"/Projects/{projectName}/Quotas": {
"get": {
"tags": [
"Quota"
],
"operationId": "QuotaSummary_GetQuotaSummary",
"parameters": [
{
"name": "X-Api-Version",
"in": "header",
"required": true,
"description": "The component API version",
"schema": {
"type": "string",
"enum": [
"1.1"
]
}
},
{
"name": "projectName",
...
}
],
"responses": {
...
}
},
"x-component": "Intelligence.WebApi.Components.Quotas"
See
Web API application