NAV Navbar
cURL Java JavaScript Ruby Python
  • EBSCO HoldingsIQ
  • EBSCO HoldingsIQ

    Overview

    Welcome to the EBSCO HoldingsIQ reference documentation.

    The EBSCO HoldingsIQ service retrieves vendor, package and title related information in JSON format. The information includes customer selected resources from the EBSCO Knowledge Base. The service will also allow an external application to select, deselect and customize customer holdings.

    Authentication

    Service Endpoints

    Sandbox Environment
    https://sandbox.ebsco.io    
    
    Production Environment
    https://api.ebsco.io
    

    You will need an API key and an EBSCO customer ID in order to access the HoldingsIQ service. In order to authenticate to the service, you need to pass the API key in an HTTP header. The EBSCO customer ID also needs to be passed as a path parameter with every request.

    Version information

    Version : 1.0.0

    Contact information

    Contact : the EBSCO API Team
    Contact Email : support@ebsco.com

    License information

    License : Copyright EBSCO

    URI scheme

    Sandbox Environment : sandbox.ebsco.io
    Production Environment : api.ebsco.io
    BasePath : /rm/rmaccounts
    Schemes : HTTPS

    Tags

    Consumes

    Produces

    Resources

    Holdings Resources

    POST /{custid}/holdings

    Example Request

    curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'x-api-key: APIKEY' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/holdings'
    
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(CUSTID)
        .addPathSegment("holdings")
        .build();
    
    // Build the body       
    MediaType mediaType = MediaType.parse("application/octet-stream");
    RequestBody body = RequestBody.create(mediaType, "");
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .post(body)
        .addHeader("cache-control", "no-cache")
        .addHeader("x-api-key", APIKEY)
        .addHeader("content-type", "application/json")
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/holdings";
    
    // Packages POST Sample
    // Create the Request
    var urlstr = host + CUSTID + pathsega;
    
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "POST",
      "headers": {
        "x-api-key": APIKEY,
        "content-type": "application/json"
      },
      "data": ""
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'holdings')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Post.new(url)
    request["x-api-key"] = APIKEY
    request["content-type"] = 'application/json'
    request["cache-control"] = 'no-cache'
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/holdings'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Payload
    payload = ""
    
    # Create the Request Headers
    headers = {
        'x-api-key': APIKEY,
        'content-type': "application/json"
        }
    
    # Send Request  
    conn.request("POST", url, payload, headers)
    
    Description

    This operation populates holdings data to a staging area. You must perform this operation before using the GET holdings resources. Customer holdings will be refreshed each time a POST is complete. Hidden titles and packages are excluded from the holdings download. If the customer has made changes since the last POST, another POST needs to be performed before using a GET holdings resource in order to download all of the changes. If any metadata has changed since the last POST, you do not need to perform another POST in order to see the metadata changes in the GET holdings.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Query force
    optional
    force is used to force a new request. force is an optional parameter and defaults to false if not provided. Set force to true to recreate the holdings snapshot by overwriting the existing snapshot. force parameter should not be used on a regular basis. force is only to be used for resolving a stuck POST holdings request. boolean
    Responses
    HTTP Code Description Schema
    202 The request to populate holdings has been accepted for processing, but the processing has not been completed. No Content
    409 Snapshot is currently in progress. 409error
    default Unexpected Error errors

    GET /{custid}/holdings

    Example Request

    curl -X GET --header 'Accept: application/json' --header 'x-api-key: APIKEY' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/holdings?format=kbart2&count=5&offset=1'
    
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(CUSTID)
        .addPathSegment("holdings")
        .addQueryParameter("format", "kbart2")
        .addQueryParameter("count", "5")
        .addQueryParameter("offset", "1")
        .build();
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .get()
        .addHeader("accept", "application/json")
        .addHeader("x-api-key", APIKEY)
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/holdings";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "data": { 
        "format": "kbart2", 
        "count": "2", 
        "offset": "1"
      },
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'holdings')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'format' => 'kbart2',
        'count' => '5',
        'offset' => '1'
    })
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/holdings'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'format': 'kbart2', 'count': '5', 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    Description

    This operation allows you to download customer holdings in KBART2 (JSON) format. Before using this resource, you need to perform a Holdings Resource POST to populate holdings data to a staging area.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Query count
    required
    The maximum number of results to return in the response. Count can not exceed 5000. integer
    Query format
    required
    Download format. enum (kbart2)
    Query offset
    required
    Page Offset integer
    Responses
    HTTP Code Description Schema
    200 Holdings details. holdingsDetails
    default Unexpected Error errors

    GET /{custid}/holdings/status

    Example Request

    curl -X GET --header 'Accept: application/json' --header 'x-api-key: APIKEY' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/holdings/status'
    
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(CUSTID)
        .addPathSegment("holdings")
        .addPathSegment("status")
        .build();
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .get()
        .addHeader("accept", "application/json")
        .addHeader("x-api-key", APIKEY)
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/holdings/status";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'holdings/status')
    uri = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/holdings/status'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    Description

    This operation allows you to retrieve the status of a holdings snapshot. The response reveals if the holdings snapshot is in progress, completed, not staged (none) or has failed. The status enables you to decide when to download customer holdings (upon completion).

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Responses
    HTTP Code Description Schema
    200 Status of the holdings snapshot. holdingsStatus
    default Unexpected Error errors

    Label And Proxy Resources

    GET /{custid}/

    Example Request

    curl -X GET --header 'Accept: application/json' --header 'x-api-key: APIKEY' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/'
    
    String PATH = "";
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(DUMMYCUSTID)
        .addPathSegment(PATH)
        .build();
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .get()
        .addHeader("accept", "application/json")
        .addHeader("x-api-key", DUMMYAPIKEY)
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', DUMMYCUSTID, '/')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = DUMMYAPIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', DUMMYCUSTID, '/'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': DUMMYAPIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    Description

    This operation allows you to retrieve the list of all custom field labels and the root proxy.

    Please Note: The last forward slash in the url for this resource is only needed when using the sandbox. Do not use the last forward slash in the url for the live api. Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Responses
    HTTP Code Description Schema
    200 List of all custom labels and the root proxy. Up to 5 labels can be retrieved in the response. customLabelsProxy
    403 User is not authorized to access this resource. 403error
    default Unexpected Error errors

    PUT /{custid}/

    Example Request

    curl -X PUT --header 'Content-Type: application/json' --header \
    'Accept: application/json' --header 'x-api-key: APIKEY' -d \
    '{
      "proxy": {
        "id": "MJproxy"
      },
      "labels": [
        {
          "id": "1",
          "displayLabel": "this label is UDF1",
          "displayOnFullTextFinder": false,
          "displayOnPublicationFinder": true
        }
      ]
    }' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/'
    
    String PATH = "";
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(CUSTID)
        .addPathSegment(PATH)
        .build();
    
    // Build the body   
    MediaType mediaType = MediaType.parse("application/json");
    RequestBody body = RequestBody.create(mediaType, "{\r\n  \"proxy\": {\r\n    \"id\": \"EZ_proxy\"\r\n  },\r\n  \"labels\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"displayLabel\": \"this label is UDF1\",\r\n      \"displayOnFullTextFinder\": false,\r\n      \"displayOnPublicationFinder\": true\r\n    }\r\n  ]\r\n}");     
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .put(body)
        .addHeader("accept", "application/json")
        .addHeader("content-type", "application/json")
        .addHeader("x-api-key", APIKEY)
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "PUT",
      "processData": false,
      "data": "{\r\n  \"proxy\": {\r\n    \"id\": \"EZ_Proxy\"\r\n  },\r\n  \"labels\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"displayLabel\": \"this label is UDF1\",\r\n      \"displayOnFullTextFinder\": false,\r\n      \"displayOnPublicationFinder\": true\r\n    }\r\n  ]\r\n}",
      "headers": {
        "content-type": "application/json",
        "x-api-key": "APIKEY",
        "accept": "application/json"
      }  
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, '/')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Put.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    request["content-type"] = 'application/json'
    request.body = "{\r\n  \"proxy\": {\r\n    \"id\": \"EZ_proxy\"\r\n  },\r\n  \"labels\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"displayLabel\": \"this label is UDF1\",\r\n      \"displayOnFullTextFinder\": false,\r\n      \"displayOnPublicationFinder\": true\r\n    }\r\n  ]\r\n}"
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Payload
    payload = "{\r\n  \"proxy\": {\r\n    \"id\": \"EZ_proxy\"\r\n  },\r\n  \"labels\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"displayLabel\": \"this label is UDF1\",\r\n      \"displayOnFullTextFinder\": false,\r\n      \"displayOnPublicationFinder\": true\r\n    }\r\n  ]\r\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)
    
    Description

    This operation allows you to create and label up to five custom fields for your Title Details. Specify the field label ID, Display Label Name and indicate whether you’d like the information to display on Publication Finder and/or Full Text Finder. Once the Custom Label field(s) have been created, one can verify it in Title Details REST end point. Not specifying the Custom labels details for a given custom label ID in the payload will result in setting displayLabel to empty string.

    Please Note: The last forward slash in the url for this resource is only needed when using the sandbox. Do not use the last forward slash in the url for the live api. Only use one bodyoption below when trying this operation. If more than one bodyoption is used, the Swagger UI will use the last one in the list for the PUT. Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Body bodyoptiona
    optional
    JSON payload to update custom labels and proxy. customLabels
    Responses
    HTTP Code Description Schema
    204 The server has successfully fulfilled the PUT request. No Content
    404 Customer not found. 404error
    default Unexpected Error errors

    GET /{custid}/proxies

    Example Request

    curl -X GET --header 'Accept: application/json' --header 'x-api-key: APIKEY' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/proxies'
    
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment(DUMMYCUSTID)
        .addPathSegment("proxies")
        .build();
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .get()
        .addHeader("accept", "application/json")
        .addHeader("x-api-key", DUMMYAPIKEY)
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "proxies";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    PATH = "proxies"
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', DUMMYCUSTID, PATH)
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = DUMMYAPIKEY
    
    # Send the request
    response = http.request(request)
    
    PATH = "proxies"
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', DUMMYCUSTID, '/proxies'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': DUMMYAPIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    
    Description

    This operation allows you to retrieve the list of all available customer proxies.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Responses
    HTTP Code Description Schema
    200 List of all available proxies. proxyList
    404 Customer not found. 404error
    default Unexpected Error errors

    Package Resources

    GET /{custid}/packages

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/packages?search=boston&orderby=relevance&count=5&offset=1" 
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("packages")
                .addQueryParameter("search", "boston")
                .addQueryParameter("orderby", "relevance")
                .addQueryParameter("count", "5")
                .addQueryParameter("offset", "1")
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/packages";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "data": { "search": "boston", "orderby": "relevance", "count": "5", "offset": "1" },
      "headers": { "accept": "application/json", "x-api-key": APIKEY }
    };
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'packages')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'search' => 'boston',
        'orderby' => 'relevance',
        'count' => '5',
        'offset' => '1'
    })
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/packages'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'search': 'boston', 'orderby': 'relevance', 'count': 5, 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    data = res.read()
    
    Description

    This operation allows you to search for packages and returns a list of packages from EPKB. The list is not limited to a single vendor ID. The response will reflect the context of the EBSCO customer ID included in the request. When searching for packages without a search parameter, the sort options will be by package name. When the search parameter is not null, then the default sort is by relevance.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Query contenttype
    optional
    Limits the results by type of package content. Both integer and string are supported. Valid values are all, aggregatedfulltext, abstractandindex, ebook, ejournal, print, unknown and onlinereference. It is also valid to use 0 for all, 1 for aggregated full text, 2 for abstract and index, 3 for ebook, 4 for ejournal, 5 for print, 6 for unknown or 7 for online reference. enum (all, aggregatedfulltext, abstractandindex, ebook, ejournal, print, unknown, onlinereference)
    Query count
    required
    The maximum number of results to return in the response. enum (5, 10, 20)
    Query offset
    required
    Page Offset integer
    Query orderby
    required
    Valid values are packagename and relevance. Default is relevance. enum (relevance, packagename)
    Query search
    required
    Keyword search that is applied to limit the results to packages from the vendor that have the search term in the package name. string
    Query selection
    optional
    Limits the results. Valid values are all, selected, notselected, and orderedthroughebsco. It is also valid to use 0 for all, 1 for selected, 2 for not selected or 3 for ordered through EBSCO. When you filter by all(0), the total results count takes selected and not selected into consideration. enum (all, selected, notselected, orderedthroughebsco)
    Responses
    HTTP Code Description Schema
    200 List of packages and the total packages found. packages
    default Unexpected Error errors

    POST /{custid}/vendors/{vendorid}/packages

    Example Request

    curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "x-api-key: APIKEY" -d "{
      \"packageName\": \"Library Package 1\",
      \"contentType\": 3,
      \"customCoverage\": {
        \"beginCoverage\": \"1989-03-01\",
        \"endCoverage\": \"2001-06-30\"
      }
    }" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/117654/packages" 
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .build();
    
            // Build the body       
            MediaType mediaType = MediaType.parse("application/octet-stream");
            RequestBody body = RequestBody.create(mediaType, "{\r\n    \"packageName\": \"Custom Package Ex\",\r\n    \"contentType\": 3,\r\n    \"customCoverage\": {\r\n        \"beginCoverage\": \"2009-01-01\",\r\n        \"endCoverage\": \"2017-12-28\"\r\n    }\r\n}");
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .post(body)
                .addHeader("cache-control", "no-cache")
                .addHeader("x-api-key", APIKEY)
                .addHeader("content-type", "application/json")
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb;
    
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "POST",
      "headers": {
        "x-api-key": APIKEY,
        "content-type": "application/json"
      },
      "data": "{\r\n    \"packageName\": \"Custom Package Example 3\",\r\n    \"contentType\": 3,\r\n    \"customCoverage\": {\r\n        \"beginCoverage\": \"2009-01-01\",\r\n        \"endCoverage\": \"2017-12-28\"\r\n    }\r\n}"
    }
    
    // Send the Request
    $.ajax(settings)
    .done(function (response) {console.log(response.code);})
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', VENDORID, 'packages')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Post.new(url)
    request["x-api-key"] = APIKEY
    request["content-type"] = 'application/json'
    request["cache-control"] = 'no-cache'
    request.body = "{\r\n    \"packageName\": \"Package Cust 6\",\r\n    \"contentType\": 3,\r\n    \"customCoverage\": {\r\n        \"beginCoverage\": \"2009-01-01\",\r\n        \"endCoverage\": \"2017-12-28\"\r\n    }\r\n}"
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Payload
    payload = "{\r\n    \"packageName\": \"Custom Package Example 1\",\r\n    \"contentType\": 3,\r\n    \"customCoverage\": {\r\n        \"beginCoverage\": \"2009-01-01\",\r\n        \"endCoverage\": \"2017-12-28\"\r\n    }\r\n}"
    
    # Create the Request Headers
    headers = {
        'x-api-key': APIKEY,
        'content-type': "application/json"
        }
    
    # Send Request  
    conn.request("POST", url, payload, headers)
    
    # Get Response
    res = conn.getresponse()
    data = res.read()
    
    Description

    This operation allows you to create custom packages.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path vendorid
    required
    Vendor ID integer
    Body body
    optional
    JSON POST payload. Specify the packageName in the payload. Set contentType in the payload to 1 for Agregated Full Text, 2 for Abstract and Index, 3 for Ebook, 4 for E-Journal, 5 for Print, 6 for Unknown or 7 for Online Reference. Set the custom coverage dates. Set the proxy ID. customPackagePayload
    Responses
    HTTP Code Description Schema
    200 Package ID customPackageResponse
    default Unexpected Error errors

    GET /{custid}/vendors/{vendorid}/packages/{packageid}

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages/1615"     
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages/"
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '1615')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages/', PACKAGEID])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to retrieve EPKB information for a specific package. It returns details in the context of a customer.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Responses
    HTTP Code Description Schema
    200 Package details from EPKB for a specific package ID. packageIdDetails
    default Unexpected Error errors

    PUT /{custid}/vendors/{vendorid}/packages/{packageid}

    Example Request

    curl -X PUT --header "Content-Type: application/json" --header \
    "Accept: application/json" --header "x-api-key: APIKEY" -d \
    " {
      \"isSelected\": true
    } \
    " "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages/1615"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .build();
    
            // 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()
                .url(url)
                .put(body)
                .addHeader("accept", "application/json")
                .addHeader("content-type", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages/";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID;
    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
    $.ajax(settings).done(function (response) {
    console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '1615')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Put.new(url)
    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])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # 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()
    
    Description

    This operation allows you to update selection and customizations to a package in a customer EPKB account. A package with inherited set to true inherits its proxy from the root proxy. So, a JSON payload with inherited set to true updates the package proxy with the root proxy if the root proxy is set. The isSelected payload element is mandatory for managed and custom packages. isSelected, packageName and contentType payload elements are mandatory for the custom package update payload. For both managed and custom packages, removing a package with isSelected set to false in the payload will result in a loss of customization made previously at the package level. Removing a custom package with isSelected set to false in the payload will result in the deletion (hard delete) of the custom package and all associated titles from this custom package. If the payload contains ONLY isSelected set to true with no other customization fields, the system will remove all previously set customization.

    Please Note: Only use one bodyoption below when trying this operation. If more than one bodyoption is used, the Swagger UI will use the last one in the list for the PUT. Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Body bodyoptiona
    optional
    JSON payload to select the entire package. selectPayload
    Body bodyoptionb
    optional
    JSON payload to set custom coverage including hiding titles. setCustomCoverageIncludingHidePayload
    Body bodyoptionc
    optional
    JSON payload to hide a package. setHidePayload
    Body bodyoptiond
    optional
    JSON payload to set custom coverage excluding hiding titles. setCustomCoverageExcludeHidePayload
    Body bodyoptione
    optional
    JSON payload to unselect the entire package. unselectPayload
    Body bodyoptionf
    optional
    JSON payload to set custom coverage to a partially selected package. packagesPartialSelectedPayload
    Body bodyoptiong
    optional
    JSON payload to set values in a managed package. isSelected is required for a managed package. setManagedPackagePayload
    Body bodyoptionh
    optional
    JSON payload to set values in a custom package. isSelected, contentType, and packageName are required for a custom package. setCustomPackagePayload
    Body bodyoptioni
    optional
    JSON payload to update a package with a proxy. updatePackageProxyPayload
    Body bodyoptionj
    optional
    JSON payload to update a package with an inherited proxy. updatePackageInheritedProxyPayload
    Responses
    HTTP Code Description Schema
    204 The server has successfully fulfilled the PUT request. No Content
    default Unexpected Error errors

    GET /{custid}/vendors/{vendorid}/packages/{packageid}/titles

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages/1615/titles?search=ocean&searchfield=3&orderby=relevance&count=5&offset=1"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .addPathSegment("titles")
                .addQueryParameter("search", "ocean")
                .addQueryParameter("searchfield", "3")
                .addQueryParameter("orderby", "relevance")
                .addQueryParameter("count", "5")
                .addQueryParameter("offset", "1")
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages/";
    var pathsegc = "/titles";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID + pathsegc;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      },  
      "data": { 
        "search": "ocean",
        "searchfield": "3", 
        "orderby": "relevance", 
        "count": "5",
        "offset": "1"
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '1615', 'titles')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'search' => 'ocean',
        'searchfield' => '3',
        'orderby' => 'relevance', 
        'count' => '5',
        'offset' => '1'
    })
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages/', PACKAGEID, '/titles'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'search': 'ocean', 'searchfield': '3', 'orderby': 'relevance', 'count': 5, 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to search and retrieve a list of titles from EPKB that are part of a specified package. The response will reflect the context of the EBSCO customer ID included in the request. When searching for titles without a search parameter, the sort options will be by title name. When the search parameter is not null, the default sort is by relevance.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Query count
    required
    The maximum number of results to return in the response. enum (5, 10, 20)
    Query offset
    required
    Page Offset integer
    Query orderby
    required
    Valid values are relevance and titlename. Default is relevance. enum (relevance, titlename)
    Query resourcetype
    optional
    Type of resource. Valid values are all, journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook. It is also valid to use 0 for all, 1 for journal, 2 for newsletter, 3 for report, 4 for proceedings, 5 for website, 6 for newspaper, 7 for unspecified, 8 for book, 9 for book series, 10 for database, 11 for thesis dissertation, 12 for streaming audio, 13 for streaming video, or 14 for audio book. enum (all, journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, audiobook)
    Query search
    optional
    Keyword search that is applied to limit the results to titles from the package that have the search term in the search field. When searching for titles without a search parameter, the sort options will be by titlename. When the search parameter is not null, then the default sort is by relevance. string
    Query searchfield
    required
    Field to search. Both integer and string are supported. Valid values are titlename, publisher, isxn, and subject. It is also valid to use 0 for title name, 1 for publisher, 2 for isxn or 3 for subject. enum (titlename, publisher, isxn, subject)
    Query selection
    optional
    Limits the results. Valid values are all, selected, notselected and orderedthroughebsco. It is also valid to use 0 for all, 1 for selected, 2 for notselected, or 3 for ordered through EBSCO. When you filter by all(0), the total results count takes selected and not selected into consideration. enum (all, selected, notselected, orderedthroughebsco)
    Responses
    HTTP Code Description Schema
    200 Titles from EPKB for a specific package ID. titlesPackageId
    default Unexpected Error errors

    GET /{custid}/vendors/{vendorid}/packages/{packageid}/titles/{kbid}

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/161/packages/937/titles/155428"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .addPathSegment("titles")
                .addPathSegment(KBID)
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    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": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '161', 'packages', '937', 'titles', '155428')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # 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("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to retrieve details for a particular package-title from EPKB.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path kbid
    required
    Title ID integer
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Responses
    HTTP Code Description Schema
    200 Title Response

    Package-title from EPKB regardless of the package that it is a part of.
    titleDetails
    default Unexpected Error errors

    PUT /{custid}/vendors/{vendorid}/packages/{packageid}/titles/{kbid}

    Example Request

    curl -X PUT --header "Content-Type: application/json" --header \
    "Accept: application/json" --header "x-api-key: APIKEY" -d "{
      \"isSelected\": true
    }" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages/6581/titles/6231"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .addPathSegment("titles")
                .addPathSegment(KBID)
                .build();
    
            // 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()
                .url(url)
                .put(body)
                .addHeader("accept", "application/json")
                .addHeader("content-type", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    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
    $.ajax(settings)
    .done(function (response) {
    console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '6581', 'titles', '6231')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Put.new(url)
    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("sandbox.ebsco.io")
    
    # 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()
    
    Description

    This operation allows you to update selection status, proxy value or coverage customizations for a title within a package in a customer EPKB account. A title with inherited set to true inherits its proxy from the root proxy. So, a JSON payload with inherited set to true updates the title proxy with the root proxy if the root proxy is set. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title update payload. For both managed and custom titles, removing a title with isSelected set to false in the payload will result in a loss of customization made previously at the title level. Removing a custom title with isSelected set to false in the payload will result in the deletion (hard delete) of the custom title from the custom package. If the payload contains ONLY isSelected set to true with no other customization fields, the system will remove all previously set customization.

    Please Note: Only use one bodyoption below when trying this operation. If more than one bodyoption is used, the Swagger UI will use the last one in the list for the PUT. Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path kbid
    required
    Title ID integer
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Body bodyoptiona
    optional
    JSON payload to select a package-title. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. selectPayloadTitle
    Body bodyoptionb
    optional
    JSON payload to hide a package-title. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. setHidePayloadTitle
    Body bodyoptionc
    optional
    JSON payload to set custom coverage, coverage statement and custom embargo. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. When adding multiple custom coverage date ranges, the most recent date range must be first followed by date ranges in descending order. If another custom coverage date range is added that is greater than the previously entered date range, the system will show the error message - CoverageList contains a date that exceeds a previous date value. setCustomCoveragePayload
    Body bodyoptiond
    optional
    JSON payload to un-select a package-title. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. unselectPayloadTitle
    Body bodyoptione
    optional
    JSON payload to un-hide a package-title. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. unhidePackageTitlePayload
    Body bodyoptionf
    optional
    JSON payload to set user defined fields. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. setUserDefinedFieldsPayload
    Body bodyoptiong
    optional
    JSON combined payload. The isSelected payload element is mandatory for managed and custom titles. The titleName and pubType payload elements are mandatory for the custom title payload. When adding multiple custom coverage date ranges, the most recent date range must be first followed by date ranges in descending order. If another custom coverage date range is added that is greater than the previously entered date range, the system will show the error message - CoverageList contains a date that exceeds a previous date value. titlesCombinedPayload
    Body bodyoptionh
    optional
    JSON payload to update the details of a custom title. The isSelected, titleName and pubType payload elements are mandatory for the custom title payload. customTitleUpdatePayload
    Body bodyoptioni
    optional
    JSON payload to update the proxy value for a custom title. The isSelected, titleName and pubType payload elements are mandatory for the custom title payload. setProxyPayload
    Body bodyoptionj
    optional
    JSON payload to update the proxy value for a custom title. The isSelected, titleName and pubType payload elements are mandatory for the custom title payload. setProxyTwoPayload
    Body bodyoptionk
    optional
    JSON payload to update the inherited proxy value for a custom title. The isSelected, titleName and pubType payload elements are mandatory for the custom title payload. setProxyInPayload
    Responses
    HTTP Code Description Schema
    204 The server has successfully fulfilled the PUT request. No Content
    default Unexpected Error errors

    Title Resources

    GET /{custid}/titles

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/titles?search=ocean&searchfield=3&orderby=relevance&count=5&offset=1"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("titles")
                .addQueryParameter("search", "bmx")
                .addQueryParameter("searchfield", "3")
                .addQueryParameter("orderby", "relevance")
                .addQueryParameter("count", "1")
                .addQueryParameter("offset", "1")
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();      
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/titles";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY
      },  
      "data": { 
        "search": "bmx",
        "searchfield": "3", 
        "orderby": "relevance", 
        "count": "1",
        "offset": "1"
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'titles')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'search' => 'bmx',
        'searchfield' => '3',
        'orderby' => 'relevance',
        'count' => '1',
        'offset' => '1'
    })
    
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/titles'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'search': 'ocean', 'searchfield': '3', 'orderby': 'relevance', 'count': 1, 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to search and retrieve a list of titles from EPKB regardless of the package(s) that the titles are a part of. The response will reflect the context of the EBSCO customer ID included in the request.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Query count
    required
    The maximum number of results to return in the response. enum (5, 10, 20)
    Query offset
    required
    Page Offset integer
    Query orderby
    required
    Valid values are relevance or titlename. Default is relevance. enum (relevance, titlename)
    Query resourcetype
    optional
    Type of resource. Valid values are all, journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook. It is also valid to use 0 for all, 1 for journal, 2 for newsletter, 3 for report, 4 for proceedings, 5 for website, 6 for newspaper, 7 for unspecified, 8 for book, 9 for book series, 10 for database, 11 for thesis dissertation, 12 for streaming audio, 13 for streaming video, or 14 for audio book. enum (all, journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, audiobook)
    Query search
    required
    Search Term. Keyword search that is applied to limit the results to titles that have the search term in the search field. string
    Query searchfield
    required
    Field to search. Both integer and string are supported. Valid values are titlename, publisher, isxn, and subject. It is also valid to use 0 for title name, 1 for publisher, 2 for isxn or 3 for subject. enum (titlename, publisher, isxn, subject)
    Query searchtype
    optional
    Type of search. Search types are any, contains, exactmatch, beginswith, proximity, exactphrase and advanced. It is also valid to use 0 for any, 1 for contains, 2 for exactmatch, 3 for beginswith, 4 for proximity, 5 for exactphrase or 6 for advanced. searchtype is an optional parameter and defaults to contains if not provided. For more information on the search types, see Using Search Types enum (any, contains, exactmatch, beginswith, proximity, exactphrase, advanced)
    Query selection
    optional
    Limits the results. Valid values are all, selected, notselected and orderedthroughebsco. It is also valid to use 0 for all, 1 for selected, 2 for notselected, or 3 for ordered through EBSCO. When you filter by all(0), the total results count takes selected and not selected into consideration. enum (all, selected, notselected, orderedthroughebsco)
    Responses
    HTTP Code Description Schema
    200 List of titles that are part of a specified package. titles
    default Unexpected Error errors

    GET /{custid}/titles/{kbid}

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/titles/161103"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("titles")
                .addPathSegment(KBID)
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/titles/";
    // Create the Request
    var urlstr = host + CUSTID + path + KBID;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'titles', KBID)
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/titles/', KBID])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to retrieve details for a particular title from EPKB regardless of the package that it is a part of.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path kbid
    required
    Title ID integer
    Responses
    HTTP Code Description Schema
    200 Title Response

    Details for the title.
    titleDetails
    default Unexpected Error errors

    POST /{custid}/vendors/{vendorid}/packages/{packageid}/titles

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/VENDORID/packages/PACKAGEID/titles"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addPathSegment(PACKAGEID)
                .addPathSegment("titles")
                .build();
    
            // Build the body       
            MediaType mediaType = MediaType.parse("application/octet-stream");
            RequestBody body = RequestBody.create(mediaType, "{\r\n  \"titleName\": \"custom-title-74\",\r\n  \"pubType\": \"Book\",\r\n  \"publisherName\": \"EBSCO Publishing\",\r\n  \"isPeerReviewed\": false,\r\n  \"edition\": 1,\r\n  \"description\": \"description-test\",\r\n  \"identifiersList\": [\r\n    {\r\n      \"id\": \"1234\",\r\n      \"subtype\": 2,\r\n      \"type\": 1\r\n    }\r\n  ],\r\n  \"contributorIdList\": [\r\n    {\r\n      \"type\": \"editor\",\r\n      \"contributor\": \"Jon Doe\"\r\n    }\r\n  ],\r\n  \"url\": \"http://www.ebsco.com\",\r\n  \"customCoverageList\": [\r\n    {\r\n      \"beginCoverage\": \"1989-03-01\",\r\n      \"endCoverage\": \"2001-06-30\"\r\n    }\r\n  ],\r\n  \"coverageStatement\": \"Issues on or after 6/1/1992\",\r\n  \"customEmbargoPeriod\": {\r\n    \"embargoUnit\": \"Days\",\r\n    \"embargoValue\": \"1\"\r\n  },\r\n  \"userDefinedField1\": \"String1\",\r\n  \"userDefinedField2\": \"String2\",\r\n  \"userDefinedField3\": \"String3\",\r\n  \"userDefinedField4\": \"String4\",\r\n  \"userDefinedField5\": \"String5\"\r\n}");
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .post(body)
                .addHeader("cache-control", "no-cache")
                .addHeader("x-api-key", APIKEY)
                .addHeader("content-type", "application/json")
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages/";
    var pathsegc = "/titles";
    
    // Custom Titles POST Example
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID + pathsegc;
    
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "POST",
      "headers": {
        "x-api-key": APIKEY,
        "content-type": "application/json"
      },
      "data": "{\r\n  \"titleName\": \"custom-title-74\",\r\n  \"pubType\": \"Book\",\r\n  \"publisherName\": \"EBSCO Publishing\",\r\n  \"isPeerReviewed\": false,\r\n  \"edition\": 1,\r\n  \"description\": \"description-test\",\r\n  \"identifiersList\": [\r\n    {\r\n      \"id\": \"1234\",\r\n      \"subtype\": 2,\r\n      \"type\": 1\r\n    }\r\n  ],\r\n  \"contributorIdList\": [\r\n    {\r\n      \"type\": \"editor\",\r\n      \"contributor\": \"Jon Doe\"\r\n    }\r\n  ],\r\n  \"url\": \"http://www.ebsco.com\",\r\n  \"customCoverageList\": [\r\n    {\r\n      \"beginCoverage\": \"1989-03-01\",\r\n      \"endCoverage\": \"2001-06-30\"\r\n    }\r\n  ],\r\n  \"coverageStatement\": \"Issues on or after 6/1/1992\",\r\n  \"customEmbargoPeriod\": {\r\n    \"embargoUnit\": \"Days\",\r\n    \"embargoValue\": \"1\"\r\n  },\r\n  \"userDefinedField1\": \"String1\",\r\n  \"userDefinedField2\": \"String2\",\r\n  \"userDefinedField3\": \"String3\",\r\n  \"userDefinedField4\": \"String4\",\r\n  \"userDefinedField5\": \"String5\"\r\n}"  
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) 
    {
    console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', VENDORID, 'packages', PACKAGEID, 'titles')
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Post.new(url)
    request["x-api-key"] = APIKEY
    request["content-type"] = 'application/json'
    request["cache-control"] = 'no-cache'
    request.body = "{\r\n  \"titleName\": \"custom-title-74\",\r\n  \"pubType\": \"Book\",\r\n  \"publisherName\": \"EBSCO Publishing\",\r\n  \"isPeerReviewed\": false,\r\n  \"edition\": 1,\r\n  \"description\": \"description-test\",\r\n  \"identifiersList\": [\r\n    {\r\n      \"id\": \"1234\",\r\n      \"subtype\": 2,\r\n      \"type\": 1\r\n    }\r\n  ],\r\n  \"contributorIdList\": [\r\n    {\r\n      \"type\": \"editor\",\r\n      \"contributor\": \"Jon Doe\"\r\n    }\r\n  ],\r\n  \"url\": \"http://www.ebsco.com\",\r\n  \"customCoverageList\": [\r\n    {\r\n      \"beginCoverage\": \"1989-03-01\",\r\n      \"endCoverage\": \"2001-06-30\"\r\n    }\r\n  ],\r\n  \"coverageStatement\": \"Issues on or after 6/1/1992\",\r\n  \"customEmbargoPeriod\": {\r\n    \"embargoUnit\": \"Days\",\r\n    \"embargoValue\": \"1\"\r\n  },\r\n  \"userDefinedField1\": \"String1\",\r\n  \"userDefinedField2\": \"String2\",\r\n  \"userDefinedField3\": \"String3\",\r\n  \"userDefinedField4\": \"String4\",\r\n  \"userDefinedField5\": \"String5\"\r\n}"
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages/', PACKAGEID, '/titles'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Payload
    payload = "{\r\n  \"titleName\": \"custom-title-74\",\r\n  \"pubType\": \"Book\",\r\n  \"publisherName\": \"EBSCO Publishing\",\r\n  \"isPeerReviewed\": false,\r\n  \"edition\": 1,\r\n  \"description\": \"description-test\",\r\n  \"identifiersList\": [\r\n    {\r\n      \"id\": \"1234\",\r\n      \"subtype\": 2,\r\n      \"type\": 1\r\n    }\r\n  ],\r\n  \"contributorIdList\": [\r\n    {\r\n      \"type\": \"editor\",\r\n      \"contributor\": \"Jon Doe\"\r\n    }\r\n  ],\r\n  \"url\": \"http://www.ebsco.com\",\r\n  \"customCoverageList\": [\r\n    {\r\n      \"beginCoverage\": \"1989-03-01\",\r\n      \"endCoverage\": \"2001-06-30\"\r\n    }\r\n  ],\r\n  \"coverageStatement\": \"Issues on or after 6/1/1992\",\r\n  \"customEmbargoPeriod\": {\r\n    \"embargoUnit\": \"Days\",\r\n    \"embargoValue\": \"1\"\r\n  },\r\n  \"userDefinedField1\": \"String1\",\r\n  \"userDefinedField2\": \"String2\",\r\n  \"userDefinedField3\": \"String3\",\r\n  \"userDefinedField4\": \"String4\",\r\n  \"userDefinedField5\": \"String5\"\r\n}"
    
    # Create the Request Headers
    headers = {
        'x-api-key': APIKEY,
        'content-type': "application/json"
        }
    
    # Send Request  
    conn.request("POST", url, payload, headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to create custom titles. The titleName and pubType elements are required in the custom title payload. If your JSON POST payload contains multiple coverage dates, the dates must be in descending order.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path packageid
    required
    Package ID integer
    Path vendorid
    required
    Vendor ID integer
    Body body
    optional
    JSON POST title details payload. The titleName and pubType elements are required in the custom title payload. If your JSON POST payload contains multiple coverage dates, the dates must be in descending order. customTitlePayload
    Responses
    HTTP Code Description Schema
    200 Title ID customTitleResponse
    default Unexpected Error errors

    Vendor Resources

    GET /{custid}/vendors

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors?search=ocean&orderby=relevance&count=5&offset=1"
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addQueryParameter("search", "ocean")
                .addQueryParameter("orderby", "relevance")
                .addQueryParameter("count", "2")
                .addQueryParameter("offset", "1")
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var path = "/vendors";
    
    // Create the Request
    var urlstr = host + CUSTID + path;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "data": { 
        "search": "ocean", 
        "orderby": "relevance", 
        "count": "2",
        "offset": "1"
      },
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'search' => 'ocean',
        'orderby' => 'relevance',
        'count' => '2',
        'offset' => '1'
    })
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'search': 'ocean', 'orderby': 'relevance', 'count': 5, 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to search EPKB by vendor. It returns a list of vendors that includes customer context and the total number of results. When searching for vendors without a search parameter, sort options will be by vendor name. When the search parameter is not null, the default sort is by relevance.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Query count
    required
    The maximum number of results to return in the response. enum (10, 20, 30)
    Query offset
    required
    Page Offset integer
    Query orderby
    required
    Valid values are relevance and vendorname. Default is relevance. enum (relevance, vendorname)
    Query search
    optional
    Search Term - When searching for vendors without a search parameter, sort options will be by vendorname. When the search parameter is not null, the default sort is by relevance. string
    Responses
    HTTP Code Description Schema
    200 List of vendors matching the vendor name and the total number vendors found. vendors
    default Unexpected Error errors

    GET /{custid}/vendors/{vendorid}

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/VENDORID"         
    
    // Construct the client
    OkHttpClient client = new OkHttpClient();
    
    // Create the URL
    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("sandbox.ebsco.io")
        .addPathSegment("rm")
        .addPathSegment("rmaccounts")
        .addPathSegment("CUSTID")
        .addPathSegment("vendors")
        .addPathSegment("VENDORID")
        .build();
    
    // Build the request
    Request request = new Request.Builder()
        .url(url)
        .get()
        .addHeader("accept", "application/json")
        .addHeader("x-api-key", "APIKEY")
        .build();
    
    // Send the request
    Response response = client.newCall(request).execute();
    
    // Create the Request
    var urlstr = host + CUSTID + path + VENDORID;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });      
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', VENDORID)
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)     
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    data = res.read()    
    
    Description

    This operation allows you to retrieve vendor details from EPKB for a specific vendor ID.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path vendorid
    required
    Vendor ID integer
    Responses
    HTTP Code Description Schema
    200 Vendor details from EPKB for a specific vendor ID. vendorDetails
    default Unexpected Error errors

    PUT /{custid}/vendors/{vendorid}

    Example Request

    curl -X PUT --header 'Content-Type: application/json' --header \
    'Accept: application/json' --header 'x-api-key: APIKEY' -d \
    '{
      "proxy": {
        "id": "myProxy"
      },
      "token": {
        "value": "myValue"
      }
    }' 'https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/VENDORID'
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .build();
    
            // Build the body   
            MediaType mediaType = MediaType.parse("application/json");
            RequestBody body = RequestBody.create(mediaType, "{\r\n  \"proxy\": {\r\n    \"id\": \"myProxy\"\r\n  },\r\n  \"token\": {\r\n    \"value\": \"myValue\"\r\n  }\r\n}");
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .put(body)
                .addHeader("accept", "application/json")
                .addHeader("content-type", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "PUT",
      "processData": false,
      "data": "{\r\n  \"proxy\": {\r\n    \"id\": \"myProxy\"\r\n  },\r\n  \"token\": {\r\n    \"value\": \"myValue\"\r\n  }\r\n}",  
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY,
        "content-type": "application/json"
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
    console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', VENDORID)
    url = URI(urlstr)
    
    # Create the HTTP object
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Put.new(url)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    request["content-type"] = 'application/json'
    request.body = "{\r\n  \"proxy\": {\r\n    \"id\": \"myProxy\"\r\n  },\r\n  \"token\": {\r\n    \"value\": \"myValue\"\r\n  }\r\n}"
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Payload
    payload = "{\r\n  \"proxy\": {\r\n    \"id\": \"myProxy\"\r\n  },\r\n  \"token\": {\r\n    \"value\": \"myValue\"\r\n  }\r\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)
    
    Description

    This operation allows you to update vendor proxy and token values for a specific vendor ID. If a vendor does not have a token set up, the JSON payload should have an empty token with a proxy value. A vendor with inherited set to true inherits its proxy from the root proxy. So, a JSON payload with inherited set to true updates the vendor proxy with the root proxy if the root proxy is set.

    Please Note: Only use one bodyoption below when trying this operation. If more than one bodyoption is used, the Swagger UI will use the last one in the list for the PUT. Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path vendorid
    required
    Vendor ID integer
    Body bodyoptiona
    optional
    JSON payload to update a vendor with a proxy. updateVendorProxyPayload
    Body bodyoptionb
    optional
    JSON payload to update a vendor with an inherited proxy. updateVendorInheritedProxyPayload
    Body bodyoptionc
    optional
    JSON payload to update a vendor with a non-inherited proxy. updateVendorNonInheritedProxyPayload
    Responses
    HTTP Code Description Schema
    204 The server has successfully fulfilled the PUT request. No Content
    default Unexpected Error errors

    GET /{custid}/vendors/{vendorid}/packages

    Example Request

    curl -X GET --header "Accept: application/json" --header \
    "x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages?search=ocean&orderby=relevance&count=5&offset=1"      
    
            // Construct the client
            OkHttpClient client = new OkHttpClient();
    
            // Create the URL
            HttpUrl url = new HttpUrl.Builder()
                .scheme("https")
                .host("sandbox.ebsco.io")
                .addPathSegment("rm")
                .addPathSegment("rmaccounts")
                .addPathSegment(CUSTID)
                .addPathSegment("vendors")
                .addPathSegment(VENDORID)
                .addPathSegment("packages")
                .addQueryParameter("search", "ocean")
                .addQueryParameter("orderby", "relevance")
                .addQueryParameter("count", "2")
                .addQueryParameter("offset", "1")
                .build();
    
            // Build the request
            Request request = new Request.Builder()
                .url(url)
                .get()
                .addHeader("accept", "application/json")
                .addHeader("x-api-key", APIKEY)
                .build();
    
            // Send the request
            Response response = client.newCall(request).execute();
    
    var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
    var pathsega = "/vendors/";
    var pathsegb = "/packages";
    
    // Create the Request
    var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb;
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": urlstr,
      "method": "GET",
      "data": { 
        "search": "ocean", 
        "orderby": "relevance", 
        "count": "2",
        "offset": "1"
      },
      "headers": {
        "accept": "application/json",
        "x-api-key": APIKEY
      }
    }
    
    // Send the Request
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    
    # Form the URL 
    urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', VENDORID, 'packages')
    uri = URI(urlstr)
    
    query = URI.encode_www_form({
        # Request parameters
        'search' => 'ocean',
        'orderby' => 'relevance',
        'count' => '2',
        'offset' => '1'
    })
    if query.length > 0
      if uri.query && uri.query.length > 0
        uri.query += '&' + query
      else
        uri.query = query
      end
    end
    
    # Create the HTTP object
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    # Create the request
    request = Net::HTTP::Get.new(uri.request_uri)
    request["accept"] = 'application/json'
    request["x-api-key"] = APIKEY
    
    # Send the request
    response = http.request(request)
    
    # Form the URL
    url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages'])
    
    # Create Connection Instance
    conn = http.client.HTTPSConnection("sandbox.ebsco.io")
    
    # Set the Query Parameters
    params = urllib.parse.urlencode({'search': 'ocean', 'orderby': 'relevance', 'count': 5, 'offset': 1})
    
    # Create the Request Headers
    headers = {
        'accept': "application/json",
        'x-api-key': APIKEY
        }
    
    # Send Request  
    conn.request("GET", url + '?' + params, headers=headers)
    
    # Get Response
    res = conn.getresponse()
    
    Description

    This operation allows you to retrieve a list of packages from EPKB for a vendor including customer context.

    Please Note: Your production API key to access HoldingsIQ will not give you access to our sandbox. Therefore, your production API key will not give you access to the API through our interactive documentation. You will need a sandbox API key to gain access to the API through our interactive documentation or to use the sandbox directly. If you require a sandbox API key, please contact EBSCO customer support.

    Parameters
    Type Name Description Schema
    Header x-api-key
    required
    Unique code assigned by EBSCO to grant you access to this API. The API key needs to be a header parameter for every operation in order to access this API. Your production API key will not grant you access to the API through the interactive documentation. You will need a sandbox API key to use the interactive documentation. If you require a sandbox API key, please contact EBSCO customer support. string
    Path custid
    required
    EBSCO Customer ID string
    Path vendorid
    required
    Vendor ID integer
    Query contenttype
    optional
    Limit by type of package content. Both integer and string are supported. Valid values are all, aggregatedfulltext, abstractandindex, ebook, ejournal, print, unknown and onlinereference. It is also valid to use 0 for all, 1 for aggregated full text, 2 for abstract and index, 3 for ebook, 4 for ejournal, 5 for print, 6 for unknown or 7 for online reference. enum (all, aggregatedfulltext, abstractandindex, ebook, ejournal, print, unknown, onlinereference)
    Query count
    required
    The maximum number of results to return in the response. enum (5, 10, 20)
    Query offset
    required
    Page Offset integer
    Query orderby
    required
    Valid values are relevance or packagename. Default is relevance. enum (relevance, packagename)
    Query search
    optional
    Keyword search applied to limit the package list results. The search term is contained in the package name. When searching for packages without a search parameter, the sort options will be by packagename. When the search parameter is not null, then the default sort is by relevance. string
    Query selection
    optional
    Limits the result set. Valid values are all, selected, notselected and orderedthroughebsco. It is also valid to use 0 for all, 1 for selected, 2 for notselected, or 3 for ordered through EBSCO. When you filter by all(0), the total results count takes selected and not selected into consideration. enum (all, selected, notselected, orderedthroughebsco)
    Responses
    HTTP Code Description Schema
    200 List of packages from EPKB for a specific vendor ID and the total number of results. packages
    default Unexpected Error errors

    Definitions

    202error

    Name Description Schema
    message
    required
    The request has been accepted for processing, but the processing has not been completed.
    Example : "Request is in Progress"
    string
    code
    required
    Error Number
    Example : 1010
    integer (int32)
    subcode
    optional
    Error number specific to the underlying API. integer (int32)

    403error

    Name Description Schema
    message
    required
    User is not authorized to access this resource
    Example : "User is not authorized to access this resource"
    string
    code
    required
    Error Number integer (int32)
    subcode
    optional
    Error number specific to the underlying API. integer (int32)

    404error

    Name Description Schema
    message
    required
    Customer is not found.
    Example : "Customer not found"
    string
    code
    required
    Error Number integer (int32)
    subcode
    optional
    Error number specific to the underlying API. integer (int32)

    409error

    Name Description Schema
    message
    required
    Snapshot is currently in progress.
    Example : "Snapshot in progress"
    string
    code
    required
    Error Number
    Example : 1010
    integer (int32)
    subcode
    optional
    Error number specific to the underlying API. integer (int32)

    CustomerToken

    Name Description Schema
    key
    optional
    Key
    Example : "CCC.Password"
    string
    shouldShowOneResourcePerLinkSource
    optional
    Indicates if should show one resource per link source.
    Example : true
    boolean
    targetID
    optional
    Target ID
    Example : "19"
    string
    token
    optional
    Token
    Example : "1"
    string

    contributorID

    Contributor ID

    Name Description Schema
    type
    optional
    Type of contributor. Valid values are Author, Illustrator, and Editor.
    Example : "Editor"
    string
    contributor
    optional
    Contributor Name
    Example : "Jon Doe"
    string

    coverageDates

    Dates of Coverage

    Name Description Schema
    beginCoverage
    required
    Coverage Start Date
    Example : "2003-01-01"
    string
    endCoverage
    required
    Coverage End Date
    Example : "2003-12-12"
    string

    customLabels

    List of all custom labels and root proxy.

    Name Schema
    proxy
    required
    proxyDetails
    labels
    optional
    < labelid > array

    customLabelsProxy

    List of all custom labels and root proxy.

    Name Description Schema
    proxy
    required
    proxyDetails
    vendorId
    optional
    Vendor ID
    Example : "19"
    string
    ftfTokens
    optional
    < CustomerToken > array
    labels
    optional
    < label > array

    customPackagePayload

    Custom Package Payload

    Name Description Schema
    packageName
    optional
    Package Name
    Example : "Library Package 1"
    string
    contentType
    optional
    Content Type. Valid values are 1 for Agregated Full Text, 2 for Abstract and Index, 3 for Ebook, 4 for E-Journal, 5 for Print, 6 for Unknown or 7 for Online Reference.
    Example : 3
    integer
    customCoverage
    optional
    coverageDates
    proxy
    optional
    proxyInfo

    customPackageResponse

    Custom Package ID

    Name Description Schema
    packageId
    optional
    Package ID
    Example : 2035215
    integer

    customTitlePayload

    Custom Title Payload

    Name Description Schema
    titleName
    required
    Title Name
    Example : "custom-title-74"
    string
    pubType
    required
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    publisherName
    required
    Publisher Name
    Example : "EBSCO Publishing"
    string
    isPeerReviewed
    optional
    Field to indicate if title is peer reviewed.
    Example : false
    boolean
    edition
    optional
    Title Edition
    Example : "1"
    string
    description
    required
    Description
    Example : "description-test"
    string
    identifiersList
    optional
    Identifiers < identifierCustom > array
    contributorsList
    optional
    Contributor ID List < contributorID > array
    url
    optional
    URL
    Example : "http://www.ebsco.com"
    string
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    userDefinedField1
    optional
    User Defined Field 1
    Example : "String1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "String2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "String3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "String4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "String5"
    string

    customTitleResponse

    Custom Title ID

    Name Description Schema
    titleId
    optional
    Title ID
    Example : 2035215
    integer

    customTitleUpdatePayload

    Custom Title Payload

    Name Description Schema
    isSelected
    required
    Field to indicate if title is selected.
    Example : true
    boolean
    titleName
    required
    Title Name
    Example : "custom-title-74"
    string
    pubType
    required
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    publisherName
    optional
    Publisher Name
    Example : "EBSCO Publishing"
    string
    isPeerReviewed
    optional
    Field to indicate if title is peer reviewed.
    Example : false
    boolean
    edition
    optional
    Title Edition
    Example : "1"
    string
    description
    optional
    Description
    Example : "description-test"
    string
    url
    optional
    URL
    Example : "http://www.ebsco.com"
    string
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    userDefinedField1
    optional
    User Defined Field 1
    Example : "String1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "String2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "String3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "String4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "String5"
    string

    customerResources

    This object represents data elements that describe customer resources information.

    Name Description Schema
    titleId
    optional
    Title ID
    Example : 1157191
    integer
    packageId
    required
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 1117849
    integer
    packageName
    required
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "Health & Wellness Resource Center (w/alt health module)"
    string
    packageType
    required
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string
    proxy
    required
    Proxy proxyInfo
    isPackageCustom
    optional
    Is the Package Custom.
    Example : false
    boolean
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    locationId
    optional
    Location ID
    Example : 123456789
    integer
    isSelected
    optional
    Indicates if selected in a customer's account.
    Example : false
    boolean
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : false
    boolean
    visibilityData
    optional
    visibilityInfo
    managedCoverageList
    optional
    Managed Coverage List < coverageDates > array
    customCoverageList
    optional
    Custom Coverage List < nItem > array
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    managedEmbargoPeriod
    optional
    Managed Embargo Period embargoPeriod
    customEmbargoPeriod
    optional
    embargoPeriodNull
    url
    optional
    Package URL
    Example : "http://search.ebscohost.com/login.aspx?authtype=ip,uid&profile=ehost&defaultdb=27h"
    string
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string

    customerResourcesCustom

    This object represents data elements that describe customer resources information.

    Name Description Schema
    titleId
    optional
    Title ID
    Example : 1157191
    integer
    packageId
    required
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 1117849
    integer
    packageName
    required
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "Health & Wellness Resource Center (w/alt health module)"
    string
    packageType
    required
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string
    proxy
    required
    Proxy proxyInfo
    isPackageCustom
    optional
    Is the Package Custom.
    Example : true
    boolean
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    locationId
    optional
    Location ID
    Example : 123456789
    integer
    isSelected
    optional
    Indicates if selected in a customer's account.
    Example : true
    boolean
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : false
    boolean
    visibilityData
    optional
    visibilityInfo
    managedCoverageList
    optional
    Custom Coverage List < nItem > array
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    managedEmbargoPeriod
    optional
    Null Managed Embargo Period object
    customEmbargoPeriod
    optional
    embargoPeriod
    url
    optional
    Package URL
    Example : "http://search.ebscohost.com/login.aspx?authtype=ip,uid&profile=ehost&defaultdb=27h"
    string
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string

    customerResourcesPackageId

    This object represents data elements that describe customer resources information.

    Name Description Schema
    titleId
    required
    Title ID
    Example : 1157191
    integer
    packageId
    optional
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 3964
    integer
    packageName
    optional
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "EBSCO Business Basics"
    string
    packageType
    required
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "Bureau van Dijk Electronic Publishing"
    string
    isPackageCustom
    optional
    Is the Package Custom.
    Example : false
    boolean
    url
    optional
    Package URL
    Example : "http://search.ebscohost.com/login.aspx?authtype=ip,uid&profile=ehost&defaultdb=27h"
    string
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : false
    boolean
    locationId
    optional
    Location ID
    Example : 123456789
    integer
    managedCoverageList
    optional
    Managed Coverage List < coverageDates > array
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    managedEmbargoPeriod
    optional
    embargoPeriod
    isSelected
    optional
    Indicates if selected in a customer's account.
    Example : true
    boolean
    visibilityData
    optional
    visibilityInfo
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string

    customerResourcesTitleROP

    This object represents data elements that describe customer resources information.

    Name Description Schema
    titleId
    optional
    Title ID
    Example : 1157191
    integer
    packageId
    required
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 1117849
    integer
    packageName
    required
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "Health & Wellness Resource Center (w/alt health module)"
    string
    packageType
    required
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string
    isPackageCustom
    optional
    Is the Package Custom.
    Example : false
    boolean
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    locationId
    optional
    Location ID
    Example : 123456789
    integer
    isSelected
    optional
    Indicates if selected in a customer's account.
    Example : false
    boolean
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : false
    boolean
    visibilityData
    optional
    visibilityInfo
    managedCoverageList
    optional
    Managed Coverage List < coverageDates > array
    customCoverageList
    optional
    Custom Coverage List < nItem > array
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    managedEmbargoPeriod
    optional
    Managed Embargo Period embargoPeriod
    customEmbargoPeriod
    optional
    embargoPeriod
    url
    optional
    Package URL
    Example : "http://search.ebscohost.com/login.aspx?authtype=ip,uid&profile=ehost&defaultdb=27h"
    string
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string

    embargoPeriod

    Embargo Period

    Name Description Schema
    embargoUnit
    required
    The unit of time to use for the embargo - Days, Weeks, Months or Years.
    Example : "Days"
    enum (Days, Weeks, Months, Years)
    embargoValue
    required
    The embargo value (number of embargoUnits). A Null value means there is no embargo.
    Example : 1
    integer

    embargoPeriodNull

    Embargo Period

    Name Description Schema
    embargoUnit
    required
    The unit of time to use for the embargo - Days, Weeks, Months or Years.
    Example : "null"
    enum (Days, Weeks, Months, Years)
    embargoValue
    required
    The embargo value (number of embargoUnits). A Null value means there is no embargo.
    Example : 0
    integer

    errorModel

    Name Description Schema
    message
    required
    Text describing the error.
    Example : "Invalid APIKEY"
    string
    code
    required
    Error Number
    Example : 1003
    integer (int32)
    subcode
    optional
    Error number specific to the underlying API. integer (int32)

    errors

    Type : < errorModel > array

    holding

    Holding

    Name Description Schema
    publication_title
    required
    Title of the serial or monograph being represented. Conference proceedings serial title should be entered as a serial title, while conference proceeding volume titles should be entered as a monograph title.
    Example : "Chronicle of Higher Education"
    string
    print_identifier
    required
    ISSN or ISBN of the print version of the work. Note: If the item is a book and has both an ISBN and ISSN, use ISBN.
    Example : "0009-5982"
    string
    online_identifier
    required
    ISSN or ISBN of the online version of work. Note: If item is a book and has both an ISBN and ISSN, use the ISBN.
    Example : "1931-1362"
    string
    date_first_issue_online
    required
    The publication date of the earliest serial issue available online in the format of yyyy-mm-dd. Applicable only to serials.
    Example : "1959-01-01"
    string
    num_first_vol_online
    required
    The volume number of the earliest serial issue available online. Applicable only to serials.
    Example : "1"
    string
    num_first_issue_online
    required
    The issue number of the earliest serial issue available online. Applicable only to serials.
    Example : "1"
    string
    date_last_issue_online
    required
    Date of the latest serial issue available online. Leave blank if coverage is to present. Applicable only to serials.
    Example : "1975-12-31"
    string
    num_last_vol_online
    required
    The volume number of the latest serial issue available online. Leave blank if coverage is to present. Applicable only to serials.
    Example : "23"
    string
    num_last_issue_online
    required
    The issue number of the latest serial issue available online. Leave blank if coverage is to present. Applicable only to serials.
    Example : "19"
    string
    title_url
    required
    Title-level URL. Applicable to both monographs and serials. For conference proceeding, the title_url for the series and the title_url for each volume should be different.
    Example : "http://chronicle.com/section/Archives/39/"
    string
    first_author
    required
    First author of the monograph. Applicable only to monographs.
    Example : "Benson"
    string
    title_id
    required
    The unique identifier for the title. This is the report provider's proprietary identifier.
    Example : "17482"
    string
    embargo_info
    required
    Embargo information as a coded string following rules in section 6.6.14 of the KBART recommended practice (i.e. 'P1Y' means an embargo is period of 1 year.)
    Example : "P14D"
    string
    coverage_depth
    required
    Coverage depth is defined in 6.6.15 of the KBART recommended practice. Multiple coverage depths can be specified with a semicolon to delimit values.
    Example : "fulltext"
    string
    notes
    required
    Free text field to describe the specifics of the coverage policy.
    Example : "Excludes book reviews."
    string
    publisher_name
    required
    Name of the publisher of the work. Not to be confused with the name of the hosting platform.
    Example : "Ubiquity Press"
    string
    publication_type
    required
    Serial or Monograph. Use 'serial' for journals, book series and conference proceeding series. Use 'monograph' for books and individual conference proceeding volumes.
    Example : "serial"
    string
    date_monograph_published_print
    required
    Date the monograph was first published in print. Applies to monographs only.
    Example : "2013-05-15"
    string
    date_monograph_published_online
    required
    Date the monograph was first published online. Applies to monographs only.
    Example : "2013-05-24"
    string
    monograph_volume
    required
    Number of the particular volume of the monograph. Applicable to ebooks and conference proceedings. For conference proceedings, use the volume within the conference proceedings series.
    Example : "3"
    string
    monograph_edition
    required
    Edition of the monograph.
    Example : "1"
    string
    first_editor
    required
    First editor. Applicable to monographs only.
    Example : "Took"
    string
    parent_publication_title_id
    required
    Title identifier of the parent publication. For a conference proceeding, this would be the title_id of the overall conference proceeding series.
    Example : "2041"
    string
    preceding_publication_title_id
    required
    The title identifier of any preceding publication title for serials and conference proceeding serials. The publisher's proprietary identifier should be used where it exists. string
    access_type
    required
    Indicates if the content in the journal is F-Free, P-Paid, H-Hybrid, PF-Paid then Free after embargo period. The default is P-Paid.
    Example : "P"
    string
    package_name
    required
    Name of the package or full text database this title is part of. This should match the name of the same package as it appears in the KBARTManifest.
    Example : "Applied Science & Technology Source"
    string
    package_id
    required
    The provider's identifier for the package or full text database this title is part of. This should match the package_id of the same package as it appears in the KBARTManifest.
    Example : "6605"
    string
    vendor_name
    required
    Provider Name
    Example : "ABC-CLIO"
    string
    vendor_id
    required
    EBSCO KB's unique identifier for the provider.
    Example : 583
    integer
    resource_type
    required
    EBSCO's Resource_Type in textual form.
    Example : "Book"
    string

    holdingsDetails

    Holdings Details

    Name Description Schema
    offset
    required
    Page Offset
    Example : 1
    integer
    format
    required
    Format
    Example : "KBART2"
    string
    holdings
    required
    Holdings List < holding > array

    holdingsStatus

    Holdings Status

    Name Description Schema
    status
    required
    Status. Valid values are In Progress, Completed, None or Failed.
    Example : "Completed"
    string
    created
    required
    Date Time Stamp
    Example : "1999-12-31 23:59:59"
    string
    totalCount
    optional
    Total Count. Note: Only available for Completed.
    Example : 123
    integer

    identifier

    Identifier

    Name Description Schema
    id
    optional
    Identifier Value
    Example : "1"
    string
    source
    optional
    Resource Identifier
    Example : "AtoZ"
    string
    subtype
    optional
    Sub-type for the indentifier. This is used by only some identifiers to designate Print, Online, etc. Empty=0, Print=1, Online=2, Preceding=3, Succeeding=4, Regional=5, Linking=6 and Invalid=7
    Example : 1
    integer
    type
    optional
    The type of identifier. ISSN=0, ISBN=1, TSDID=2, SPID=3, EjsJournaID=4, NewsbankID=5, ZDBID=6, EPBookID=7, Mid=8, or BHM=9
    Example : 1
    integer

    identifierCustom

    Identifier

    Name Description Schema
    id
    optional
    Identifier Value
    Example : "1234"
    string
    subtype
    optional
    Subtype for the identifier. Valid values are 1 for Print and 2 for Online.
    Example : 1
    integer
    type
    optional
    Type of identifier. Valid values are 0 for ISSN and 1 for ISBN.
    Example : 1
    integer

    label

    Custom Label

    Name Description Schema
    id
    required
    Display Label ID
    Example : 1
    integer
    displayLabel
    required
    Custom field display Label Name
    Example : "this label is UDF1"
    string
    displayOnFullTextFinder
    required
    Indicates if displayed on Full Text Finder.
    Example : false
    boolean
    displayOnPublicationFinder
    required
    Indicates if displayed on Publication Finder.
    Example : true
    boolean

    labelid

    Custom Label

    Name Description Schema
    id
    required
    Display Label ID
    Example : "1"
    string
    displayLabel
    required
    Custom field display Label Name
    Example : "this label is UDF1"
    string
    displayOnFullTextFinder
    required
    Indicates if displayed on Full Text Finder.
    Example : false
    boolean
    displayOnPublicationFinder
    required
    Indicates if displayed on Publication Finder.
    Example : true
    boolean

    nItem

    Empty Item

    Type : object

    package

    This object represents data elements that describe a vendor package.

    Name Description Schema
    packageId
    required
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 1117849
    integer
    packageName
    required
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "Health & Wellness Resource Center (w/alt health module)"
    string
    isCustom
    optional
    isCustom is true if a customer is the vendor. The customer vendor is used for custom packages.
    Example : true
    boolean
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    titleCount
    optional
    Numeric value indicating the title count of the package.
    Example : 1
    integer
    isSelected
    optional
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    visibilityData
    optional
    visibilityInfo
    selectedCount
    optional
    Numeric value indicating the selected count of the package.
    Example : 1
    integer
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : true
    boolean
    customCoverage
    optional
    coverageDates
    contentType
    optional
    Indicates the content type of the package.
    Example : "Abstract"
    string
    packageType
    optional
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string

    packageIdDetails

    Package details from EPKB for a specific package ID.

    Name Description Schema
    packageId
    required
    EBSCO KB's unique identifier for the package. In EPKB, this is 'PkgID'.
    Example : 1117849
    integer
    packageName
    required
    Name of the Package. In EPKB, this is 'PkgName'.
    Example : "Health & Wellness Resource Center (w/alt health module)"
    string
    vendorId
    optional
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    optional
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    isCustom
    optional
    IsCustom is true if a customer is the vendor. The customer vendor is used for custom packages.
    Example : true
    boolean
    titleCount
    optional
    Numeric value indicating the title count of the package.
    Example : 1
    integer
    isSelected
    optional
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    selectedCount
    optional
    Numeric value indicating the number of titles in packages selected in the customer account.
    Example : 1
    integer
    contentType
    optional
    Indicates the content type of the package.
    Example : "Abstract"
    string
    visibilityData
    optional
    visibilityInfo
    customCoverage
    optional
    coverageDates
    isTokenNeeded
    optional
    Field to indicate if a token is needed
    Example : true
    boolean
    allowEbscoToAddTitles
    optional
    Indicates if EBSCO is allowed to add titles. If the package type is custom, then allowEbscoToAddTitles will always be set to false.
    Example : true
    boolean
    packageType
    optional
    Package Type. Valid values are Selectable, Complete, Variable and Custom.
    Example : "Complete"
    string
    proxy
    optional
    proxyInfoIn
    packageToken
    optional
    Package tokens identify the customer. tokenInfo

    packages

    List of packages from EPKB - not limited to a single vendor id - and the total number of results found.

    Name Description Schema
    packagesList
    required
    < package > array
    totalResults
    required
    Total number of results found.
    Example : 5
    integer

    packagesPartialSelectedPayload

    This object represents all of the data elements for customization combined.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    isFullPackage
    optional
    Indicates if the package is partially selected.
    Example : false
    boolean
    customCoverage
    optional
    coverageDates

    proxyDetails

    Proxy ID

    Name Description Schema
    id
    optional
    Proxy ID
    Example : "EZ_proxy"
    string

    proxyInfo

    Proxy

    Name Description Schema
    id
    required
    Proxy ID
    Example : "EZ_proxy"
    string
    inherited
    required
    Field to indicate if the proxy is inherited.
    Example : false
    boolean

    proxyInfoIn

    Proxy

    Name Description Schema
    id
    required
    Proxy ID
    Example : ""
    string
    inherited
    required
    Field to indicate if the proxy is inherited.
    Example : true
    boolean

    proxyList

    List of all customer proxies.

    Name Schema
    proxies
    optional
    < proxyWithURL > array

    proxyWithURL

    Proxy

    Name Description Schema
    id
    required
    Proxy ID
    Example : ""
    string
    name
    optional
    Proxy Name
    Example : "EZ_proxy"
    string
    urlMask
    optional
    URL mask
    Example : "url"
    string

    selectPayload

    This object represents data elements that describe the payload to select a package or package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean

    selectPayloadTitle

    This object represents data elements that describe the payload to select a package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string

    setCustomCoverageExcludeHidePayload

    This object represents data elements to set custom coverage excluding hiding titles.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    customCoverage
    optional
    coverageDates
    isHidden
    optional
    Field to indicate if titles are hidden.
    Example : false
    boolean

    setCustomCoverageIncludingHidePayload

    This object represents data elements that describe the payload to set custom coverage including hiding titles.

    Name Description Schema
    isSelected
    required
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    customCoverage
    optional
    coverageDates
    isHidden
    optional
    Field to indicate if a token is needed
    Example : true
    boolean

    setCustomCoveragePayload

    This object represents data elements to set custom coverage, coverage statement and custom embargo.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    customCoverageList
    optional
    Coverage List < coverageDates > array
    coverageStatement
    optional
    Coverage Statement
    Example : "2009 - 2009"
    string
    customEmbargoPeriod
    optional
    embargoPeriod

    setCustomPackagePayload

    This object represents data elements that describe the payload to update values for a custom package.

    Name Description Schema
    packageName
    optional
    Package Name
    Example : "Library Package 1"
    string
    contentType
    optional
    Content Type. Valid values are 1 for Agregated Full Text, 2 for Abstract and Index, 3 for Ebook, 4 for E-Journal, 5 for Print, 6 for Unknown or 7 for Online Reference.
    Example : 3
    integer
    isSelected
    required
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    customCoverage
    optional
    coverageDates
    proxy
    optional
    proxyInfo

    setHidePayload

    This object represents data elements to hide a package or a package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    isHidden
    optional
    Field to indicate if titles are hidden.
    Example : true
    boolean

    setHidePayloadTitle

    This object represents data elements to hide a package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    isHidden
    optional
    Field to indicate if titles are hidden.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string

    setManagedPackagePayload

    This object represents data elements that describe the payload to update values for a managed package.

    Name Description Schema
    isSelected
    required
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    allowEbscoToAddTitles
    optional
    Indicates if EBSCO is allowed to add titles. If the package type is custom, then allowEbscoToAddTitles will always be set to false.
    Example : true
    boolean
    customCoverage
    optional
    coverageDates
    proxy
    optional
    proxyInfo
    packageToken
    optional
    tokenDetails

    setProxyInPayload

    This object represents data elements to update a proxy value for a title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "custom-title-74"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    publisherName
    optional
    Publisher Name
    Example : "EBSCO Publishing"
    string
    isPeerReviewed
    optional
    Field to indicate if title is peer reviewed.
    Example : false
    boolean
    edition
    optional
    Title Edition
    Example : "1"
    string
    description
    optional
    Description
    Example : "description-test"
    string
    url
    optional
    URL
    Example : "http://www.ebsco.com"
    string
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    userDefinedField1
    optional
    User Defined Field 1
    Example : "String1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "String2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "String3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "String4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "String5"
    string
    proxy
    optional
    proxyInfoIn

    setProxyPayload

    This object represents data elements to update a proxy value for a title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "custom-title-74"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    publisherName
    optional
    Publisher Name
    Example : "EBSCO Publishing"
    string
    isPeerReviewed
    optional
    Field to indicate if title is peer reviewed.
    Example : false
    boolean
    edition
    optional
    Title Edition
    Example : "1"
    string
    description
    optional
    Description
    Example : "description-test"
    string
    url
    optional
    URL
    Example : "http://www.ebsco.com"
    string
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    userDefinedField1
    optional
    User Defined Field 1
    Example : "String1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "String2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "String3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "String4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "String5"
    string
    proxy
    optional
    proxyDetails

    setProxyTwoPayload

    This object represents data elements to update a proxy value for a title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "custom-title-74"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    publisherName
    optional
    Publisher Name
    Example : "EBSCO Publishing"
    string
    isPeerReviewed
    optional
    Field to indicate if title is peer reviewed.
    Example : false
    boolean
    edition
    optional
    Title Edition
    Example : "1"
    string
    description
    optional
    Description
    Example : "description-test"
    string
    url
    optional
    URL
    Example : "http://www.ebsco.com"
    string
    customCoverageList
    optional
    Custom Coverage List < coverageDates > array
    isHidden
    optional
    Field to indicate if title is hidden.
    Example : false
    boolean
    coverageStatement
    optional
    Coverage Statement
    Example : "Issues on or after 6/1/1992"
    string
    customEmbargoPeriod
    optional
    embargoPeriod
    userDefinedField1
    optional
    User Defined Field 1
    Example : "String1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "String2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "String3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "String4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "String5"
    string
    proxy
    optional
    proxyInfo

    setUserDefinedFieldsPayload

    This object represents data elements to set user defined fields.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string

    subj

    Subject

    Name Description Schema
    type
    optional
    The type of subject. Valid values are BISAC and TLI.
    Example : "BISAC"
    enum (BISAC, TLI)
    subject
    optional
    Subject
    Example : "PHILOSOPHY / Movements / Critical Theory"
    string

    titleDetails

    This object represents data elements that describe a title.

    Name Description Schema
    titleId
    required
    Title ID
    Example : 1157191
    integer
    titleName
    required
    Title Name
    Example : "A Tale of Two Cities"
    string
    publisherName
    optional
    Publisher Name
    Example : "www.ebsco.com"
    string
    identifiersList
    optional
    Identifiers < identifier > array
    subjectsList
    optional
    Subjects < subj > array
    isTitleCustom
    optional
    Is this a custom title owned by the customer.
    Example : false
    boolean
    pubType
    required
    Publication Type
    Example : "Journal"
    string
    customerResourcesList
    optional
    Customer Resources List < customerResources > array
    description
    optional
    Title Description
    Example : "Description Test."
    string
    edition
    optional
    Title Edition
    Example : "1"
    string
    isPeerReviewed
    optional
    Is this title peer reviewed.
    Example : false
    boolean
    contributorsList
    optional
    Contributors List < contributorID > array

    titlePackageId

    This object represents data elements that describe a title.

    Name Description Schema
    titleId
    required
    Title ID
    Example : 1157191
    integer
    titleName
    required
    Title Name
    Example : "A Tale of Two Cities"
    string
    publisherName
    optional
    Publisher Name
    Example : "www.ebsco.com"
    string
    identifiersList
    optional
    Identifiers < identifier > array
    subjectsList
    optional
    Subjects < subj > array
    isTitleCustom
    optional
    Is this a custom title owned by the customer.
    Example : true
    boolean
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    customerResourcesList
    optional
    Customer Resources List < customerResourcesPackageId > array

    titleROP

    This object represents data elements that describe a title.

    Name Description Schema
    titleId
    required
    Title ID
    Example : 1157191
    integer
    titleName
    required
    Title Name
    Example : "A Tale of Two Cities"
    string
    publisherName
    optional
    Publisher Name
    Example : "www.ebsco.com"
    string
    identifiersList
    optional
    Identifiers < identifier > array
    subjectsList
    optional
    Subjects < nItem > array
    isTitleCustom
    optional
    Is this a custom title owned by the customer.
    Example : false
    boolean
    pubType
    required
    Publication Type
    Example : "Journal"
    string
    contributorsList
    optional
    Contributor ID List < contributorID > array
    customerResourcesList
    optional
    Customer Resources List < customerResourcesTitleROP > array

    titles

    List of titles regardless of package from EPKB and the total number of results found.

    Name Description Schema
    titles
    optional
    < titleROP > array
    totalResults
    required
    Total number of results found.
    Example : 5
    integer

    titlesCombinedPayload

    This object represents data elements to set custom coverage, coverage statement and custom embargo.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string
    isHidden
    optional
    Field to indicate if titles are hidden.
    Example : false
    boolean
    userDefinedField1
    optional
    User Defined Field 1
    Example : "string1"
    string
    userDefinedField2
    optional
    User Defined Field 2
    Example : "string2"
    string
    userDefinedField3
    optional
    User Defined Field 3
    Example : "string3"
    string
    userDefinedField4
    optional
    User Defined Field 4
    Example : "string4"
    string
    userDefinedField5
    optional
    User Defined Field 5
    Example : "string5"
    string
    customCoverageList
    optional
    Coverage List < coverageDates > array
    coverageStatement
    optional
    Coverage Statement
    Example : "2009 - 2009"
    string
    customEmbargoPeriod
    optional
    embargoPeriod

    titlesPackageId

    List of titles regardless of package from EPKB and the total number of results found.

    Name Description Schema
    titles
    optional
    < titlePackageId > array
    totalResults
    required
    Total number of results found.
    Example : 5
    integer

    tokenDetails

    Token

    Name Description Schema
    value
    optional
    Token Value
    Example : "myValue"
    string

    tokenInfo

    Token Information

    Name Description Schema
    factName
    required
    Tokens are variables in content URLs that identify the customer. The token is text within the URL that needs to be replaced with an institute-specific value.
    Example : "galesiteid"
    string
    helpText
    optional
    Help Text
    Example : "<ul><li>Enter your Gale<sup></sup> site ID in the space provided below. The site ID may contain a combination of alpha/numeric characters, varying in length. <blockquote><p> Example: The site ID immediately follows /itweb/ in a URL. The site ID in the following URL is …………….</ul>"
    string
    prompt
    optional
    Prompt
    Example : "/itweb/"
    string
    value
    optional
    Value
    Example : "1234567"
    string

    unhidePackageTitlePayload

    This object represents the payload to un-hide a package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : true
    boolean
    isHidden
    optional
    Field to indicate if titles are hidden.
    Example : false
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string

    unselectPayload

    This object represents data elements that describe the payload to unselect an entire package or package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : false
    boolean

    unselectPayloadTitle

    This object represents data elements that describe the payload to unselect a package-title.

    Name Description Schema
    isSelected
    required
    Indicates if selected in a customer's account.
    Example : false
    boolean
    titleName
    optional
    Title Name
    Example : "A Tale of Two Cities"
    string
    pubType
    optional
    Type of publication. Valid values are journal, newsletter, report, proceedings, website, newspaper, unspecified, book, bookseries, database, thesisdissertation, streamingaudio, streamingvideo, and audiobook.
    Example : "Book"
    string

    updatePackageInheritedProxyPayload

    JSON payload to update a package with an inherited proxy.

    Name Description Schema
    isSelected
    optional
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    proxy
    required
    proxyInfoIn
    packageToken
    required
    tokenDetails

    updatePackageProxyPayload

    JSON payload to update a package with a proxy.

    Name Description Schema
    isSelected
    optional
    Indicates if the packages is selected in a customer's account.
    Example : true
    boolean
    proxy
    required
    proxyDetails
    packageToken
    required
    tokenDetails

    updateVendorInheritedProxyPayload

    JSON payload to update a vendor with an inherited proxy.

    Name Schema
    proxy
    required
    proxyInfoIn

    updateVendorNonInheritedProxyPayload

    JSON payload to update a vendor with an non-inherited proxy.

    Name Schema
    proxy
    required
    proxyInfo
    vendorToken
    required
    tokenDetails

    updateVendorProxyPayload

    JSON payload to update a vendor with a proxy.

    Name Schema
    proxy
    required
    proxyDetails
    vendorToken
    required
    tokenDetails

    vendor

    This object represents data elements that describe a vendor.

    Name Description Schema
    vendorId
    required
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    required
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    packagesTotal
    optional
    Package total for this vendor.
    Example : 611
    integer
    packagesSelected
    optional
    Total number of packages from the vendor that are selected in the customer's account.
    Example : 30
    integer
    isCustomer
    optional
    IsCustomer is true if a customer is a vendor. The customer vendor is used for custom packages.
    Example : false
    boolean
    vendorToken
    optional
    Vendor tokens are variables in content URLs that identify the customer. The vendorToken is the token (text) within the URL that needs to be replaced with a institute-specific value.
    Example : "[[galesiteid]]"
    string

    vendorDetails

    This object represents data elements that describe a vendor.

    Name Description Schema
    vendorId
    required
    EBSCO KB's unique identifier for the provider. In EPKB, this is 'VendorID'.
    Example : 19
    integer
    vendorName
    required
    Provider name. In EPKB, this is the 'VendorName'.
    Example : "EBSCO"
    string
    packagesTotal
    optional
    Package total for this vendor.
    Example : 611
    integer
    packagesSelected
    optional
    Total number of packages from the vendor that are selected in the customer's account.
    Example : 30
    integer
    isCustomer
    optional
    IsCustomer is true if a customer is a vendor. The customer vendor is used for custom packages.
    Example : false
    boolean
    proxy
    optional
    Proxy proxyInfo
    vendorToken
    optional
    Vendor tokens identify the customer. tokenInfo

    vendors

    List of vendors matching the vendor name and the total number of results found.

    Name Description Schema
    vendorList
    required
    < vendor > array
    totalResults
    required
    Total number of results found.
    Example : 5
    integer

    visibilityInfo

    Visibility

    Name Description Schema
    isHidden
    required
    Is Hidden
    Example : true
    boolean
    reason
    optional
    Reason
    Example : "Hidden by Customer"
    string