The HoldingsIQ service retrieves vendor, package and title related information in JSON format. The service automates the managing of holdings data from different sources.





Update a Title in a Package Code Samples

Use the code samples below as examples to create an application in your desired language.  The following code samples use the /{custid}/vendors/{vendorid}/packages/{packageid}/titles/{kbid} endpoint which allows you to update selection status, proxy value or coverage customizations for a title within a package in a customer EPKB account.  Get started and begin to understand the endpoint by following the examples below in the language of your choice. 


Code Samples


curl -X PUT --header "Content-Type: application/json" --header \
"Accept: application/json" --header "x-api-key: APIKEY" -d "{
  \"isSelected\": true
}" \


// Construct the client
OkHttpClient client = new OkHttpClient();

// Create the URL
HttpUrl url = new HttpUrl.Builder()

// Build the body   
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{   \n\t\"isSelected\": true \n}");   

// Build the request
Request request = new Request.Builder()
      .addHeader("accept", "application/json")
      .addHeader("content-type", "application/json")
      .addHeader("x-api-key", APIKEY)

// Send the request
Response response = client.newCall(request).execute();


var host = "";
var pathsega = "/vendors/";
var pathsegb = "/packages/";
var pathsegc = "/titles/";

// Create the Request
var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID + pathsegc + KBID;
var settings = {
  "async": true,
  "crossDomain": true,
  "url": urlstr,
  "method": "PUT",
  "processData": false,
  "data": "{   \n\t\"isSelected\": true \n}",  
  "headers": {
    "accept": "application/json",
    "x-api-key": APIKEY,
    "content-type": "application/json"

// Send the Request
.done(function (response) {


# Form the URL 
urlstr = File.join('https://', '', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '6581', 'titles', '6231')
url = URI(urlstr)

# Create the HTTP object
http =, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

# Create the request
request =
request["accept"] = 'application/json'
request["x-api-key"] = APIKEY
request["content-type"] = 'application/json'
request.body = "{   \n\t\"isSelected\": true \n}"
# Send the request
response = http.request(request)


# Form the URL
url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages/', PACKAGEID, '/titles/', KBID])

# Create Connection Instance
conn = http.client.HTTPSConnection("")

# Payload
payload = "{   \n\t\"isSelected\": true \n}"

# Create the Request Headers
headers = {
    'accept': "application/json",
    'x-api-key': APIKEY,
    'content-type': "application/json"  

# Send Request  
conn.request("PUT", url, payload, headers)

# Get Response
res = conn.getresponse()