Using the REST API with Swagger
Before you begin
Download the Swagger UI.
To access the AR REST API through Swagger UI
Enable Cross Origin Resource Sharing (CORS) on the .
The CORS headers are configured as Centralized Configuration settings:- Access-Control-Allow-Credentials
- Access-Control-Expose-Headers
- Access-Control-Allow-Headers
- Access-Control-Allow-Methods
- Access-Control-Allow-Origin
For more information, see Configuration-settings-A-B.
Replace the url section below the SwaggerUIBundle with the URL details having the following syntax:
urls: [
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-jwt.json", name:"JWTResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-entry.json", name:"EntryResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-fields.json", name:"FieldsResource"}
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-menu.json", name:"MenuResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-webhook.json", name:"WebhookResource"}
],For example:
urls: [
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-jwt.json", name:"JWTResource_Name"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-entry.json", name:"EntryResource_Name"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-fields.json", name:"FieldsResource_Name"}
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-menu.json", name:"MenuResource"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-webhook.json", name:"WebhookResource"}
],The default Jetty Server Port is 8008.
For more information, see Knowledge Article number 000253769 (Support logon ID required).
To deploy Swagger UI in a Web container
The following procedure explains how to deploy Swagger UI in Apache Tomcat.
- Move the swagger-ui folder from your custom location to Tomcat\webapps folder.
For example, C:\Program Files\Apache Software Foundation\Tomcat7.0\webapps - From the swagger-ui folder, open the swagger-initializer.js file.
- In the swagger-initializer.js file, search for SwaggerUIBundle.
Replace the url section below the SwaggerUIBundle with the URL details having the following syntax:
urls: [
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-jwt.json", name:"JWTResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-entry.json", name:"EntryResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-fields.json", name:"FieldsResource"}
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-menu.json", name:"MenuResource"},
{url:"http://<AR Server IP address>:<Jetty Server Port>/api/arsys/v1.0/swagger/ars-webhook.json", name:"WebhookResource"}
],For example:
urls: [
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-jwt.json", name:"JWTResource_Name"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-entry.json", name:"EntryResource_Name"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-fields.json", name:"FieldsResource_Name"}
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-menu.json", name:"MenuResource"},
{url:"http://ARSERVER:8008/api/arsys/v1.0/swagger/ars-webhook.json", name:"WebhookResource"}
],The default Jetty Server Port is 8008.
- (Optional) Turn off the Swagger schema validation by adding validatorUrl: null, in the SwaggerUIBundle.
To authenticate the AR REST API
If you do not use , use the following procedure to authenticate the API. (If you use , do not follow this procedure. Instead, see Enabling-OAuth-authorization-for-AR-System-REST-APIs.)
- Open the following URL in the web browser:
http://<localhost>:<Tomcat port>/swagger-ui/
The default Tomcat port is 8080. - From the Select a definition drop-down, select JWTResource.
- Click on the /jwt/login API.
- Click Try it out!.
- Enter details such as username and password and then click Execute.
Status code 200 is displayed. - Copy the text in the Response body.
The copied text is a token to authenticate REST APIs. - From the Select a definition drop-down in the upper-right corner, select EntryResource (for entry APIs) or FieldsResource (for field APIs).
- Click Authorize.
The Available authorization dialog box is displayed. - In the Value field, enter AR-JWT, space, and paste the copied token.
- Click Authorize and close the dialog box.
You can now access any AR REST API by entering relevant field information. For more information, see Endpoints-in-AR-REST-API.
(On-premises deployments) To configure OAuth authentication in the Swagger UI
- Add the following attribute in the index.html file, located in the swagger-ui folder.
oauth2RedirectUrl: window.location.origin +"/swagger-ui/oauth2-redirect.html" Replace the url attribute below the SwaggerUIBundle with the following URL details.
urls: [{url:"http://<AR Server IP address>:<Jetty Server port>/api/arsys/v1.0/swagger/ars-jwt.json",name:"JWTResource"},
{url:"http://<AR Server IP address>:<c>/api/arsys/v1.0/swagger/ars-entry.json?rssoUrl=
http://<rsso server ip>:<RSSO Jetty Server port>",name:"EntryResource"},
{url:"http://<AR Server IP address>:<Jetty Server port>/api/arsys/v1.0/swagger/ars-fields.json?rssoUrl=
http://<rsso server ip>:<RSSO Jetty Server port>",name:"FieldsResource"}
{url:"http://<AR Server IP address>:<Jetty Server port>/api/arsys/v1.0/swagger/ars-Menu.json?rssoUrl=
http://<rsso server ip>:<RSSO Jetty Server port>",name:"MenuResource"}
{url:"http://<AR Server IP address>:<Jetty Server port>/api/arsys/v1.0/swagger/ars-Webhook.json?rssoUrl=
http://<rsso server ip>:<RSSO Jetty Server port>",name:"WebhookResource"}
],The default Jetty Server port is 8008.
- Refresh the browser.
- Click Authorize.
The following pop-up is displayed. - Enter Client ID and ClientSecret for the client registered in your Remedy SSO admin console.
- Click Authorize.
A new browser window opens. - Enter the AR System login credentials. Click Log in.
After successful authentication, the following screen is displayed. - Click OK.
You are now authorized through OAuth2 authentication.