All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.seeq.api.ContentApi Maven / Gradle / Ivy

There is a newer version: 66.0.0-v202410141803
Show newest version
package com.seeq.api;

import com.seeq.ApiException;
import com.seeq.ApiClient;
import com.seeq.Configuration;
import com.seeq.model.*;
import com.seeq.Pair;

import javax.ws.rs.core.GenericType;
import javax.ws.rs.ProcessingException;

import com.seeq.model.AssetSelectionInputV1;
import com.seeq.model.AssetSelectionOutputV1;
import com.seeq.model.ContentInputV1;
import com.seeq.model.ContentOutputV1;
import com.seeq.model.ContentWithMetadataListOutputV1;
import com.seeq.model.DateRangeInputV1;
import com.seeq.model.DateRangeOutputV1;
import com.seeq.model.GetContentItemsOutputV1;
import com.seeq.model.GetDateRangesOutputV1;
import com.seeq.model.NotifiableReportOutputListV1;
import com.seeq.model.SchedulableAdminListOutputV1;
import com.seeq.model.SchedulableSummaryWeekOutputV1;
import com.seeq.model.StatusMessageBase;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ContentApi {
    private ApiClient apiClient;
    private long retryTimeout = 5_000; // Default of 5 seconds

    public ContentApi() {
        this(Configuration.getDefaultApiClient());
    }

    public ContentApi(ApiClient apiClient) {
        this.apiClient = apiClient;
    }

    public void setRetryTimeout(long retryTimeout) {
        this.retryTimeout = retryTimeout;
    }

    public long getRetryTimeout() {
        return this.retryTimeout;
    }

    public ApiClient getApiClient() {
        return apiClient;
    }

    public void setApiClient(ApiClient apiClient) {
        this.apiClient = apiClient;
    }

    /**
    * Archive an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @return StatusMessageBase
    * @throws ApiException if fails to make API call
    */
    public StatusMessageBase archiveAssetSelection(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = archiveAssetSelectionWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Archive an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveAssetSelectionWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return archiveAssetSelectionWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Archive an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveAssetSelectionWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return archiveAssetSelectionInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse archiveAssetSelectionInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling archiveAssetSelection");
        }
        // create path and map variables
        String localVarPath = "/content/asset-selections/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Archive a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @return StatusMessageBase
    * @throws ApiException if fails to make API call
    */
    public StatusMessageBase archiveContent(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = archiveContentWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Archive a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveContentWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return archiveContentWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Archive a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveContentWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return archiveContentInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse archiveContentInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling archiveContent");
        }
        // create path and map variables
        String localVarPath = "/content/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Archive a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @return StatusMessageBase
    * @throws ApiException if fails to make API call
    */
    public StatusMessageBase archiveDateRange(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = archiveDateRangeWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Archive a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveDateRangeWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return archiveDateRangeWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Archive a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse archiveDateRangeWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return archiveDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse archiveDateRangeInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling archiveDateRange");
        }
        // create path and map variables
        String localVarPath = "/content/date-ranges/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Clear the cached images for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public void clearImageCache(String id) throws ApiException {
        clearImageCacheWithHttpInfo(id);
    }
    
    /**
    * Clear the cached images for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public void clearImageCacheWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        
         clearImageCacheWithHeadersAndHttpInfo(id, localVarHeaderParams);
    }

    /**
    * Clear the cached images for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public void clearImageCacheWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        clearImageCacheInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private void clearImageCacheInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling clearImageCache");
        }
        // create path and map variables
        String localVarPath = "/content/{id}/image"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                apiClient.invokeAPIWithHttpInfo(localVarPath, "DELETE", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
                return;
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Create new asset selection
    * 
    * @param body  (required)
    * @return AssetSelectionOutputV1
    * @throws ApiException if fails to make API call
    */
    public AssetSelectionOutputV1 createAssetSelection(AssetSelectionInputV1 body) throws ApiException {
        ApiClient.ApiResponse localVarResponse = createAssetSelectionWithHttpInfo(body);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Create new asset selection
    * 
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createAssetSelectionWithHttpInfo(AssetSelectionInputV1 body) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return createAssetSelectionWithHeadersAndHttpInfo(body, localVarHeaderParams);
        
    }

    /**
    * Create new asset selection
    * 
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createAssetSelectionWithHeadersAndHttpInfo(AssetSelectionInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return createAssetSelectionInternal(body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse createAssetSelectionInternal(AssetSelectionInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling createAssetSelection");
        }
        // create path and map variables
        String localVarPath = "/content/asset-selections";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Create a new content item
    * 
    * @param body  (required)
    * @return ContentOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentOutputV1 createContent(ContentInputV1 body) throws ApiException {
        ApiClient.ApiResponse localVarResponse = createContentWithHttpInfo(body);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Create a new content item
    * 
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createContentWithHttpInfo(ContentInputV1 body) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return createContentWithHeadersAndHttpInfo(body, localVarHeaderParams);
        
    }

    /**
    * Create a new content item
    * 
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createContentWithHeadersAndHttpInfo(ContentInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return createContentInternal(body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse createContentInternal(ContentInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling createContent");
        }
        // create path and map variables
        String localVarPath = "/content";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Create a new date range
    * 
    * @param body  (required)
    * @return DateRangeOutputV1
    * @throws ApiException if fails to make API call
    */
    public DateRangeOutputV1 createDateRange(DateRangeInputV1 body) throws ApiException {
        ApiClient.ApiResponse localVarResponse = createDateRangeWithHttpInfo(body);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Create a new date range
    * 
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createDateRangeWithHttpInfo(DateRangeInputV1 body) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return createDateRangeWithHeadersAndHttpInfo(body, localVarHeaderParams);
        
    }

    /**
    * Create a new date range
    * 
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse createDateRangeWithHeadersAndHttpInfo(DateRangeInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return createDateRangeInternal(body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse createDateRangeInternal(DateRangeInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling createDateRange");
        }
        // create path and map variables
        String localVarPath = "/content/date-ranges";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @return AssetSelectionOutputV1
    * @throws ApiException if fails to make API call
    */
    public AssetSelectionOutputV1 getAssetSelection(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getAssetSelectionWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getAssetSelectionWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getAssetSelectionWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Get an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getAssetSelectionWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return getAssetSelectionInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getAssetSelectionInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getAssetSelection");
        }
        // create path and map variables
        String localVarPath = "/content/asset-selections/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @return ContentOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentOutputV1 getContent(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getContentWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getContentWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Get a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return getContentInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getContentInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getContent");
        }
        // create path and map variables
        String localVarPath = "/content/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get content items
    * 
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItems(Integer offset, Integer limit) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getContentItemsWithHttpInfo(offset, limit);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get content items
    * 
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHttpInfo(Integer offset, Integer limit) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getContentItemsWithHeadersAndHttpInfo(offset, limit, localVarHeaderParams);
        
    }

    /**
    * Get content items
    * 
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHeadersAndHttpInfo(Integer offset, Integer limit, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
                localVarHeaderParams.putAll(customHeaders);
        return getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getContentItemsInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get the content items that depend on a given date range
    * 
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItemsForDateRange(String id, Integer offset, Integer limit) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getContentItemsForDateRangeWithHttpInfo(id, offset, limit);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get the content items that depend on a given date range
    * 
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHttpInfo(String id, Integer offset, Integer limit) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getContentItemsForDateRangeWithHeadersAndHttpInfo(id, offset, limit, localVarHeaderParams);
        
    }

    /**
    * Get the content items that depend on a given date range
    * 
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of content items that will be returned in this page of results (optional, default to 40)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHeadersAndHttpInfo(String id, Integer offset, Integer limit, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
                localVarHeaderParams.putAll(customHeaders);
        return getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getContentItemsForDateRangeInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getContentItemsForDateRange");
        }
        // create path and map variables
        String localVarPath = "/content/date-ranges/{id}/content"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    * 
    * @param reportId Report to retrieve content and date ranges for (required)
    * @param includeWorkstepBlobs Set to true to include the source and workstep blobs in the output (optional, default to false)
    * @return ContentWithMetadataListOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentWithMetadataListOutputV1 getContentsWithAllMetadata(String reportId, Boolean includeWorkstepBlobs) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getContentsWithAllMetadataWithHttpInfo(reportId, includeWorkstepBlobs);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    * 
    * @param reportId Report to retrieve content and date ranges for (required)
    * @param includeWorkstepBlobs Set to true to include the source and workstep blobs in the output (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentsWithAllMetadataWithHttpInfo(String reportId, Boolean includeWorkstepBlobs) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getContentsWithAllMetadataWithHeadersAndHttpInfo(reportId, includeWorkstepBlobs, localVarHeaderParams);
        
    }

    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    * 
    * @param reportId Report to retrieve content and date ranges for (required)
    * @param includeWorkstepBlobs Set to true to include the source and workstep blobs in the output (optional, default to false)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentsWithAllMetadataWithHeadersAndHttpInfo(String reportId, Boolean includeWorkstepBlobs, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "includeWorkstepBlobs", includeWorkstepBlobs));
                localVarHeaderParams.putAll(customHeaders);
        return getContentsWithAllMetadataInternal(reportId, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getContentsWithAllMetadataInternal(String reportId, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'reportId' is set
        if (reportId == null) {
            throw new ApiException(400, "Missing the required path parameter 'reportId' when calling getContentsWithAllMetadata");
        }
        // create path and map variables
        String localVarPath = "/content/report/{reportId}"
          .replaceAll("\\{" + "reportId" + "\\}", apiClient.escapeString(reportId.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @return DateRangeOutputV1
    * @throws ApiException if fails to make API call
    */
    public DateRangeOutputV1 getDateRange(String id) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getDateRangeWithHttpInfo(id);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangeWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getDateRangeWithHeadersAndHttpInfo(id, localVarHeaderParams);
        
    }

    /**
    * Get a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangeWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return getDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getDateRangeInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getDateRange");
        }
        // create path and map variables
        String localVarPath = "/content/date-ranges/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get date range items
    * 
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of date ranges that will be returned in this page of results (optional, default to 40)
    * @return GetDateRangesOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetDateRangesOutputV1 getDateRanges(Integer offset, Integer limit) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getDateRangesWithHttpInfo(offset, limit);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Get date range items
    * 
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of date ranges that will be returned in this page of results (optional, default to 40)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHttpInfo(Integer offset, Integer limit) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getDateRangesWithHeadersAndHttpInfo(offset, limit, localVarHeaderParams);
        
    }

    /**
    * Get date range items
    * 
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of date ranges that will be returned in this page of results (optional, default to 40)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHeadersAndHttpInfo(Integer offset, Integer limit, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
                localVarHeaderParams.putAll(customHeaders);
        return getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getDateRangesInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content/date-ranges";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get the image from a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @param useAsync When true, if the image is not cached a one pixel image will be returned from this call and a job will be started to generate the new image. Used to avoid blocking requests when called from a browser context. (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public void getImage(String id, Boolean useAsync) throws ApiException {
        getImageWithHttpInfo(id, useAsync);
    }
    
    /**
    * Get the image from a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @param useAsync When true, if the image is not cached a one pixel image will be returned from this call and a job will be started to generate the new image. Used to avoid blocking requests when called from a browser context. (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public void getImageWithHttpInfo(String id, Boolean useAsync) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        
         getImageWithHeadersAndHttpInfo(id, useAsync, localVarHeaderParams);
    }

    /**
    * Get the image from a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @param useAsync When true, if the image is not cached a one pixel image will be returned from this call and a job will be started to generate the new image. Used to avoid blocking requests when called from a browser context. (optional, default to false)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public void getImageWithHeadersAndHttpInfo(String id, Boolean useAsync, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "useAsync", useAsync));
                localVarHeaderParams.putAll(customHeaders);
        getImageInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private void getImageInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getImage");
        }
        // create path and map variables
        String localVarPath = "/content/{id}/image"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json", "image/gif", "image/jpg", "image/png", "image/svg+xml", "image/webp"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
                return;
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Retrieves all reports that have notifications configured
    * 
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional, default to 40)
    * @param sortAsc Sorts the document name in ascending order when true and descending when false (optional, default to true)
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports(List ownerIds, String nameSearch, Integer offset, Integer limit, Boolean sortAsc) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getNotifiableReportsWithHttpInfo(ownerIds, nameSearch, offset, limit, sortAsc);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Retrieves all reports that have notifications configured
    * 
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional, default to 40)
    * @param sortAsc Sorts the document name in ascending order when true and descending when false (optional, default to true)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo(List ownerIds, String nameSearch, Integer offset, Integer limit, Boolean sortAsc) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getNotifiableReportsWithHeadersAndHttpInfo(ownerIds, nameSearch, offset, limit, sortAsc, localVarHeaderParams);
        
    }

    /**
    * Retrieves all reports that have notifications configured
    * 
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional, default to 40)
    * @param sortAsc Sorts the document name in ascending order when true and descending when false (optional, default to true)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(List ownerIds, String nameSearch, Integer offset, Integer limit, Boolean sortAsc, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("multi", "ownerIds", ownerIds));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));
                localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getNotifiableReportsInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content/notifiableReports";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Get the react json blob for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public void getReactBlob(String id) throws ApiException {
        getReactBlobWithHttpInfo(id);
    }
    
    /**
    * Get the react json blob for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public void getReactBlobWithHttpInfo(String id) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        
         getReactBlobWithHeadersAndHttpInfo(id, localVarHeaderParams);
    }

    /**
    * Get the react json blob for a piece of content
    * 
    * @param id The Seeq ID for the content (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public void getReactBlobWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        getReactBlobInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private void getReactBlobInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling getReactBlob");
        }
        // create path and map variables
        String localVarPath = "/content/{id}/react"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
                return;
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Gets a collection of statistics for scheduled items
    * 
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional, default to 40)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional, default to AverageRunTime)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional, default to true)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional, default to true)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @param scheduleFilter The schedule text to filter on. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter, String scheduleFilter) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsWithHttpInfo(types, offset, limit, sortBy, sortAsc, isEnabled, nameFilter, ownerFilter, scheduleFilter);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Gets a collection of statistics for scheduled items
    * 
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional, default to 40)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional, default to AverageRunTime)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional, default to true)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional, default to true)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @param scheduleFilter The schedule text to filter on. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter, String scheduleFilter) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getSchedulableStatisticsWithHeadersAndHttpInfo(types, offset, limit, sortBy, sortAsc, isEnabled, nameFilter, ownerFilter, scheduleFilter, localVarHeaderParams);
        
    }

    /**
    * Gets a collection of statistics for scheduled items
    * 
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional, default to 0)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional, default to 40)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional, default to AverageRunTime)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional, default to true)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional, default to true)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @param scheduleFilter The schedule text to filter on. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter, String scheduleFilter, Map customHeaders) throws ApiException {
          // verify the required query parameter 'types' is set
        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("multi", "types", types));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerFilter", ownerFilter));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "scheduleFilter", scheduleFilter));
                localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getSchedulableStatisticsInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content/schedulable/metrics";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    * 
    * @param stat The stat to summarize by (optional, default to AverageRunTime)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @param ownerFilter The owner username to filter on. (optional)
    * @return SchedulableSummaryWeekOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableSummaryWeekOutputV1 getSchedulableSummary(String stat, String start, String ownerFilter) throws ApiException {
        ApiClient.ApiResponse localVarResponse = getSchedulableSummaryWithHttpInfo(stat, start, ownerFilter);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    * 
    * @param stat The stat to summarize by (optional, default to AverageRunTime)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @param ownerFilter The owner username to filter on. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHttpInfo(String stat, String start, String ownerFilter) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return getSchedulableSummaryWithHeadersAndHttpInfo(stat, start, ownerFilter, localVarHeaderParams);
        
    }

    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    * 
    * @param stat The stat to summarize by (optional, default to AverageRunTime)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @param ownerFilter The owner username to filter on. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHeadersAndHttpInfo(String stat, String start, String ownerFilter, Map customHeaders) throws ApiException {
          // verify the required query parameter 'start' is set
        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "stat", stat));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerFilter", ownerFilter));
                localVarHeaderParams.putAll(customHeaders);
        return getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse getSchedulableSummaryInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content/schedulable/metrics/summary";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Preview an image for given content parameters
    * 
    * @param worksheetId The content's source worksheet (required)
    * @param workstepId The content's source workstep (required)
    * @param height The content's desired height (required)
    * @param width The content's desired width (required)
    * @param scale The content's desired scale (optional, default to 1.0)
    * @param timezone The content's desired timezone (optional)
    * @param selector The content's desired selector (optional)
    * @param dateRangeId The content's date range; mutually exclusive with dateRangeFormula (optional)
    * @param dateRangeFormula Formula used as a temporary date range; mutually exclusive with dateRangeId (optional)
    * @param validityDuration A duration to use as the Expires header (optional)
    * @param reportId The content's report (optional)
    * @param contentId The content's ID (optional)
    * @param summaryType The content's desired summary type (optional)
    * @param summaryValue The content's desired summary value (optional)
    * @param assetSelectionId The content's asset selection id (optional)
    * @param react Whether the content is for a react component (optional)
    * @throws ApiException if fails to make API call
    */
    public void previewContent(String worksheetId, String workstepId, Long height, Long width, Double scale, String timezone, String selector, String dateRangeId, String dateRangeFormula, String validityDuration, String reportId, String contentId, String summaryType, String summaryValue, String assetSelectionId, Boolean react) throws ApiException {
        previewContentWithHttpInfo(worksheetId, workstepId, height, width, scale, timezone, selector, dateRangeId, dateRangeFormula, validityDuration, reportId, contentId, summaryType, summaryValue, assetSelectionId, react);
    }
    
    /**
    * Preview an image for given content parameters
    * 
    * @param worksheetId The content's source worksheet (required)
    * @param workstepId The content's source workstep (required)
    * @param height The content's desired height (required)
    * @param width The content's desired width (required)
    * @param scale The content's desired scale (optional, default to 1.0)
    * @param timezone The content's desired timezone (optional)
    * @param selector The content's desired selector (optional)
    * @param dateRangeId The content's date range; mutually exclusive with dateRangeFormula (optional)
    * @param dateRangeFormula Formula used as a temporary date range; mutually exclusive with dateRangeId (optional)
    * @param validityDuration A duration to use as the Expires header (optional)
    * @param reportId The content's report (optional)
    * @param contentId The content's ID (optional)
    * @param summaryType The content's desired summary type (optional)
    * @param summaryValue The content's desired summary value (optional)
    * @param assetSelectionId The content's asset selection id (optional)
    * @param react Whether the content is for a react component (optional)
    * @throws ApiException if fails to make API call
    */
    public void previewContentWithHttpInfo(String worksheetId, String workstepId, Long height, Long width, Double scale, String timezone, String selector, String dateRangeId, String dateRangeFormula, String validityDuration, String reportId, String contentId, String summaryType, String summaryValue, String assetSelectionId, Boolean react) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        
         previewContentWithHeadersAndHttpInfo(worksheetId, workstepId, height, width, scale, timezone, selector, dateRangeId, dateRangeFormula, validityDuration, reportId, contentId, summaryType, summaryValue, assetSelectionId, react, localVarHeaderParams);
    }

    /**
    * Preview an image for given content parameters
    * 
    * @param worksheetId The content's source worksheet (required)
    * @param workstepId The content's source workstep (required)
    * @param height The content's desired height (required)
    * @param width The content's desired width (required)
    * @param scale The content's desired scale (optional, default to 1.0)
    * @param timezone The content's desired timezone (optional)
    * @param selector The content's desired selector (optional)
    * @param dateRangeId The content's date range; mutually exclusive with dateRangeFormula (optional)
    * @param dateRangeFormula Formula used as a temporary date range; mutually exclusive with dateRangeId (optional)
    * @param validityDuration A duration to use as the Expires header (optional)
    * @param reportId The content's report (optional)
    * @param contentId The content's ID (optional)
    * @param summaryType The content's desired summary type (optional)
    * @param summaryValue The content's desired summary value (optional)
    * @param assetSelectionId The content's asset selection id (optional)
    * @param react Whether the content is for a react component (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public void previewContentWithHeadersAndHttpInfo(String worksheetId, String workstepId, Long height, Long width, Double scale, String timezone, String selector, String dateRangeId, String dateRangeFormula, String validityDuration, String reportId, String contentId, String summaryType, String summaryValue, String assetSelectionId, Boolean react, Map customHeaders) throws ApiException {
          // verify the required query parameter 'worksheetId' is set
        if (worksheetId == null) {
            throw new ApiException(400, "Missing the required query parameter 'worksheetId' when calling previewContent");
        }
          // verify the required query parameter 'workstepId' is set
        if (workstepId == null) {
            throw new ApiException(400, "Missing the required query parameter 'workstepId' when calling previewContent");
        }
          // verify the required query parameter 'height' is set
        if (height == null) {
            throw new ApiException(400, "Missing the required query parameter 'height' when calling previewContent");
        }
          // verify the required query parameter 'width' is set
        if (width == null) {
            throw new ApiException(400, "Missing the required query parameter 'width' when calling previewContent");
        }
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "worksheetId", worksheetId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "workstepId", workstepId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "height", height));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "width", width));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "scale", scale));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "timezone", timezone));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "selector", selector));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "dateRangeId", dateRangeId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "dateRangeFormula", dateRangeFormula));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "validityDuration", validityDuration));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "reportId", reportId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "contentId", contentId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "summaryType", summaryType));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "summaryValue", summaryValue));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "assetSelectionId", assetSelectionId));
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "react", react));
                localVarHeaderParams.putAll(customHeaders);
        previewContentInternal(localVarQueryParams, localVarHeaderParams);
    }
    
    private void previewContentInternal(List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // create path and map variables
        String localVarPath = "/content/preview";

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
                return;
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Redirect to the source worksheet for a given content image
    * 
    * @param id The Seeq ID for the content (required)
    * @param noRedirect Set to true to receive the redirected URL as data rather than redirecting (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public void redirectToSourceWorksheet(String id, Boolean noRedirect) throws ApiException {
        redirectToSourceWorksheetWithHttpInfo(id, noRedirect);
    }
    
    /**
    * Redirect to the source worksheet for a given content image
    * 
    * @param id The Seeq ID for the content (required)
    * @param noRedirect Set to true to receive the redirected URL as data rather than redirecting (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public void redirectToSourceWorksheetWithHttpInfo(String id, Boolean noRedirect) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        
         redirectToSourceWorksheetWithHeadersAndHttpInfo(id, noRedirect, localVarHeaderParams);
    }

    /**
    * Redirect to the source worksheet for a given content image
    * 
    * @param id The Seeq ID for the content (required)
    * @param noRedirect Set to true to receive the redirected URL as data rather than redirecting (optional, default to false)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public void redirectToSourceWorksheetWithHeadersAndHttpInfo(String id, Boolean noRedirect, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "noRedirect", noRedirect));
                localVarHeaderParams.putAll(customHeaders);
        redirectToSourceWorksheetInternal(id, localVarQueryParams, localVarHeaderParams);
    }
    
    private void redirectToSourceWorksheetInternal(String id, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = null;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling redirectToSourceWorksheet");
        }
        // create path and map variables
        String localVarPath = "/content/{id}/sourceUrl"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                apiClient.invokeAPIWithHttpInfo(localVarPath, "GET", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, null);
                return;
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Update an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @param body  (required)
    * @return AssetSelectionOutputV1
    * @throws ApiException if fails to make API call
    */
    public AssetSelectionOutputV1 updateAssetSelection(String id, AssetSelectionInputV1 body) throws ApiException {
        ApiClient.ApiResponse localVarResponse = updateAssetSelectionWithHttpInfo(id, body);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Update an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateAssetSelectionWithHttpInfo(String id, AssetSelectionInputV1 body) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return updateAssetSelectionWithHeadersAndHttpInfo(id, body, localVarHeaderParams);
        
    }

    /**
    * Update an asset selection
    * 
    * @param id The Seeq ID for the asset selection (required)
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateAssetSelectionWithHeadersAndHttpInfo(String id, AssetSelectionInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return updateAssetSelectionInternal(id, body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse updateAssetSelectionInternal(String id, AssetSelectionInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling updateAssetSelection");
        }
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling updateAssetSelection");
        }
        // create path and map variables
        String localVarPath = "/content/asset-selections/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Update a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @param clearCache Whether the content's cache should be cleared. Useful to force regeneration of an image when content parameters have not changed (optional, default to false)
    * @return ContentOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentOutputV1 updateContent(String id, ContentInputV1 body, Boolean clearCache) throws ApiException {
        ApiClient.ApiResponse localVarResponse = updateContentWithHttpInfo(id, body, clearCache);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Update a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @param clearCache Whether the content's cache should be cleared. Useful to force regeneration of an image when content parameters have not changed (optional, default to false)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateContentWithHttpInfo(String id, ContentInputV1 body, Boolean clearCache) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return updateContentWithHeadersAndHttpInfo(id, body, clearCache, localVarHeaderParams);
        
    }

    /**
    * Update a content item
    * 
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @param clearCache Whether the content's cache should be cleared. Useful to force regeneration of an image when content parameters have not changed (optional, default to false)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateContentWithHeadersAndHttpInfo(String id, ContentInputV1 body, Boolean clearCache, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "clearCache", clearCache));
                localVarHeaderParams.putAll(customHeaders);
        return updateContentInternal(id, body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse updateContentInternal(String id, ContentInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling updateContent");
        }
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling updateContent");
        }
        // create path and map variables
        String localVarPath = "/content/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    /**
    * Update a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @param body  (required)
    * @return DateRangeOutputV1
    * @throws ApiException if fails to make API call
    */
    public DateRangeOutputV1 updateDateRange(String id, DateRangeInputV1 body) throws ApiException {
        ApiClient.ApiResponse localVarResponse = updateDateRangeWithHttpInfo(id, body);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }
    
    /**
    * Update a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateDateRangeWithHttpInfo(String id, DateRangeInputV1 body) throws ApiException {
        Map localVarHeaderParams = new HashMap();
        return updateDateRangeWithHeadersAndHttpInfo(id, body, localVarHeaderParams);
        
    }

    /**
    * Update a date range
    * 
    * @param id The Seeq ID for the date range (required)
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateDateRangeWithHeadersAndHttpInfo(String id, DateRangeInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();
                localVarHeaderParams.putAll(customHeaders);
        return updateDateRangeInternal(id, body, localVarQueryParams, localVarHeaderParams);
    }
    
    private ApiClient.ApiResponse updateDateRangeInternal(String id, DateRangeInputV1 body, List queryParams, Map headerParams) throws ApiException {
        Object localVarPostBody = body;
        // verify the required path parameter 'id' is set
        if (id == null) {
            throw new ApiException(400, "Missing the required path parameter 'id' when calling updateDateRange");
        }
        // verify the required body parameter 'body' is set
        if (body == null) {
            throw new ApiException(400, "Missing the required body parameter 'body' when calling updateDateRange");
        }
        // create path and map variables
        String localVarPath = "/content/date-ranges/{id}"
          .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));

        // query params
        Map localVarFormParams = new HashMap();

        
        final String[] localVarAccepts = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

        final String[] localVarContentTypes = {
        "application/vnd.seeq.v1+json"
        };
        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

        String[] localVarAuthNames = new String[] { "api_key" };

        long apiClientInvocationTime = System.currentTimeMillis();
        while(true) {
            try {
                GenericType localVarReturnType = new GenericType() {};
                return apiClient.invokeAPIWithHttpInfo(localVarPath, "POST", queryParams, localVarPostBody, headerParams, localVarFormParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType);
                // Possible exceptions:
                // ===================
                // * ResponseProcessingException - in case processing of a received HTTP response fails (e.g. in a filter or
                //    during conversion of the response entity data to an instance of a particular Java type).
                // * ProcessingException - in case the request processing or subsequent I/O operation fails.
                // * WebApplicationException - in case the response status code of the response returned by the server is not
                //    successful and the specified response type is not Response.
                // * ApiException for exceptions wrapped by ApiClient. Most likely all WebApplicationException are wrapped
                //    in ApiException(s)
            } catch (ApiException | ProcessingException e) {
                if (e instanceof ProcessingException || e instanceof ApiException && ((ApiException) e).getCode() == 504) {
                    long elapsedTime = System.currentTimeMillis() - apiClientInvocationTime;
                    if (elapsedTime <= this.retryTimeout && this.retryTimeout != 0) {
                        continue;
                    }
                }
                throw e;
            }
        } // while
    }
    // OVERLOADS START

    /**
    * Get content items
    *
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItems(Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        ApiClient.ApiResponse localVarResponse = getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get content items
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHttpInfo(Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        return getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get content items
    *
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHeadersAndHttpInfo(Integer offset, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarHeaderParams.putAll(customHeaders);
        return getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Get content items
    *
    *
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItems() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get content items
    *
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHttpInfo() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get content items
    *
    *
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsWithHeadersAndHttpInfo(Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return getContentItemsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Get date range items
    *
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional)
    * @return GetDateRangesOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetDateRangesOutputV1 getDateRanges(Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        ApiClient.ApiResponse localVarResponse = getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get date range items
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHttpInfo(Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        return getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get date range items
    *
    * @param offset The pagination offset, the index of the first date range that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHeadersAndHttpInfo(Integer offset, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarHeaderParams.putAll(customHeaders);
        return getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Get date range items
    *
    *
    * @return GetDateRangesOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetDateRangesOutputV1 getDateRanges() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get date range items
    *
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHttpInfo() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get date range items
    *
    *
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getDateRangesWithHeadersAndHttpInfo(Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return getDateRangesInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Get the content items that depend on a given date range
    *
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItemsForDateRange(String id, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        ApiClient.ApiResponse localVarResponse = getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get the content items that depend on a given date range
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHttpInfo(String id, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        return getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get the content items that depend on a given date range
    *
    * @param id The Seeq ID for the content (required)
    * @param offset The pagination offset, the index of the first content item that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHeadersAndHttpInfo(String id, Integer offset, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarHeaderParams.putAll(customHeaders);
        return getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Get the content items that depend on a given date range
    *
    * @param id The Seeq ID for the content (required)
    * @return GetContentItemsOutputV1
    * @throws ApiException if fails to make API call
    */
    public GetContentItemsOutputV1 getContentItemsForDateRange(String id) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Get the content items that depend on a given date range
    * @param id The Seeq ID for the content (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHttpInfo(String id) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Get the content items that depend on a given date range
    *
    * @param id The Seeq ID for the content (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentItemsForDateRangeWithHeadersAndHttpInfo(String id, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return getContentItemsForDateRangeInternal(id, localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional)
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports(List ownerIds, String nameSearch, Integer offset, Integer limit) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        ApiClient.ApiResponse localVarResponse = getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all reports that have notifications configured
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo(List ownerIds, String nameSearch, Integer offset, Integer limit) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of reports that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(List ownerIds, String nameSearch, Integer offset, Integer limit, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports(List ownerIds, String nameSearch, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        ApiClient.ApiResponse localVarResponse = getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all reports that have notifications configured
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo(List ownerIds, String nameSearch, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param offset The pagination offset, the index of the first reports that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(List ownerIds, String nameSearch, Integer offset, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports(List ownerIds, String nameSearch) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        ApiClient.ApiResponse localVarResponse = getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all reports that have notifications configured
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo(List ownerIds, String nameSearch) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param nameSearch Filter the reports to those that are part of a topic document with the provided name (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(List ownerIds, String nameSearch, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameSearch", nameSearch));

        localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports(List ownerIds) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        ApiClient.ApiResponse localVarResponse = getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all reports that have notifications configured
    * @param ownerIds  (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo(List ownerIds) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    * @param ownerIds  (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(List ownerIds, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerIds", ownerIds));

        localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all reports that have notifications configured
    *
    *
    * @return NotifiableReportOutputListV1
    * @throws ApiException if fails to make API call
    */
    public NotifiableReportOutputListV1 getNotifiableReports() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHttpInfo() throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all reports that have notifications configured
    *
    *
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getNotifiableReportsWithHeadersAndHttpInfo(Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return getNotifiableReportsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    *
    * @param reportId Report to retrieve content and date ranges for (required)
    * @return ContentWithMetadataListOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentWithMetadataListOutputV1 getContentsWithAllMetadata(String reportId) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = getContentsWithAllMetadataInternal(reportId, localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    * @param reportId Report to retrieve content and date ranges for (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentsWithAllMetadataWithHttpInfo(String reportId) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return getContentsWithAllMetadataInternal(reportId, localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Retrieves all pieces of content and date ranges associated with the given report with extra metadata attached
    *
    * @param reportId Report to retrieve content and date ranges for (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getContentsWithAllMetadataWithHeadersAndHttpInfo(String reportId, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return getContentsWithAllMetadataInternal(reportId, localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerFilter", ownerFilter));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerFilter", ownerFilter));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param ownerFilter The owner username to filter on. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, String ownerFilter, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "ownerFilter", ownerFilter));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param nameFilter The topic/worksheet name to filter on. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, String nameFilter, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "nameFilter", nameFilter));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param isEnabled If true, includes only items with enabled schedules. If false, includes only items with disabled schedules. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Boolean isEnabled, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "isEnabled", isEnabled));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param sortAsc If true or blank, sorts ascending. If false sorts descending. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Boolean sortAsc, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortAsc", sortAsc));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit, String sortBy) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit, String sortBy) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param sortBy A field by which to order the items'. Options: AverageRunTime, TotalRunTime, Name, Username, ContentCount, LastViewedAt, NextRunTime. Note: sorting by NextRunTime may be significantly slower than other options. (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, String sortBy, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "sortBy", sortBy));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset, Integer limit) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset, Integer limit) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param limit The pagination limit, the total number of collection items that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Integer limit, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "limit", limit));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types, Integer offset) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param offset The pagination offset, the index of the first collection item that will be returned in this page of results (optional)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Integer offset, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "offset", offset));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @return SchedulableAdminListOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableAdminListOutputV1 getSchedulableStatistics(List types) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        ApiClient.ApiResponse localVarResponse = getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a collection of statistics for scheduled items
    * @param types List of types to filter on (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHttpInfo(List types) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a collection of statistics for scheduled items
    *
    * @param types List of types to filter on (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableStatisticsWithHeadersAndHttpInfo(List types, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (types == null) {
            throw new ApiException(400, "Missing the required query parameter 'types' when calling getSchedulableStatistics");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "types", types));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableStatisticsInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    *
    * @param stat The stat to summarize by (optional)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @return SchedulableSummaryWeekOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableSummaryWeekOutputV1 getSchedulableSummary(String stat, String start) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "stat", stat));

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        ApiClient.ApiResponse localVarResponse = getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    * @param stat The stat to summarize by (optional)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHttpInfo(String stat, String start) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "stat", stat));

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        return getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    *
    * @param stat The stat to summarize by (optional)
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHeadersAndHttpInfo(String stat, String start, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        localVarQueryParams.addAll(apiClient.parameterToPairs("", "stat", stat));

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    *
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @return SchedulableSummaryWeekOutputV1
    * @throws ApiException if fails to make API call
    */
    public SchedulableSummaryWeekOutputV1 getSchedulableSummary(String start) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        ApiClient.ApiResponse localVarResponse = getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHttpInfo(String start) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        return getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Gets a summary of statistics for scheduled items across a week, with each day being separated into 24 buckets
    *
    * @param start The ISO Date string to start the summary from. The time must start at midnight on some day (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse getSchedulableSummaryWithHeadersAndHttpInfo(String start, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();

        if (start == null) {
            throw new ApiException(400, "Missing the required query parameter 'start' when calling getSchedulableSummary");
        }
        localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));

        localVarHeaderParams.putAll(customHeaders);
        return getSchedulableSummaryInternal(localVarQueryParams, localVarHeaderParams);
    }


    /**
    * Update a content item
    *
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @return ContentOutputV1
    * @throws ApiException if fails to make API call
    */
    public ContentOutputV1 updateContent(String id, ContentInputV1 body) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        ApiClient.ApiResponse localVarResponse = updateContentInternal(id, body, localVarQueryParams, localVarHeaderParams);
        return localVarResponse != null ? localVarResponse.getData() : null;
    }

    /**
    * Update a content item
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateContentWithHttpInfo(String id, ContentInputV1 body) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        return updateContentInternal(id, body, localVarQueryParams, localVarHeaderParams);
    }

    /**
    * Update a content item
    *
    * @param id The Seeq ID for the content (required)
    * @param body  (required)
    * @param customHeaders a map with custom headers for the HTTP request (required)
    * @throws ApiException if fails to make API call
    */
    public ApiClient.ApiResponse updateContentWithHeadersAndHttpInfo(String id, ContentInputV1 body, Map customHeaders) throws ApiException {
        List localVarQueryParams = new ArrayList();
        Map localVarHeaderParams = new HashMap();


        localVarHeaderParams.putAll(customHeaders);
        return updateContentInternal(id, body, localVarQueryParams, localVarHeaderParams);
    }

// OVERLOADS END
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy