Using REST API with
Symantec ICA

The
Symantec ICA
REST API provides programmatic access to
Symantec ICA
data.

Authentication

REST clients authenticate using basic authentication. The user name and password credentials are created using the
ApiAccountUtility.exe
command located in the
C:\Program Files\Bay Dynamics\Database Utilities\ApiAccountUtility
folder. The following is an example of the command:
C:\Program Files\Bay Dynamics\Database Utilities\ApiAccountUtility\ApiAccountUtility.exe
username password
After creating the credentials, the user is administered in the
Symantec ICA
portal. 
When using REST API, you need the following in order to provide basic authentication:
  • A string in the form of
    username:password
  • Base64 to encode the username string
  • Authorization header with the value
    Basic
    followed by the Base64-encoded value
The following values are examples of what is needed when providing basic authentication:
The request header would be as follows:
Authorization: Basic Sm9obi5Eb2VAQ29tcGFueS5jb21MOk15UGFzc3dvcmQ=

Rate Limiting

The user provisioned in
Symantec ICA
may be rate-limited to a certain number of API requests per hour or per day. Requests are tracked at the user/account level, so if a user has more than one thread or application making requests then each request contributes to the total. When a client exceeds the limit, you will get an HTTP 503 Service Unavailable response. The following headers are returned with each response from the API:
  • X-ApiLimit-Type: This can be unlimited, hourly or daily.
  • X-ApiLimit-ConfiguredValue: If the type is hourly or daily, then this value is the number of calls allowed in that period.
  • X-ApiLimit-CurrentValue: If the type is hourly or daily, then this value is the number of calls that have been made in that period.
To set the rate limit for a user, do the following:
  1. Log in to the
    Symantec ICA
    host using an account that has administrator rights.
  2. Start Microsoft SQL Server Management Studio, and connect to the Database Engine server that has the
    Symantec ICA
    installation.
  3. Expand
    Databases
    , and the expand
    Tables
    .
  4. Edit the PortalUsers table to update the following columns for the user who will have rate limits:
    • APILimitType: Options are 0 for unlimited, 1 for hourly, and 2 for daily.
    • APILimitValue: Value specifies the number of calls per hour or day, depending on APILimitType value.
  5. Save the PortalUsers table.

Online Help and Other Resources

Online help is available at
your_symantecICA
/restapi. In the URL,
your_symantecICA
is the web server with the
Symantec ICA
installation.
Many tools are available to allow you to try API calls without having to write any code. Some of the popular tools are: