Use cURL

The examples within this document use cURL to demonstrate how to access the Essbase REST API. cURL is a command-line data transfer tool you can use for making HTTP requests and other requests.

Task 1: Install cURL

To connect securely to the server, you must install a version of cURL that supports SSL and provide an SSL certificate authority (CA) certificate file or bundle to authenticate against the Verisign CA certificate. For more information about authentication, see Authenticate.

The following procedure demonstrates how to install cURL on a Windows 64-bit system.

  1. In your browser, navigate to the cURL home page at https://curl.se/download.html and click Download in the left navigation menu.

  2. On the cURL Releases and Downloads page, locate the SSL-enabled version of the cURL software that corresponds to your operating system, click the link to download the ZIP file, and install the software.

  3. Navigate to the cURL CA Certs page at https://curl.se/docs/caextract.html and download the ca-bundle.crt SSL CA certificate bundle in the folder where you installed cURL.

  4. Open a command window, navigate to the directory where you installed cURL, and set the cURL environment variable, CURL_CA_BUNDLE, to the location of an SSL certificate authority (CA) certificate bundle. For example:

    C:\curl> set CURL_CA_BUNDLE=ca-bundle.crt

You are now ready to send requests using cURL.

Task 2: Set Environment Variable for cURL

In a command window, set the cURL environment variable, CURL_CA_BUNDLE, to the location of your local CA certificate bundle. For example:

C:\curl> set CURL_CA_BUNDLE=ca-bundle.crt

For information about CA certificate verification using cURL, see https://curl.se/docs/sslcerts.html.

Task 3: Invoke cURL

Invoke cURL and specify one or more of the command-line options defined in the following table, as required, to direct its execution.

cURL Option Description
-d, --data @file.json Identifies the file that contains the request body, in JSON format, on the local machine. Alternatively, you can pass the request body with -d"{id=5,status='OK'}.
-F, --form @file.json Identifies form data, in JSON format, on the local machine.
-H --header, -I -include, and -X --request <method> Defines one or both of the following:
  • Content type of the request document

  • Custom header, X-ID-TENANT-NAME, to identify the identity domain

-i Displays response header information.
-u, --user <username>:<password> Specifies the user name and password for Essbase. To avoid supplying these in every cURL command, consider implementing cookies or using variables. See https://curl.se/docs/http-cookies.html.
-X Indicates the type of request (for example, GET, POST).

For example:

curl -i -X GET -u username:password https://myserver.example.com:9001/essbase/rest/v1/about